📖 Ayuda del Sistema — FABAL FRIO

← Volver al POS

📋 Resumen general

Este es un sistema de Punto de Venta (POS) diseñado para operar en terminales locales. Funciona desde el navegador web y no requiere conexión a internet para las operaciones diarias.

Las principales áreas del sistema son:

💡 ¿Busca algo puntual? Use el índice de la izquierda. Todas las funciones del sistema están documentadas aquí: cómo vender, cobrar, aplicar promociones, armar productos, controlar stock, hacer inventarios, configurar impresoras y terminales, y las integraciones con SAP, cloud e inteligencia artificial.

🕐 Abrir / cerrar jornada

Antes de realizar ventas, es necesario abrir una jornada (turno). La jornada registra quién opera la caja y el efectivo inicial.

Abrir jornada

  1. En la pantalla del POS, haz clic en el botón Abrir Jornada que aparece en el centro.
  2. Selecciona el cajero de la lista.
  3. Ingresa el monto de efectivo inicial en la caja (fondo).
  4. Confirma para iniciar la jornada.

Cerrar jornada

  1. Haz clic en el ícono de jornada en la barra inferior.
  2. Ingresa el efectivo de cierre contado en la caja.
  3. Opcionalmente agrega notas del turno.
  4. Confirma el cierre. El sistema calculará automáticamente: total de ventas, transacciones, efectivo esperado y la diferencia.
💡 Tip: El efectivo esperado se calcula como: fondo inicial + pagos en efectivo recibidos − vueltos entregados.

🛒 Agregar productos al pedido

Hay varias formas de agregar productos al carrito:

Desde el catálogo

  1. Selecciona una categoría en la parte superior de la pantalla.
  2. Haz clic en el producto deseado en la grilla.
  3. El producto se agrega al carrito a la derecha.

Cada producto se comporta distinto según su tipo (el ícono lo indica):

Buscar productos

Usa la barra de búsqueda (🔍) en la parte superior para buscar por nombre, SKU o código. Los resultados se filtran en tiempo real. Al tocar el campo de búsqueda se abre automáticamente el teclado de texto en pantalla (si está habilitado).

Código de barras y balanza

Si tienes un lector de código de barras, simplemente escanea el producto. El campo de código de barras (fondo ámbar) está siempre activo y detecta la lectura al presionar Enter.

El sistema es inteligente al leer:

  1. Primero intenta interpretar el código como una etiqueta de balanza (formato con PLU + peso). Si coincide, busca el producto por su PLU y calcula el precio según el peso pesado (precio por kilo × peso).
  2. Si no es una etiqueta de balanza, hace una búsqueda normal por código de barras.
  3. Si no encuentra nada, muestra "Producto no encontrado para código: …".
💡 Tip: No necesitas hacer clic en ningún campo para escanear. El sistema captura automáticamente las lecturas del escáner y vuelve solo al campo de código de barras.

🧮 Producto por cantidad / peso

Algunos productos se venden por cantidad decimal (por ejemplo 0,5 · 1 · 1,15 · 2). Al tocarlos se abre un diálogo:

  1. Muestra el precio base por unidad.
  2. Ingresa la cantidad (acepta punto o coma como separador decimal) o usa los botones rápidos (0,5 / 1 / 1,15 / 1,5 / 2).
  3. Confirma con Enter o "Agregar al carrito". La línea cobra precio base × cantidad.

Estos productos se configuran en Admin → Productos por Cantidad (ver esa sección).

🧑‍🍳 Producto armado (asistente de preparación)

Los productos como helados, packs o combos se arman en la caja con un asistente por pasos que aparece en una ventana flotante (el carrito de fondo no se pierde).

  1. Toca el producto (marcado con 🧑‍🍳). Se abre el asistente.
  2. Avanza por los pasos eligiendo las opciones (base, sabores, endulzantes, toppings…). Según el paso, puedes elegir una opción, varias, o repetir la misma varias veces (con los botones + / −).
  3. El asistente valida los mínimos y máximos de cada paso (por ejemplo "elige exactamente 2", "hasta 3 toppings").
  4. Al final ves un resumen con el desglose y el total.
  5. Toca ✓ Confirmar para enviarlo al carrito.
