Hoy, vamos a crear un sistema de inventario desde cero usando Google Apps Script. Vamos a construir tres formularios: uno para productos, otro para entradas y otro para salidas del inventario.
Video
1. Ingresar Productos
Crear la Hoja de Productos
- Crea una hoja llamada
Productos. - Define las columnas
ReferenciayProducto. - Añade un ejemplo de producto.
| Referencia | Producto |
|------------|----------------------|
| L001 | Hábitos Atómicos |
Crear el Formulario para Productos
- En una hoja de formulario (puede ser la misma hoja principal), define las celdas para
ReferenciayProducto. - Inserta un botón llamado «Guardar Producto».
Crear el Script para Guardar Productos
- Abre el editor de Google Apps Script.
- Crea una nueva función llamada
guardarProducto. - Conéctate con la hoja de productos y guarda los datos ingresados desde el formulario.
function guardarProducto() {
const libro = SpreadsheetApp.getActiveSpreadsheet();
const hojaFormulario = libro.getSheetByName("Formulario");
const hojaProducto = libro.getSheetByName("Productos");
const referencia = hojaFormulario.getRange("B2").getValue();
const nombre = hojaFormulario.getRange("B3").getValue();
hojaProducto.appendRow([referencia, nombre]);
hojaFormulario.getRange("B2").clearContent();
hojaFormulario.getRange("B3").clearContent();
}
Asignar el Script al Botón
- Haz clic en el botón y selecciona «Asignar secuencia de comandos».
- Introduce
guardarProductoy guarda.
2. Ingresar Entradas
Crear la Hoja de Entradas
- Crea una hoja llamada
Entradas. - Define las columnas
Referencia,Producto,UnidadesyFecha.
| Referencia | Producto | Unidades | Fecha |
|------------|------------------|----------|-------------|
| L001 | Hábitos Atómicos | 10 | 2023-01-01 |
Crear el Formulario para Entradas
- En la hoja de formulario, define las celdas para
Referencia,UnidadesyFecha. - Inserta un botón llamado «Guardar Entrada».
Crear el Script para Guardar Entradas
- En el editor de Google Apps Script, crea una nueva función llamada
guardarEntrada.
function guardarEntrada() {
const libro = SpreadsheetApp.getActiveSpreadsheet();
const hojaFormulario = libro.getSheetByName("Formulario");
const hojaEntradas = libro.getSheetByName("Entradas");
const referencia = hojaFormulario.getRange("B2").getValue();
const unidades = hojaFormulario.getRange("B3").getValue();
const fecha = hojaFormulario.getRange("B4").getValue();
const productos = hojaProductos.getDataRange().getValues();
const filaProducto = productos.findIndex(row => row[0] === referencia);
const producto = productos[filaProducto][1];
hojaEntradas.appendRow([referencia, producto, unidades, fecha]);
hojaFormulario.getRange("B2").clearContent();
hojaFormulario.getRange("B3").clearContent();
hojaFormulario.getRange("B4").clearContent();
}
Asignar el Script al Botón
- Haz clic en el botón y selecciona «Asignar secuencia de comandos».
- Introduce
guardarEntraday guarda.
3. Ingresar Salidas
Crear la Hoja de Salidas
- Crea una hoja llamada
Salidas. - Define las columnas
Referencia,Producto,UnidadesyFecha.
| Referencia | Producto | Unidades | Fecha |
|------------|------------------|----------|-------------|
| L001 | Hábitos Atómicos | 2 | 2023-01-02 |
Crear el Formulario para Salidas
- En la hoja de formulario, define las celdas para
Referencia,UnidadesyFecha. - Inserta un botón llamado «Guardar Salida».
Crear el Script para Guardar Salidas
- En el editor de Google Apps Script, crea una nueva función llamada
guardarSalida.
function guardarSalida() {
const libro = SpreadsheetApp.getActiveSpreadsheet();
const hojaFormulario = libro.getSheetByName("Formulario");
const hojaSalidas = libro.getSheetByName("Salidas");
const referencia = hojaFormulario.getRange("B2").getValue();
const unidades = hojaFormulario.getRange("B3").getValue();
const fecha = hojaFormulario.getRange("B4").getValue();
const productos = hojaProductos.getDataRange().getValues();
const filaProducto = productos.findIndex(row => row[0] === referencia);
const producto = productos[filaProducto][1];
hojaSalidas.appendRow([referencia, producto, unidades, fecha]);
hojaFormulario.getRange("B2").clearContent();
hojaFormulario.getRange("B3").clearContent();
hojaFormulario.getRange("B4").clearContent();
}
Asignar el Script al Botón
- Haz clic en el botón y selecciona «Asignar secuencia de comandos».
- Introduce
guardarSaliday guarda.
4. Verificar Inventarios
Crear la Hoja de Inventarios
- Crea una hoja llamada
Inventarios. - Define las columnas
Referencia,Producto,Entradas,SalidaseInventario.
| Referencia | Producto | Entradas | Salidas | Inventario |
|------------|------------------|----------|---------|------------|
| L001 | Hábitos Atómicos | 10 | 2 | 8 |
Calcular Entradas y Salidas
- Usa la función
SUMAR.SIpara calcular las entradas y salidas de cada referencia.
=SUMAR.SI(Entradas!A:A, A2, Entradas!C:C)
=SUMAR.SI(Salidas!A:A, A2, Salidas!C:C)
Calcular Inventario
- Calcula el inventario restando las salidas de las entradas.
=C2 - D2
Con estos pasos, tendrás un sistema básico de inventario para gestionar productos, entradas y salidas, todo desde un formulario centralizado utilizando Google Apps Script. Esto asegura la integr
idad de los datos y facilita el proceso de administración del inventario.
Conclusión
Hemos construido un sistema de control de inventarios utilizando Google Sheets y Google Apps Script. Este sistema incluye la gestión de productos, entradas y salidas, y permite calcular automáticamente el inventario actual.
Ventajas del Sistema
- Centralización: Todos los datos se ingresan desde un formulario centralizado, lo que reduce errores y facilita el uso.
- Automatización: Las operaciones repetitivas, como buscar productos y calcular inventarios, se realizan automáticamente mediante scripts.
- Flexibilidad: El sistema puede adaptarse fácilmente para incluir más detalles, como precios y categorías de productos.
Siguientes Pasos
- Mejorar la Interfaz: Añadir más validaciones y mejorar la presentación de los formularios.
- Añadir Características: Incluir campos adicionales como costos, categorías y proveedores.
- Reportes: Crear reportes automatizados que muestren estadísticas importantes, como ventas mensuales y niveles de inventario crítico.
Espero que este tutorial te haya sido útil y te invite a explorar más sobre Google Sheets y Google Apps Script.