Floural es una pequeña panadería y estudio de tortas que creció más rápido que su flujo de trabajo. La propietaria era el libro de recetas, la instructora, la jueza de tardanzas y la vigilante de vida útil — todo al mismo tiempo. Le construimos un POS que absorbió cada una de esas tareas, y algunas que ni siquiera sabía que necesitaba, para que un nuevo panadero pudiera trabajar un turno solo desde el primer día.
Todos fallaban de la misma manera: la panadería funcionaba cuando la propietaria estaba presente, y se paraba cuando no. El encargo era claro — sacar todo de su cabeza y meterlo en un sistema en el que el personal ya confíe.
Fotos de WhatsApp, un cuaderno maltratado y la memoria de la propietaria. Cada nuevo panadero significaba volver a enseñar el mismo chiffon desde cero — y ejecutarlo un poco distinto cada vez.
El personal se encogía de hombros y decía "parece fresco." Al final, los clientes ya no lo creían. Un mal retiro de crema se llevó las reseñas de un sábado entero.
Bizcocho, crema de mango, ganache — elaborados en lotes con su propia caducidad. El POS anterior los contaba como un solo número. Una crema de 6 días se retiraba antes que una de 2 días. El FIFO era algo así como una intuición.
El POS era una hoja de cálculo con disfraz. Las categorías no tenían color, los productos no tenían códigos cortos, la pantalla no tenía ritmo. Los nuevos empleados aprendían a base de errores — a costa del cliente.
La propietaria recordaba quién llegaba tarde. A veces. Las bonificaciones se convertían en negociaciones. La equidad se percibía, no se medía.
El cierre del día eran cuatro conciliaciones hechas a mano. El P&L por canal era un rumor, no un número.
Cada producto se construye a partir de componentes (bizcocho, crema, ganache) que a su vez se construyen a partir de ingredientes. Las recetas de la propietaria viven en la base de datos — una por cada componente, una por cada producto terminado — y una tarea de producción es simplemente "elige un componente, dale inicio."
El sistema muestra al panadero las cantidades exactas para el tamaño de lote elegido, deduce los ingredientes al completar la tarea con HPP promedio ponderado, y registra un nuevo lote de componente con su fecha de producción y caducidad. La receta es la fuente de verdad. La propietaria ya no es el cuello de botella.
MC-260422-A, vence el 25 abr 2026 21:00, ubicación Chiller 2.
Cada producto en exposición tiene su propio umbral de vida útil (tortas ≠ pasteles ≠ pan). Cuando una unidad se traslada a la vitrina, el contador arranca. La pantalla muestra una barra de color que avanza de verde a amarillo a rojo — el personal y la propietaria ven el mismo cuadro desde cualquier punto del local.
¿Llega al rojo? La unidad entra al registro de merma con una razón categorizada — nunca solo "descartado" — para que la propietaria pueda ver si se trata de sobreproducción, mal manejo o contaminación a lo largo del mes.
Cuando un panadero arma una torta terminada, el POS no pregunta "¿hay crema?" — toma el lote de crema con la caducidad más próxima que aún tenga suficiente cantidad, deduce de él, y registra qué lote integró la torta en la línea del pedido.
Si el panadero que ensambla anula el FIFO (raro, a veces justificado) queda registrado con un motivo. El desperdicio de un lote completo entra en la tabla de merma al HPP, no al precio de venta — la propietaria ve el costo real.
| Lote | Elaborado | Vence | Restante | Ubic. | Estado |
|---|---|---|---|---|---|
| MC-260420-B | 20 abr 06:30 | 23 abr 06:30 | 340 g | Chiller 1 | USAR PRIMERO |
| MC-260421-A | 21 abr 14:10 | 24 abr 14:10 | 1,820 g | Chiller 2 | EN COLA |
| MC-260422-A | 22 abr 09:05 | 25 abr 09:05 | 2,000 g | Chiller 2 | EN COLA |
Cada producto tiene un código corto de 2–4 letras, un color de categoría y una posición fija en la cuadrícula que la propietaria define. Los nuevos cajeros aprenden el diseño en una hora porque el diseño no cambia. La búsqueda es por código corto o por nombre — rápida para los habituales, amigable para los que están aprendiendo.
El cobro es una sola pantalla: productos, cliente (opcional, con puntos de fidelidad), método de pago (efectivo, QRIS, transferencia, GoFood, ShopeeFood, anticipo), listo. El cajón de efectivo se abre solo con efectivo; se calculan el importe entregado y el cambio; se imprime el recibo; el ID del pedido es la fecha más un número secuencial.
El personal registra su entrada con una selfie al inicio del turno (Pagi 07:00, Siang 15:00, Malam 21:00). El sistema lee el sello de tiempo, aplica la tolerancia configurada (5 min) y convierte cada minuto de exceso en "puntos de tardanza" según la tarifa que fija la propietaria — 1 punto por cada 5 minutos tarde, Rp 3.000 por punto.
A fin de mes, bonificación = base − (puntos de tardanza × penalización). La propietaria aprueba una sola vez. Los reclamos desaparecen porque el cálculo está en pantalla, con fotos.
Cada canal — dine-in, para llevar, GoFood, ShopeeFood, pre-order con anticipo — registra en la misma tabla de pedidos con una etiqueta de canal. El cierre del día es una pantalla, no cuatro. El P&L por canal es un filtro, no un proyecto.
Y la capa extra: puntos de fidelidad para clientes (1 por cada Rp 1.000 gastados, con vencimiento según la regla de la propietaria), registro de merma categorizado con pérdida estimada en Rp, stock de empaques que se descuenta automáticamente por venta, y un registro de auditoría global para que cualquier número en cualquier pantalla pueda rastrearse hasta una persona y un momento.
No bifurcamos un POS existente. Pasamos los primeros tres días en la panadería observando. El modelo de datos — tres niveles, lotes, FIFO, vida útil — estaba en la pizarra antes de escribir una sola línea de código.
Estuvimos en la panadería. Escribimos cada receta — bizcocho, crema, ganache, cada producto — en esquemas estructurados de componentes y productos. El modelo de datos se convirtió en el libro de recetas.
Construimos ingredients → components → products → shelf_items con tablas de lotes para los componentes e instancias en vitrina. HPP promedio ponderado en cada recepción y cada tarea de producción.
Pantalla de tareas de producción con la receta como lista de verificación. Umbrales de vida útil por producto (horas en verde/amarillo/rojo) vinculados a barras de color en tiempo real. Registro de merma con razones categorizadas.
Cuadrícula de fichas con códigos cortos, pedidos etiquetados por canal, cobro en una sola pantalla, flujo de anticipo más saldo para pre-orders. El cajero fue formado en 90 minutos con un guión de 1 página.
Asistencia por selfie, configuración de puntos de tardanza, borrador mensual de bonificaciones y flujo de aprobación. Cajón de efectivo con conciliación de apertura / ventas / pagos / cierre. Registro de auditoría en cada mutación.
Se contrató a dos panaderos sin experiencia previa como prueba. Ambos completaron un turno completo en solitario para el final de la semana — recetas desde la pantalla, FIFO desde la pantalla, decisiones de vitrina desde la pantalla. La propietaria se quedó en casa un sábado.
Sin deltas mensuales fabricados — el sistema está en etapa inicial de operaciones. Estos son los flujos de trabajo que pasaron de los hombros de la propietaria a la pantalla.
Cada receta en la base de datos, versionada. Los nuevos panaderos leen la pantalla, no a la propietaria.
Cuadrícula de fichas + códigos cortos + cobro en una pantalla. El nuevo empleado toma pedidos reales dentro de la primera hora.
Ingredientes → componentes → productos. Los lotes de componentes se consumen del más antiguo al más reciente, de forma automática.
Cada unidad en vitrina tiene una barra de color en tiempo real. "¿Se ve fresco?" se reemplaza por "¿está en verde?"
Minutos tarde → puntos de tardanza → deducción en Rp. Fotos y sellos de tiempo. La propietaria aprueba una sola vez.
Dine-in, GoFood, ShopeeFood y pre-order registran todos en la misma tabla de pedidos. El cierre del día es una pantalla.
Instalable en la tablet Android del personal. Sin framework — cada pantalla es un módulo JS que el sobrino de la propietaria (estudiante de informática) puede leer. El service worker mantiene el POS activo cuando el wifi falla.
Enrutamiento por acción (?action=), PDO nativo, JWT. Un esquema de 25 tablas cubre configuración, usuarios, productos/componentes/ingredientes con recetas, lotes, vitrina, asistencia, bonificaciones, empaques, merma y auditoría.
Ingredientes (crudos) → componentes (semielaborados, por lotes, con seguimiento de caducidad) → productos (terminados, vinculados a receta) → unidades en vitrina (con sello de tiempo al exponer). HPP promedio ponderado atraviesa cada capa.
Registro de entrada por selfie con detección de turno, tolerancia y penalización configurables, borradores mensuales de bonificaciones. Cajón de efectivo diario con apertura / ventas / pagos / cierre. Cada mutación en el registro de auditoría vinculada a usuario + IP.
Llamada de análisis gratuita. Le decimos qué vale la pena construir y qué no.