💡 Tip: En el carrito, los productos armados se marcan con 🍦 y muestran su base y adicionales. Para vender otro igual usa el botón duplicar (⧉) en lugar de armarlo de nuevo.

🧾 Gestión del carrito

El carrito muestra el pedido actual (a la izquierda o derecha, según la configuración).

Abajo del carrito aparecen Subtotal, Descuento manual (si aplicaste uno), Promociones automáticas (🎁, con el detalle por promoción) y el Total. El botón "Cobrar $Total" expande u oculta los botones de pago para ganar espacio en pantalla.

💡 Tip: El total ya muestra en vivo el descuento que aplicarían las promociones al cobrar, así el cliente ve el precio final antes de pagar.

👤 Asociar cliente a la venta

Debajo del número de pedido hay un campo para asociar un cliente a la venta.

  1. Escribe el nombre o RUT del cliente (mínimo 2 caracteres).
  2. Se mostrará una lista de sugerencias de clientes registrados en el sistema.
  3. Selecciona el cliente de la lista usando el mouse o las teclas y Enter.
  4. Si el cliente no está registrado, puedes escribir su nombre manualmente como referencia.

Al seleccionar un cliente registrado, su ID queda vinculado a la venta para gestión futura y promociones. Los clientes VIP se marcan con una etiqueta especial.

Para quitar la selección, haz clic en el botón .

💰 Cobrar la venta

Cuando el pedido esté listo, procede al cobro. Hay varias formas de pago.

Pago rápido

Los medios marcados como "acceso rápido" aparecen como botones en el carrito:

Pago mixto (Checkout)

Usa el botón Cobrar / Checkout para combinar varios medios de pago en una misma venta. Con "+ Agregar medio de pago" añades filas; cada una con su medio, monto y referencia. El sistema valida que los montos cuadren.

Pago con terminal de tarjeta

Para medios conectados a un terminal físico (Transbank, MercadoPago, MP QR) el sistema:

  1. Abre un diálogo con los pasos del pago.
  2. Verifica que el terminal esté disponible antes de pedir la tarjeta.
  3. Muestra los mensajes en vivo del pinpad ("INSERTE TARJETA", "INGRESE CLAVE").
  4. Confirma la venta al aprobarse, o muestra el error.

El botón Cancelar aborta el cobro y devuelve el terminal a su estado normal.

Otros pagos

El menú 💼 Otros pagos en la barra inferior lista los medios que no son de acceso rápido.

Al completar la venta se muestra ✅ Venta Completada con el folio, el total y el vuelto. Desde ahí puedes 🖨️ Ver Boleta o iniciar una Nueva Venta.

⚠️ Importante: Debe haber una jornada abierta para poder cobrar ventas.

🏷️ Promociones en el POS

El menú 🏷️ Promociones → "Ver promociones activas" abre una tabla con las promociones vigentes. Cada una tiene un estado con semáforo:

La tabla tiene filtro de texto y muestra tipo, valor, código, días, horario, mínimo, vigencia y ahorro. Solo aparecen las promociones activas, dentro de fecha y del canal actual (normal o delivery).

✂️ Descuento manual

Además de las promociones, el cajero puede aplicar un descuento puntual a la venta:

  1. Abre el formulario de descuento manual.
  2. Elige el tipo: Porcentaje (ej. 10 = 10%) o Monto fijo (ej. 500 = $500).
  3. Aplica. El descuento nunca supera el subtotal, y el porcentaje debe estar entre 0 y 100.

El botón ✕ junto a "Descuento" en el carrito lo quita.

🛵 Modo Delivery

La caja puede operar en modo normal (mostrador) o delivery. Cada modo tiene sus propios productos y promociones, que no se mezclan.

⚠️ Importante: Para entrar a delivery debe estar habilitado en Admin → Configuración → Pantalla POS. Salir de delivery siempre está permitido.

🧾 Historial de ventas

Desde el POS accedes al historial de ventas, con dos pestañas: Historial de Venta y Jornadas.

