HandyCafe Docs
owner cashier

Productos

La página de Productos gestiona el catálogo de artículos que su cibercafé o centro de gaming vende. Esto incluye comida, bebidas, bocadillos, accesorios y cualquier otro bien físico ofrecido a los clientes. Cada producto tiene un precio definido, categoría, tasa de impuesto y nivel de stock. Los productos se integran con el sistema de pedidos, permitiendo a los cajeros crear pedidos, hacer seguimiento de ventas y gestionar el inventario.

Campos del producto

Cada registro de producto contiene la siguiente información:

Campo Descripción
name El nombre del producto mostrado en la interfaz de pedidos. Debe ser único (sin distinción de mayúsculas).
category Una etiqueta de texto que agrupa productos relacionados (por ejemplo, "Bebidas", "Bocadillos", "Accesorios"). Se usa para filtrado y reportes.
unit La unidad de medida para el seguimiento de stock (por ejemplo, "pieza", "kg", "litro", "lata", "botella").
barcode Un valor de código de barras opcional para integración con escáner. Los cajeros pueden escanear el código de barras de un producto para agregarlo rápidamente a un pedido.
sale_price El precio de venta en unidades menores de moneda (por ejemplo, centavos). Este es el monto cobrado al cliente por unidad.
vat_rate El porcentaje de IVA aplicado a este producto (por ejemplo, 18 para 18% de IVA). Se usa para calcular el componente de impuesto de cada venta.
stock El nivel de stock actual como cantidad decimal. Se actualiza automáticamente cuando se realizan pedidos y cuando se registran compras de inventario.
active Un interruptor que controla si el producto aparece en la interfaz de pedidos. Los productos inactivos se ocultan de los cajeros pero se conservan en la base de datos para reportes históricos.
description Una descripción de texto opcional para detalles adicionales del producto.

Interruptor activo / inactivo

Los productos pueden alternarse entre estados activo e inactivo:

  • Los productos activos aparecen en la interfaz de pedidos y pueden agregarse a nuevos pedidos.
  • Los productos inactivos se ocultan de la interfaz de pedidos pero permanecen en la base de datos. Los pedidos anteriores que incluían el producto conservan sus referencias para que los datos históricos de ventas se preserven.

Esto es útil para artículos de temporada, productos descontinuados o artículos que están temporalmente agotados y no deben ofrecerse a los clientes.

Seguimiento de stock

HandyCafe mantiene un conteo de stock actualizado para cada producto. Este valor se actualiza automáticamente por el sistema en respuesta a:

  • Ventas: Cuando un producto se vende a través de un pedido, el stock disminuye por la cantidad pedida.
  • Compras de inventario: Cuando se recibe nuevo stock y se registra en la página de Inventario, el stock aumenta correspondientemente.
  • Ajustes manuales: Los cajeros o administradores pueden ajustar manualmente el nivel de stock para contabilizar desperdicio, roturas, errores de conteo u otras discrepancias.

Registro de stock del producto

Cada cambio en el nivel de stock de un producto se registra en el registro de stock del producto, creando una pista de auditoría completa:

Razón Descripción
sale El stock disminuyó por un pedido de cliente. Se vincula al registro de pedido específico.
purchase El stock aumentó por una compra de inventario. Se vincula a la entrada de inventario específica.
adjustment El stock fue ajustado manualmente por un cajero o administrador.
waste El stock disminuyó por desperdicio, rotura o baja.
return El stock aumentó por una devolución de cliente o cancelación de pedido.

Cada entrada del registro registra el cambio de cantidad (positivo para incrementos, negativo para decrementos), el nuevo nivel de stock después del cambio, quien hizo el cambio y una nota opcional explicando la razón.

Categorías de productos

Los productos se agrupan por categoría usando un campo de texto libre. Las categorías comunes incluyen:

  • Bebidas (refrescos, agua, bebidas energéticas)
  • Bebidas calientes (café, té, chocolate caliente)
  • Bocadillos (papas, dulces, barras de chocolate)
  • Comida (sándwiches, wraps, comidas calientes)
  • Accesorios (audífonos, memorias USB, alfombrillas de ratón)

Las categorías se usan para filtrado en la interfaz de pedidos. Los cajeros pueden cambiar rápidamente entre categorías para encontrar el producto correcto. Las categorías también sirven para agrupar en reportes de ventas.

No hay una interfaz de gestión de categorías separada. Las categorías se crean implícitamente cuando asigna un nombre de categoría a un producto. Para renombrar una categoría, actualice el campo de categoría en todos los productos que usan el nombre anterior.

Crear un producto

Para agregar un nuevo producto al catálogo:

  1. Navegue a la página de Productos desde la barra lateral.
  2. Haga clic en el botón Agregar producto en la barra de herramientas.
  3. Ingrese el nombre (debe ser único).
  4. Seleccione o escriba una categoría.
  5. Elija la unidad de medida.
  6. Establezca el precio de venta (el monto cobrado a los clientes, en unidades menores de moneda).
  7. Establezca la tasa de IVA (como decimal, por ejemplo, 0.08 para 8%).
  8. Opcionalmente ingrese un código de barras para soporte de escáner.
  9. Establezca el nivel de stock inicial si aplica.
  10. Haga clic en Guardar.

Editar un producto

Seleccione un producto de la lista para abrir su vista de detalle. Puede actualizar cualquier campo incluyendo nombre, precio, categoría, tasa de IVA, nivel de stock y estado activo. Los cambios toman efecto inmediatamente. Si actualiza el precio, el nuevo precio aplica a todos los pedidos futuros.

Los pedidos anteriores no se ven afectados por los cambios de precio. Cada artículo de pedido almacena el unit_price al momento de la venta como una instantánea.

Integración con pedidos

Cuando un cajero crea un pedido y agrega un producto:

  1. El precio de venta actual del producto y la tasa de IVA se copian al artículo del pedido como instantáneas.
  2. El total de línea se calcula como unit_price * qty.
  3. Cuando el pedido se completa, el nivel de stock del producto se decrementa por la cantidad pedida.
  4. Se crea una entrada de registro de stock con reason = 'sale' vinculada al pedido.

Si el pedido se cancela o reembolsa posteriormente, el stock puede restaurarse a través de una entrada de registro de stock de devolución.