Camilo Castro
Todo el trabajoCaso 05 / 05

Inventario Materia Prima Sistema para cliente

Inventario de materia prima para una panificadora

Stock en tiempo real en las bodegas de la fábrica: entradas con IVA por línea, salidas validadas, conteos físicos, anulaciones con reversión automática, auditoría completa y reportes en Excel y PDF con la marca de la empresa.

  • Dos unidades por producto — cómo se compra y cómo se cuenta — con factor de conversión, y productos por peso que se descuentan por kilo.
  • Cinco roles, de administrador a visor de solo lectura; las correcciones del admin a conteos pasados se aplican como deltas para no pisar movimientos posteriores.
  • Las bodegas son datos: el admin las crea desde la interfaz, cada una con su paleta de color y acceso por usuario.
Cliente
Industria Bizcopan Zapatoca — bodegas de panadería y pastelería
Rol
Desarrollador único
Año
2026 En producción
Tecnologías
  • Next.js 14
  • React 18
  • TypeScript
  • Drizzle ORM
  • Turso (libSQL)
  • JWT (jose)
  • CSS Modules
  • jsPDF
  • xlsx-js-style
Pantalla de stock actual de la bodega de panadería: totales por estado y una tabla de productos con stock, mínimo, diferencia y estado.
Diálogo de entrada en modo detallado: número de factura, proveedor y líneas de producto con cantidad, unidad e IVA.

El encargo

Harina, mantequilla, empaques y todo lo que hay en medio viven en dos bodegas: panadería y pastelería. Las entradas llegan con facturas de proveedores; las salidas van a producción, empaque o punto de venta.

El sistema tenía que ser rápido de operar en una tablet, estricto con el stock y transparente con cada corrección.

Lo que construí

  • Stock actual con estados Normal / Bajo / Crítico e historial por producto
  • Entradas con folio de factura obligatorio, IVA por línea y auditoría de ediciones
  • Salidas validadas contra el stock disponible antes de guardarse
  • Ajustes en lote por conteo físico: sistema → físico → diferencia
  • Catálogo de reportes con periodos rápidos y exportación a Excel y PDF con membrete
  • Formatos imprimibles en blanco para conteos y salidas a mano

Por dentro

  1. Anular es un movimiento, no un borrado

    Anular una entrada o una salida registra su reversión y restituye el stock, así el historial queda completo.

  2. Correcciones como deltas

    Corregir un conteo mal digitado aplica la diferencia y sincroniza su movimiento en vez de sobrescribir el stock, así las entradas y salidas posteriores se conservan.

  3. SQLite en desarrollo, Turso en producción

    Un solo esquema de Drizzle: un archivo local mientras se construye y libSQL en el edge en producción.

  4. Sembrado con el catálogo real

    168 materias primas reales se cargaron al instalar, así el equipo arrancó con su propia lista de productos y no con una pantalla vacía.

Galería

Dónde está hoy

Desplegado en Vercel con Turso y documentado en un manual de usuario para el equipo de bodega. La versión 2 agregó bodegas creadas desde la interfaz y acceso por usuario.

Las pantallas vienen del manual de usuario del sistema, capturadas con datos de demostración.