Inventarios con Google Apps Script y Google Sheets

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

  1. Crea una hoja llamada Productos.
  2. Define las columnas Referencia y Producto.
  3. Añade un ejemplo de producto.
| Referencia | Producto             |
|------------|----------------------|
| L001       | Hábitos Atómicos     |

Crear el Formulario para Productos

  1. En una hoja de formulario (puede ser la misma hoja principal), define las celdas para Referencia y Producto.
  2. Inserta un botón llamado “Guardar Producto”.

Crear el Script para Guardar Productos

  1. Abre el editor de Google Apps Script.
  2. Crea una nueva función llamada guardarProducto.
  3. 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

  1. Haz clic en el botón y selecciona “Asignar secuencia de comandos”.
  2. Introduce guardarProducto y guarda.

2. Ingresar Entradas

Crear la Hoja de Entradas

  1. Crea una hoja llamada Entradas.
  2. Define las columnas Referencia, Producto, Unidades y Fecha.
| Referencia | Producto         | Unidades | Fecha       |
|------------|------------------|----------|-------------|
| L001       | Hábitos Atómicos | 10       | 2023-01-01  |

Crear el Formulario para Entradas

  1. En la hoja de formulario, define las celdas para Referencia, Unidades y Fecha.
  2. Inserta un botón llamado “Guardar Entrada”.

Crear el Script para Guardar Entradas

  1. 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

  1. Haz clic en el botón y selecciona “Asignar secuencia de comandos”.
  2. Introduce guardarEntrada y guarda.

3. Ingresar Salidas

Crear la Hoja de Salidas

  1. Crea una hoja llamada Salidas.
  2. Define las columnas Referencia, Producto, Unidades y Fecha.
| Referencia | Producto         | Unidades | Fecha       |
|------------|------------------|----------|-------------|
| L001       | Hábitos Atómicos | 2        | 2023-01-02  |

Crear el Formulario para Salidas

  1. En la hoja de formulario, define las celdas para Referencia, Unidades y Fecha.
  2. Inserta un botón llamado “Guardar Salida”.

Crear el Script para Guardar Salidas

  1. 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

  1. Haz clic en el botón y selecciona “Asignar secuencia de comandos”.
  2. Introduce guardarSalida y guarda.

4. Verificar Inventarios

Crear la Hoja de Inventarios

  1. Crea una hoja llamada Inventarios.
  2. Define las columnas Referencia, Producto, Entradas, Salidas e Inventario.
| Referencia | Producto         | Entradas | Salidas | Inventario |
|------------|------------------|----------|---------|------------|
| L001       | Hábitos Atómicos | 10       | 2       | 8          |

Calcular Entradas y Salidas

  1. Usa la función SUMAR.SI para 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

  1. 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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This