La tabla muestra fecha, hora, folio, terminal, detalle, total y estado, con opción de ver la boleta. Puedes exportar a Excel (XLSX) o JSON. En la pestaña Jornadas ves los turnos con su diferencia de caja y puedes ver, imprimir o reenviar por correo el cierre Z.

🔄 Actualizar catálogo

El menú 🔄 Catálogo en la barra inferior permite traer los últimos productos, precios y promociones desde el servidor central:

💡 Tip: Si la sincronización automática está activa, la caja se actualiza sola cada cierto tiempo, pero solo cuando el carrito está vacío, para no interrumpir una venta.

⚙️ Menú de configuración

El ícono de engranaje ⚙️ en la esquina superior derecha abre el menú de configuración de la caja:

Las preferencias visuales se guardan en cada terminal. Un doble clic en el logo oculta o muestra la información del encabezado.

Tema claro / oscuro

Haz clic en el ícono 🌓 para alternar entre tema claro y oscuro. La preferencia se guarda automáticamente.

⌨️ Teclados en pantalla

Para usar el sistema con pantalla táctil, hay dos teclados en pantalla (se habilitan desde la configuración):

🔧 Panel de administración

Accede desde /admin o desde el menú de configuración → Gestión → Administración. Requiere perfil de administrador o root.

El menú lateral está organizado en grupos:

📦 Productos

Gestión completa del catálogo: crear, editar, desactivar. El formulario está organizado en cuatro pestañas:

La lista tiene buscador en vivo y muestra color, SKU, categoría, precio, costo, barras base, stock (físico/lógico, en rojo si ≤5), tipo, canal y estado. Eliminar equivale a desactivar (borrado lógico, se puede reactivar).

El sistema soporta tres tipos de producto, según cómo se vendan en el POS:

🟢 Crear un producto simple

Es el caso más común. El producto se vende tal cual, con un precio fijo.

  1. Ve a Admin → Productos.
  2. En el formulario "Nuevo Producto", completa los campos:
    • Nombre *: nombre visible en el POS.
    • SKU *: código interno único.
    • Categoría *: a qué categoría pertenece.
    • Tipo: selecciona Simple.
    • Precio: precio de venta (sin decimales en CLP).
    • Costo: opcional, para reportes de margen.
    • Código de barras: opcional, para lectura con escáner.
    • Tasa IVA: ej. 1900 = 19%, 0 = exento.
    • Stock inicial: cantidad física al momento de crear.
    • Color: color del botón en el POS.
    • Activo: marcar para que aparezca en el POS.
  3. Haz clic en Crear Producto.
💡 Tip: Si el producto se vende por código de barras (escáner), completa el campo Código de barras. Si se vende por balanza, asocia el SKU con el PLU configurado en Configuración → Balanza.
Crea "Ejemplo Bebida 500ml" en la categoría Ejemplos.

🔵 Crear un producto configurable

Un producto configurable tiene grupos de modificadores (ej. "Tamaño", "Sabor") con opciones que pueden ajustar el precio. Al agregarlo al carrito, el cajero elige las opciones.

  1. Crea primero el producto como en el caso simple, pero selecciona Tipo: Configurable.
  2. El precio base es el precio mínimo (sin modificadores). Las opciones pueden sumarle valor.
  3. Guarda el producto. Después abre Editar para definir los modificadores.
  4. En la edición, agrega grupos de modificadores:
    • Nombre del grupo: ej. "Tamaño", "Sabor", "Acompañamiento".
    • Mín / Máx: cuántas opciones del grupo se deben elegir (ej. 1/1 obligatorio uno, 0/3 hasta tres opcionales).
    • Orden: secuencia en la que se muestran al cajero.
  5. Para cada grupo, agrega opciones:
    • Nombre: ej. "Pequeño", "Mediano", "Grande".
    • Ajuste de precio: monto que se suma (o resta, con valor negativo) al precio base.
    • Por defecto: si la opción viene preseleccionada.

Ejemplo: Café configurable con base $1.500.

💡 Tip: Si Mín=1 y Máx=1 el cajero está obligado a elegir exactamente una opción del grupo. Si Mín=0 el grupo es totalmente opcional.
Crea "Ejemplo Café Configurable" con grupos Tamaño y Leche.

🟣 Crear un producto compuesto

