Click en una fila para ver el detalle por terminal
Cuenta
Descripción
LotoBet
SJ
Diferencia
TOTAL
—
—
—
N Dias Sin Cuadrar
Agrupado por Días Sin Cuadrar
Click en una fila para ver el detalle de terminales
Días Sin Cuadrar
Cantidad Terminales
Monto Total
📉 Zonas en Caída
Vista📉 Zonas en Caída📊 Tendencias⚡ Todo
Zonas
Zona
Terms (caída/total)
Venta previa
Venta actual
Δ
Δ%
Estado
Terminales con mayor caída
Terminal
Zona
Agencia
Venta previa
Venta actual
Δ
Δ%
Alerta Tesoreria
EmpresaTodasRealLTK
EstadoTodosRojoVerdeSin Datos
Excedido por Tesoreria
Estado General
Estado de Tesorerias
Semaforo
Terminal
Grupo
Empresa
Dato del
Fondo Asignado
Saldo Inicial
Saldo Actual
Excedido
Monto a Reponer
Total Depositado
Cierre del día
Dif. Depósito
Alertas Ventas x Tickets
Terminales con tickets < 25% de su promedio fijo (dia o dia anterior)
Sugerencias
Buzon de Sugerencias
Importar Resumen Ventas - Loteka
Importar Resumen Ventas Loteka
Sube el archivo CSV (LTKResumenVentasV4Api) y selecciona la fecha del reporte.
Historial de Importaciones
Cargando...
Importar Resumen Ventas - Real
Importar Resumen Ventas Real
Sube el archivo CSV (LTKResumenVentasV4ApiREAL) y selecciona la fecha del reporte.
Historial de Importaciones
Cargando...
Comparativo Ventas vs Promedio
Resumen por Zona
Selecciona sistema y fecha, luego haz click en Consultar
Comparativo Dia/Mes/Ano
ⓘ Default = ayer. El dia de hoy esta en produccion y no tiene cierre, por eso por defecto se compara ayer vs antier (o ayer vs el periodo anterior segun la opcion).
Actual vs Anterior por Zona
Top 10 Mayor Crecimiento
Detalle por Zona
Historico de Ventas por Usuario
Periodo
Tradicional
No Trad
Recargas
Raza
Total
Busca una terminal o nombre para ver el historico de ventas
Premios
Premios Tradicional por Rango
Premios No Tradicional por Rango
Tradicional — Por Rango
Tradicional — Premios por Producto
No Tradicional — Por Rango
No Tradicional — Premios por Producto
Manual Fuente de Datos
Documentación completa de dónde vienen los datos que se muestran en cada pestaña del sistema, cómo se calculan las fórmulas, y con qué frecuencia se refrescan.
1. Auto Reporte CEO
Fuente:resumen_ventas_ltk (automatico, cada hora) + promedio_ventas_por_producto
Frecuencia: Se actualiza cada hora. Dia cerrado usa consolidado, dia en curso usa ultimo snapshot horario.
Metrica
Formula
Descripcion
Cant Terminal
COUNT terminales con venta o promedio > 0
Total de terminales en la zona (excluye las que tienen todo en 0)
Ag. Cumplimiento
COUNT terminales donde venta_hoy >= promedio Y promedio > 0
Cantidad de agencias que vendieron igual o mas que su promedio individual
% Agencias
Ag. Cumplimiento / Terminales con promedio * 100
Porcentaje de agencias que cumplieron. Verde >= 50%, Rojo < 50%
% Cumpl. Zona
SUM(ventas zona) / SUM(promedios zona) * 100
Rendimiento de la zona como un todo. Verde >= 100% (cumplio), Rojo < 100%
Productos: Tradicional (venta_loteria vs prom_trad), No Tradicional (venta_lot vs prom_no_trad), Paquetico (venta_recarga_paquetico vs prom_paquetico), Raza (ventas_externa vs prom_raza), Total (venta_total vs prom_total)
Exclusiones: SH SALCEDO y TESORERIA CENTRAL no se incluyen en ningun calculo.
Terminales duplicadas (Raza): Algunas terminales tienen 2 filas. Se usa MAX(ventas_externa) y SUM(venta_total) por terminal para evitar duplicacion.
sugerencias (tabla interna; ingresos y estados via POST)
/api/sugerencias (GET/POST)
Manual
Manual Fuente de datos
Este documento. Estático en el HTML.
—
—
Fuente principal validada:resumen_ventas_ltk (ventas x terminal). Todos los reportes de Dashboard parten de esta tabla + complementos.
Convenciones visuales: Verde = cumplió/positivo. Rojo = no cumplió/negativo. Púrpura ✏️ = clasificación manual aplicada por admin (TAP). Gris N/A = sin promedio de referencia (Gerencia debe asignar).
7. Flujo de datos: del origen al dashboard
Cómo llega la información al sistema antes de ser consultada desde los endpoints:
CSVs de Lotobet (ventas/operación): llegan vía SFTP del proveedor a /opt/lotobet/data/incoming/<Tabla>/. El daemon ingest.py corre c/5 min, detecta archivos nuevos, valida formato y hace COPY a PostgreSQL. Archivos procesados se mueven a procesados/.
Formato dual (es_consolidado): cada tabla tiene snapshots por hora (es_consolidado=false, archivos YYYY-MM-DD_HH-MM.csv) + consolidado diario final (es_consolidado=true, archivo YYYY-MM-DD.csv). Los endpoints prefieren true con fallback a false para el día en curso.
SJ (contabilidad externa): daemon sj_sync.py llama c/5 min al API REST apisj.azurewebsites.net (endpoints EntradasDiario, MovInventario, CatalagoCta, ConsultaCentroCostos) con ventana deslizante de 7 días para capturar cargas retrasadas o editadas. Upsert en sj_entradas_diario, sj_mov_inventario, sj_catalogo_cuentas, sj_centros_costo.
Promedios y referencias históricas: tabla promedio_ventas_por_producto (meta por terminal, join por terminal o terminal_ant); historico_ventas_usuario cargado desde CSV del DW Colombo + auto-generador diario (auto_generate_historico()) para los últimos 7 días.
Alertas automáticas por correo (Resend API):
alerta_archivos.py — diario 05:00 — valida que llegaron los CSVs de cierre.
alerta_tesoreria.py — c/5 min — detecta tesorerías con consumo ≥70% del límite diario.
Clasificación manual admin: tabla mov_tesoreria_clasif_manual permite override por numero_movimiento sobre la clasificación automática del TAP. Se aplica en cruce por categoría + detalle individual.
Infraestructura: VPS + 3 contenedores Docker (lotobet-db con TimescaleDB pg16, lotobet-api FastAPI con supervisord, lotobet-nginx con TLS Let's Encrypt). DB con 29+ tablas, 75M+ filas, 7 hypertables.
8. Concepto técnico clave: es_consolidado
Las tablas ingestadas desde CSV tienen dos versiones del mismo día:
Valor
Archivo origen
Frecuencia
Uso
es_consolidado = false
YYYY-MM-DD_HH-MM.csv
~16 archivos/día (08-20h)
Vista "en vivo" del día en curso
es_consolidado = true
YYYY-MM-DD.csv
1 archivo/día (cierre ~03:00)
Totales oficiales finales
Regla en endpoints: preferir es_consolidado=true (totales oficiales). Si está vacío (día actual aún no cerrado), fallback al último snapshot es_consolidado=false.
⚠️ Importante: sumar ambos produce valores duplicados (~2x). Todos los endpoints del sistema filtran correctamente; NO consultar directamente la tabla sin filtrar.
Auto Reporte CEO
ⓘ Reporte de un solo día. Compara las ventas de un día contra el promedio histórico de cada terminal.
Tendencia de ventas — últimos días
Línea azul = ventas totales del día. Línea punteada naranja = meta diaria (suma de promedios). Zona verde por encima de meta, rosa por debajo.
Selecciona sistema y fecha, luego Consultar
Ventas por Sucursal y Categoría — Año / Mes / Zona
Cargando...
Dashboard Ejecutivo
Venta Tradicional
Venta No Tradicional
Venta Recarga
Venta Raza
Ventas Totales
eficienciatrd por Mes
eficiencianotrd por Mes
eficienciarec por Mes
efiraza por Mes
eficiencia por Mes
Auto Comparativo Ventas
ⓘ Reporte de un solo día. Compara cada terminal vs su promedio histórico de referencia.
Resumen por Zona (Auto)
Selecciona sistema y fecha, luego Consultar
Ventas 0
Alertas de terminales sin ventas (DW Colombo)
Tendencia de alertas por día
Top zonas con alertas
Distribución por zona (top 8)
Heatmap día × hora del corte
Cargando...
Terminales recurrentes (más días distintos sin ventas)
Cargando...
Detalle de alertas
Cargando...
Comparativo Producto V2
Por Zona
Selecciona sistema y fecha, luego Consultar
Pivot por Zona / Terminal / Loteria
Consultar para cargar
Importar Archivos Extras
Tickets Rapidita
Tickets Chance Real
Resumen Ventas Real V2
Historial Rapidita
Cargando...
Historial Chance Real
Cargando...
Historial Resumen V2
Cargando...
Ventas por Producto V2 - LTK
Importar Ventas por Producto - Loteka
Sube el archivo CSV de Ventas por Producto (Entidad, Loteria, Producto, Tipo, Ventas, Premios, Pagos).
Historial de Importaciones
Cargando...
Ventas por Producto V2 - Real
Importar Ventas por Producto - Real
Sube el archivo CSV de Ventas por Producto (Entidad, Loteria, Producto, Tipo, Ventas, Premios, Pagos).
Historial de Importaciones
Cargando...
Reporte Gerencial CEO
Selecciona sistema y fecha, luego Consultar
Administración · Usuarios
Usuarios del sistema
Usuario
Nombre
Email
Roles
Activo
Último login
Acciones
Nuevo usuario
Administración · Roles y permisos
Marca las vistas que cada rol puede ver. El rol admin tiene acceso a todo y no se puede editar.