Resumen integrado
Dashboard Leche
Producción, tendencias y rendimiento de tu hato
Producción Leche
Corrales en el tiempo
Litros por corral según filtros activos.
Productividad por corral
L/vaca promedio · mayor a menor.
Registros capturados
Ordenado por fecha más reciente · solo lectura
| # | Fecha | Lote | AM (L) | PM (L) | Total (L) | Saldo L | Vacas | L/Vaca | |
|---|---|---|---|---|---|---|---|---|---|
| Sin registros capturados aún. | |||||||||
Lectura del período
Análisis automático sobre el filtro activo del dashboard.
Producción de Leche
Litros AM, PM y corrales en cada jornada
Corrales
🛖🌾Registros capturados
Ordenado por fecha más reciente
| # | Fecha | Lote | AM (L) | PM (L) | Total (L) | Saldo L | Vacas | L/Vaca | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Sin registros capturados aún. | ||||||||||
Stock de Leche
Entradas, salidas y saldo disponible · Bodega Principal
Trazabilidad por día
| # | Fecha | Entrada (L) | Uso queso (L) | Venta directa (L) | Descarte (L) | Saldo (L) |
|---|---|---|---|---|---|---|
| Sin datos de stock aún. | ||||||
Todos los movimientos
| # | Fecha | Tipo | Litros | Lote | Referencia | Notas | |
|---|---|---|---|---|---|---|---|
| Sin movimientos registrados. | |||||||
Dashboard Ventas
Analiza ventas y cartera de tu quesería
Ventas
Productos
Participación por USD.
Clientes
Ranking, concentración y cartera.
Ventas capturadas
Ordenado por fecha más reciente
| # | Fecha | Cliente | Producto | Lote | Total | Saldo | |
|---|---|---|---|---|---|---|---|
| Sin ventas capturadas aún. | |||||||
Lectura del período
Análisis automático sobre el filtro activo del dashboard.
Dashboard Queso
Producción, eficiencia y tendencias de tu quesería
Producción Queso
Lotes de queso capturados
Ordenado por fecha más reciente
| # | Fecha | Producto | Lote | Libras | L/lb | |
|---|---|---|---|---|---|---|
| Sin lotes capturados aún. | ||||||
Lectura del período
Análisis automático sobre el filtro activo del dashboard.
Producción de Queso
Registra producción y actualiza tu stock al instante
Registros de Producción
Ordenado por fecha más reciente
| # | Fecha | Lote | Producto | Leche (L) | Prod. (lb) | Conv. L/lb | L. Leche | Saldo (lb) | Saldo (L) | Observación | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sin lotes registrados aún. | ||||||||||||
Ventas
Genera guía, descuenta stock y registra el abono
Historial de ventas
Ordenado por fecha · clic en fila para ver detalle
| # | Fecha | Lote | Cliente | Producto | Canal | Guía | Cantidad | Precio unit. | Total | Abono | Saldo | Estado | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sin ventas registradas. | ||||||||||||||
Cobranza
Registra abonos y lleva el saldo de cada cliente
Cartera
Agrupado por cliente · clic en fila para expandir
| # | Fecha ▼ | Lote | Producto | Guía Remisión | Cantidad | Total | Abono | Saldo | Estado | |
|---|---|---|---|---|---|---|---|---|---|---|
| Sin ventas registradas. | ||||||||||
Historial de Pagos
Ordenado por fecha más reciente
| # | Fecha | Cliente | Guía | Lote | Monto | Método | Observación | Saldo post-pago | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Sin pagos registrados aún. | ||||||||||
Inventario
Balance de inventario actualizado con cada movimiento
Balance por producto
Stock teórico · clic en fila para ver detalle por lote
| # | Producto | Entradas (lb) | Salidas (lb) | Balance (lb) | Lotes activos | Movs. | Último mov. |
|---|
Movimientos
Historial filtrado · clic para ver detalle
| # | Fecha | Producto | Tipo | Bodega | Cantidad (lb) | Lote | Referencia |
|---|
Stock por Bodega
Inventario físico por ubicación · producción + traslados − ventas
Traslados entre bodegas
Salidas documentadas · número secuencial TRF-XXXX
| # | Documento | Fecha | Producto | Ruta | Cantidad | Observaciones |
|---|
Guías de Remisión
Documentos de venta · anulación con reverso automático de stock
| # | Fecha | N° Guía | Cliente | Producto | Lote | Canal | Cantidad | P.Unit | Total | Saldo | Est. Pago | Est. Doc | Acción |
|---|
Ajustes de Leche
Ventas directas, descartes y correcciones · unidad: litros · solo movimientos manuales
Reportes
PDF, Excel y resúmenes de tu operación
Configuración
Sesión activa · roles · sincronización · respaldos
Sesión activa
AuthNiveles de acceso
SistemaTema visual
Elige el estilo de la interfaz. Se guarda en este dispositivo.
Tema actual: Clásico
Estado de colecciones
Registros vivos en memoria, fuente activa y rango de fechas por coleccion.
Anomalias de datos
Escaneo solo lectura contra el espejo local sincronizado desde Firestore: fechas, productos, clientes, campos vacios, valores imposibles y duplicados.
Alertas de calidad registradas
Eventos persistidos en dataQualityIssues. Las anomalias del escaneo son diagnostico del espejo Firestore sincronizado; estas alertas son documentos guardados en la nube.
¿Tienes un archivo de respaldo descargado anteriormente? Impórtalo aquí para añadirlo a la lista.
Selecciona el período y se exportarán todos los registros de leche, queso, ventas, pagos e inventario dentro de ese rango. Los catálogos (productos, clientes, canales) se incluyen completos.
No descarga datos al guardar. Solo define el inicio del bootstrap si un navegador no tiene cache local completa.
Herramientas avanzadas: rescatar período específico
Úsalo solo para soporte o corrección histórica. Delta sync es la acción diaria recomendada para Spark.
Busca los lotes de producción de queso de una fecha. Selecciona el lote a eliminar y revisa el impacto antes de confirmar. La operación es atómica e irreversible: elimina el lote, las ventas directamente ligadas (batchId) y todos los movimientos de inventario asociados.
firestore.rules y se redespliegan.
| Colección | Admin | Operativo | Ingreso datos | Gerencial |
|---|---|---|---|---|
| Producción leche | ||||
| dailyProduction | CRUD | CRUD | CRUD | R |
| corralProduction | CRUD | CRUD | CRUD | R |
| Queso | ||||
| cheeseBatches | CRUD | CRUD | CRUD | R |
| cheeseSales | CRUD | CRUD | CRUD | R |
| cheesePayments | CRUD | CRUD | CRUD | R |
| cheeseInventoryMovements | CRUD | CRUD | CRUD | R |
| Catálogos | ||||
| customers | CRUD | CRUD | CRUD | R |
| products | CRUD | CRUD | CRUD | R |
| salesChannels | CRUD | CRUD | CRUD | R |
| reasons | CRUD | CRUD | CRUD | R |
| Sistema | ||||
| imports / kpi | CRUD | CRUD | CRUD | R |
| audit_logs | CRUD | C | C | C |
| backups | CRUD | — | — | — |
| config / períodos | CRUD | R | R | R |
| config / permisos | CRUD | R | R | R |
¿Qué es la semilla y qué hace exactamente?
La semilla toma los archivos de datos JSON que viven dentro del proyecto (producciones, ventas, lotes, clientes, catálogos) y los sube como documentos reales a tu Firestore en la nube — pero dentro del espacio sandbox org: demo / farm: test, completamente separado de los datos de producción de EFAP.
Enviar semilla al sandbox
Solo funciona cuando estás logueado con una cuenta de entorno sandbox (ej: demo_avelser@tzero2.com). Si estás en producción, este botón no hace nada para proteger tus datos reales.
El límite controla cuántos registros se suben por colección.
Editando producto
Nuevo producto
Editando bodega
Nueva bodega
Editando canal
Nuevo canal
Escribe secuencialmente en la colección caseria de Firebase.
Cada pulsación genera el siguiente ID en la secuencia y registra el resultado en la matriz.
Matriz de escrituras
Sin registros — presiona + Agregar para empezar.
| Registro | Hora | Estado |
|---|
Guía de pruebas
- Activa el Switch "Solo Firebase". Esto corta el puente a localStorage — todas las escrituras van directo a Firestore, sin red de seguridad local.
- Presiona + Agregar varias veces. La matriz debe mostrar Firebase ✓ en cada fila.
-
Abre la consola de Firebase → Firestore → colección
caseriay confirma que los documentoscaseria_01,caseria_02… aparecen con su timestamp. - Resultado esperado: escritura confirmada extremo a extremo. El switch demostró que cuando Firebase está disponible, la ruta directa funciona.
- Con el switch todavía activo, presiona 🎭 Sinderella. El botón se pone rojo: Firebase queda bloqueado a nivel de módulo — simula una caída real del servicio o error de permisos.
- Presiona + Agregar de nuevo. La matriz mostrará Error ✗ con el mensaje "Sinderella activa — Firebase bloqueado".
-
Ve a Firebase → colección
caseria: el documento no existe. El dato se perdió en el aire. No llegó a Firestore, no quedó en localStorage. - Este es el hueco real: sin una cola de escritura pendiente, cualquier fallo de Firebase entre el botón y Firestore significa pérdida silenciosa.
Presiona 🧹 Limpiar todo: borra todos los documentos
de la colección caseria en Firebase que hayan llegado correctamente,
limpia la matriz y reinicia el contador a caseria_01.
Puedes correr el ciclo completo las veces que necesites.