Un producto compuesto (también llamado "master") se arma combinando productos reales: una base obligatoria tomada de una categoría, más adicionales opcionales tomados de otra categoría. Es ideal para productos como helados (vaso + sabores + toppings).

Pre-requisito: primero debes crear las categorías y productos que harán de base y de adicionales.

  1. Ve a Admin → Categorías y crea las categorías auxiliares con su rol:
    • Una categoría con rol composition_base (ej. "Sabores Helado"). Sus productos serán las bases válidas.
    • Una categoría con rol composition_addon (ej. "Toppings"). Sus productos serán los adicionales.
  2. En Admin → Productos, crea los productos que irán dentro de cada categoría auxiliar (ej. "Chocolate", "Vainilla" en Sabores; "Maní", "Salsa de fresa" en Toppings). Estos sí son productos simples con su propio precio.
  3. Crea el producto compuesto:
    • Tipo: Compuesto.
    • Categoría: la categoría visible donde aparecerá en el POS (ej. "Helados").
    • Precio: el precio del envase / cargo base. Los sabores y toppings suman su propio precio al total.
    • Categoría base (composite_base_cat_id): la categoría con rol composition_base.
    • Categoría adicionales (composite_addon_cat_id): la categoría con rol composition_addon.
  4. Guarda. Al tocar el producto en el POS se abrirá un asistente que pide elegir la base y luego permite agregar adicionales antes de mandarlo al carrito.

Ejemplo completo: "Vaso Doble"

⚠️ Importante: Las categorías base y adicionales deben tener su rol correctamente asignado. Sin ese rol, el POS no abrirá el asistente de armado.
Crea categorías Ejemplo Sabores + Ejemplo Toppings y el master "Ejemplo Vaso Doble".

🧮 Productos por Cantidad / precios por tamaño

Esta sección tiene dos módulos:

🍨 Precios de bases por tamaño

Para bases cuyo precio cambia según el tamaño del producto armado. Es una grilla donde cada SKU tiene un precio por columna: Simple, Mediano, Doble, Triple, ToGo Small, ToGo Big. El asistente elige la columna según el perfil de tamaño del master. Un precio en 0 elimina esa fila.

🧮 Productos por Cantidad (Factor)

Para productos vendidos por cantidad decimal (ej. 0,5 · 1,15). Se define un precio base por unidad; en el POS el cajero informa la cantidad y la línea cobra precio × cantidad. Un precio en 0 desactiva el modo cantidad.

🏷 Categorías

Organiza los productos en categorías. Cada categoría tiene nombre, rol (Normal / Base de composición / Addon de composición), color, ícono, orden y estado.

💡 Tip: Los roles "Base de composición" y "Addon de composición" son los que habilitan el armado de productos compuestos (ver Producto compuesto).

🎫 Descuentos y promociones

Motor completo de promociones. Tipos disponibles: compra X lleva Y (2x1, 3x2, 2ª unidad -%), porcentaje, monto fijo, por medio de pago, franja horaria (happy hour), día de la semana, cliente VIP, código promocional, N x precio fijo, 2ª unidad a $ fijo, descuento por cantidad y pack a $ fijo.

Hay tres formas de crear una promoción:

Además puedes usar el selector visual de alcance (con vista previa de cuántos productos coinciden), exportar/importar promociones entre locales (por SKU y nombre de categoría), desactivar todas y restaurar las plantillas por defecto.

👥 Clientes

Registro de clientes con nombre, RUT, email, teléfono y marcador VIP (usado por las promociones VIP). Los clientes registrados aparecen en el autocompletado del POS.

🧑‍🍳 Asistentes de venta

Convierten un producto "master" (helado, pack, combo) en una venta guiada por pasos. Es el motor detrás de los productos armados del POS.

  1. Crear: elige el producto master (o escribe un nombre), opcionalmente desde una plantilla. Se crea inactivo y abre el editor.
  2. Editor: define los productos master y los pasos de la preparación. Cada paso tiene título/ayuda, origen (una categoría completa o productos específicos) y opciones: obligatorio, permitir varios, repetible, se cobra, descuenta barras base, y cantidad total mín/máx (mín=máx exige una cantidad exacta).
  3. Los cambios se aplican al POS sin reiniciar.

📊 Inventario / Stock

Control del stock de productos:

📐 Inventario Conteo

Permite hacer inventarios físicos mediante plantillas.

  1. Plantillas (Admin): defines qué productos contar en cada plantilla, con nombre, descripción, estado (activa/visible) y orden.
  2. Conteo (menú ⚙️ → Inventario, o /conteo): eliges una plantilla activa e ingresas las cantidades. La coma es el único separador decimal (ej. "3,2"; el punto se rechaza). Un contador en vivo muestra "X de N contados".
  3. Borradores: el conteo se auto-guarda; al reabrir la plantilla se rellenan las cantidades del borrador (con opción de descartar).
  4. Finalizar: avisa cuántos ítems faltan (quedan en 0) y guarda el conteo.

El historial guarda los últimos conteos (Borrador o Finalizado). Los finalizados se pueden ver, imprimir y enviar por correo.

💰 Medios de pago

Define qué formas de pago se aceptan. Cada medio tiene código, etiqueta, ícono, color, terminal asociado (Sin terminal / Transbank / Mercado Pago / MP QR), orden, acceso rápido (botón en el POS) y solicitar referencia (pide un código al cobrar). Los medios que no son de acceso rápido aparecen en "Otros pagos" del POS.

💳 Terminales (Transbank / MercadoPago)

Paneles para operar y probar los terminales de tarjeta:

Los tokens e identificadores de cada terminal se editan en la configuración del sistema.

👤 Usuarios (cajeros)

Administra los usuarios que operan el sistema. Cada uno tiene nombre, PIN de acceso y estado activo/inactivo.

🕐 Jornadas

Historial completo de jornadas con estado, cajero, fechas, fondo inicial, ventas, transacciones, efectivo esperado, efectivo de cierre y diferencia. Permite ver/imprimir el cierre Z y reenviarlo por correo.

🧾 Folios

Control centralizado de la numeración de boletas (CAF). Muestra el próximo folio, los folios restantes (con %), el último emitido y alertas (agotados / quedan pocos). El formulario define folio inicial, final, actual y % de alerta.

⚠️ Importante: Reducir el "folio actual" dentro del mismo rango permitiría reemitir folios ya usados (prohibido por el SII). Ajusta el folio actual solo al cargar un rango nuevo.

⚙ Configuración

Configuración general del sistema, en cinco pestañas:

🛠 Herramientas

Control del sistema y operaciones de base de datos:

⬆️ Actualización

Actualización del programa a la última versión publicada:

🔄 SAP Hana

Conecta el POS con SAP Hana (Business One). La sección está organizada en pestañas:

💡 Nota: Un fallo de SAP Hana nunca invalida una venta ya realizada; la venta se puede reenviar después.

🔄 Sincronización SGO Cloud

Mantiene el catálogo actualizado en todas las cajas desde un servidor central (SGO Cloud / Azure SQL). Incluye:

☁️ SGO Cloud · Ventas y Envíos SAP Hana

SGO Cloud es la base central (Azure SQL) donde se consolidan los datos de todas las sucursales. Ofrece dos consolas (solo en modo cloud):

La consola de ventas permite:

🧠 Inteligencia Artificial

El sistema incluye ayudantes con inteligencia artificial (requieren configurar el modelo en Modelos IA):

📓 Bitácora

Un cuaderno interno para registrar avances del proyecto (features, correcciones, tareas, observaciones, hitos) con estado, prioridad, etiquetas y detalle. Incluye estadísticas y filtros.

📊 Panel de ventas (Dashboard)

Accede desde /panel. Muestra analítica de ventas con:

💾 Respaldo de datos

El sistema genera respaldos automáticos de la base de datos. También puedes crear un respaldo manual desde el menú de configuración de la caja (según tus permisos). El respaldo guarda ambas bases de datos (la transaccional y la maestra) con marca de tiempo, en la carpeta de respaldos.

⚠️ Importante: Realiza respaldos periódicos, especialmente antes de actualizaciones del sistema. Para restaurar, usa siempre el par de archivos generados en el mismo respaldo.
FABAL FRIO — Sistema POS · Ayuda del usuario