Guía de uso
Reports
Reports turn orders, tasks, billing, and production data into exportable operating indicators.
Intención de la página
The intent of Reports is to convert operational activity into reviewable indicators for decisions.
Contexto para soporte
For a metric mismatch, include the date range, filters, expected value, and the exported file if one was generated.
Cómo funciona
Reports works by reading data already captured in operational modules. Users choose date ranges, filters, and report categories to evaluate orders, tasks, billing, inventory, or production performance.
The page is only as useful as the data entered upstream. If orders, tasks, or invoices are incomplete, the report should lead the user back to the source module instead of hiding the gap.
The Operations overview tab explains current period performance: sales, costs, net profit, paid orders, operational counters, sales by day, products sold, and materials used. This is the daily management view.
The Client growth tab explains customer behavior over time: growth, retention, churn, sales efficiency, financial health, and concentration risk. This is the strategic review view.
Exports and summaries support management review outside the app. The user can compare operational periods, spot mismatches, and prepare evidence without creating manual spreadsheets from scratch.
Botones y acciones
| Acción | Qué hace |
|---|---|
Operations overview | Shows the operating dashboard for the selected range. |
Client growth | Shows customer-growth KPIs, targets, and concentration risk. |
Dashboard | Displays KPI cards, quick analysis, and sample charts from backend data. |
Excel downloads | Switches to downloadable operational files for the selected range. |
Search | Runs the report with the selected filters. |
Clear | Resets report filters. |
Export CSV | Downloads report data for analysis outside Ballista. |
Export PDF | Creates a shareable report snapshot when available. |
Create Ticket | Abre una solicitud de soporte con esta página ya adjunta como contexto. |
Ejemplos operativos
Ejemplo 1: gerencia quiere ver ventas por periodo. Reports toma datos de pedidos/facturación y los presenta como resumen y exportacion.
Ejemplo 2: si una métrica no coincide, el primer paso es revisar filtros y rango de fechas; después se vuelve al módulo fuente que alimenta el reporte.
Ejemplo 3: para una reunion, Export CSV permite llevar datos a una hoja externa sin convertir Ballista en una herramienta manual de spreadsheets.
Ejemplo 4: si Ventas del periodo sube pero Flujo de caja no sube, el negocio vendio pero no necesariamente cobro. Revisa Pedidos pagados y Cuentas por cobrar.
Ejemplo 5: si Top materiales por costo muestra un insumo alto, revisa Inventory, Lots y Compound products antes de subir precios o culpar ventas.
Ejemplo 6: si Concentracion top cliente es alta, usa el reporte para abrir conversación comercial: proteger ese cliente y buscar nuevos ingresos.
KPIs del reporte
Cada KPI debe leerse con el rango de fechas visible. Si el número no coincide con la operación, valida primero el módulo origen: pedidos, facturación, inventario, lotes o clientes.
Definición: Total vendido dentro del rango de fechas seleccionado.
Fórmula: SUM(total de pedidos/facturación en periodo)
Ejemplo: Del 01/04/2026 al 23/04/2026 se venden CRC 4,805,570.
Uso en Ballista: Se usa para validar si el periodo está generando movimiento comercial antes de revisar productos, clientes o descargas.
Gráfico de ejemplo
Semana 1
CRC 1.2M
Semana 2
CRC 2.0M
Semana 3
CRC 4.8M
Definición: Costo acumulado de materias primas, insumos o movimientos usados para producir/vender en el rango.
Fórmula: SUM(costos asociados al periodo)
Ejemplo: Si se usaron materias primas por CRC 42,668.05, ese monto aparece como costo del periodo.
Uso en Ballista: Ayuda a revisar si el margen se está leyendo con costos reales y no solo con ventas.
Gráfico de ejemplo
Harina
CRC 18K
Empaque
CRC 9K
Otros
CRC 15K
Definición: Diferencia entre ventas y costos para el rango consultado.
Fórmula: Ventas del periodo - Costos del periodo
Ejemplo: CRC 4,805,570 - CRC 42,668.05 = CRC 4,762,901.95.
Uso en Ballista: Se utiliza como lectura rapida de salud financiera. Si parece incorrecta, revisa ventas, costos y registros origen.
Gráfico de ejemplo
Ventas
100%
Costos
1%
Ganancia
99%
Definición: Relacion entre pedidos marcados como pagados y pedidos analizados en el rango.
Fórmula: Pedidos pagados / Pedidos analizados
Ejemplo: 100/304 significa que 100 pedidos están pagados de 304 pedidos revisados.
Uso en Ballista: Sirve para detectar cobros pendientes y decidir si se revisa Billing, Orders o cuentas por cobrar.
Gráfico de ejemplo
Pagados
100
Pendientes
204
Definición: Cantidad de intentos de inicio de sesión registrados para el periodo.
Fórmula: COUNT(eventos de login)
Ejemplo: 0 indica que no hubo intentos registrados en ese rango o que la fuente no tiene eventos para mostrar.
Uso en Ballista: Ayuda a soporte a distinguir problemas de uso, acceso o seguridad antes de revisar usuarios y roles.
Gráfico de ejemplo
Lun
0
Mar
3
Mie
5
Definición: Pedidos que llegaron a un estado final operativo dentro del rango.
Fórmula: COUNT(pedidos completados)
Ejemplo: Si el valor es 0 pero hay entregas reales, revisa si los pedidos quedaron en estado intermedio.
Uso en Ballista: Se usa para confirmar que el flujo de pedidos no se queda abierto después de vender o entregar.
Gráfico de ejemplo
Creados
304
Completos
0
Definición: Conteo de alertas o inconsistencias detectadas entre stock, lotes y consumo esperado.
Fórmula: COUNT(conflictos de inventario)
Ejemplo: 0 es una buena señal, pero si ventas no bajan stock, revisa lotes y fórmulas antes de confiar.
Uso en Ballista: Orienta al equipo hacia Inventory, Lots o Compound products cuando hay diferencias de stock.
Gráfico de ejemplo
Sin conflicto
0
Revisión
2
Critico
5
Definición: Cantidad de operaciones de facturación electronica procesadas en el periodo.
Fórmula: COUNT(operaciones FE)
Ejemplo: 2 operaciones FE indica que se ejecutaron dos acciones relacionadas con comprobantes electronicos.
Uso en Ballista: Se usa para validar actividad de Billing y recordar que el ambiente de factura electronica puede ser simulado.
Gráfico de ejemplo
Emitidas
2
Pendientes
1
Error
0
Definición: Serie diaria de ventas y cantidad de pedidos dentro del rango.
Fórmula: GROUP BY fecha: SUM(ventas), COUNT(pedidos)
Ejemplo: 18/04/2026 muestra 304 pedidos y CRC 4,805,570 en ventas.
Uso en Ballista: Permite ver si el resultado viene de un pico puntual o de ventas distribuidas durante el periodo.
Gráfico de ejemplo
16/04
CRC 580K
17/04
CRC 1.1M
18/04
CRC 4.8M
Definición: Productos con mayor cantidad de ventas en el rango seleccionado.
Fórmula: GROUP BY producto: COUNT(ventas)
Ejemplo: Un producto con 36 ventas debe aparecer arriba de otro con 12.
Uso en Ballista: Ayuda a decidir producción, compras y promoción según lo que realmente se está moviendo.
Gráfico de ejemplo
Producto A
36
Producto B
24
Producto C
12
Definición: Materias primas más usadas o más costosas durante el periodo.
Fórmula: GROUP BY materia prima: SUM(cantidad), SUM(costo)
Ejemplo: Si empaque representa CRC 30,000 y harina CRC 12,000, empaque debe verse como mayor costo.
Uso en Ballista: Se usa para compras, control de costo y revisión de fórmulas de productos compuestos.
Gráfico de ejemplo
Empaque
CRC 30K
Harina
CRC 12K
Etiquetas
CRC 6K
Definición: Variacion porcentual de ingresos entre el periodo actual y uno anterior de igual duracion.
Fórmula: (Ventas actuales - Ventas anteriores) / Ventas anteriores x 100
Ejemplo: Si antes se vendio CRC 3M y ahora CRC 4.5M, el crecimiento es 50%.
Uso en Ballista: En Client growth ayuda a separar crecimiento real de un simple monto aislado del periodo.
Gráfico de ejemplo
Anterior
CRC 3M
Actual
CRC 4.5M
Definición: Variacion porcentual de ventas mes a mes usando el rango seleccionado.
Fórmula: (Ventas del mes actual - Ventas del mes anterior) / Ventas del mes anterior x 100
Ejemplo: Si marzo vendio CRC 3.9M y abril CRC 4.8M, el crecimiento MoM es 23.1%.
Uso en Ballista: Se usa para revisar tendencia mensual sin perder el contexto del rango elegido en Client growth.
Gráfico de ejemplo
Marzo
CRC 3.9M
Abril
CRC 4.8M
Definición: Cambio porcentual del margen entre periodos, no solo de ventas.
Fórmula: (Margen actual - Margen anterior) / Margen anterior x 100
Ejemplo: Si vendes más pero el margen cae, el KPI lo muestra como alerta de rentabilidad.
Uso en Ballista: Se usa para revisar si precios, descuentos o costos están afectando la ganancia.
Gráfico de ejemplo
Margen ant.
CRC 900K
Margen act.
CRC 1.25M
Definición: Total de ingreso generado por pedidos en el rango seleccionado.
Fórmula: SUM(total pedidos en periodo)
Ejemplo: El rango de abril suma CRC 4.8M.
Uso en Ballista: Es la base para calcular crecimiento, ingreso por cliente y concentracion.
Gráfico de ejemplo
Marzo
CRC 3.9M
Abril
CRC 4.8M
Definición: Porcentaje de clientes que han comprado más de una vez.
Fórmula: Clientes con más de 1 pedido / Total clientes x 100
Ejemplo: 40 clientes recurrentes de 100 clientes totales = 40%.
Uso en Ballista: Ayuda a saber si el negocio depende solo de nuevos clientes o si está reteniendo.
Gráfico de ejemplo
Unica compra
60%
Recompra
40%
Definición: Clientes existentes sin pedidos en el periodo seleccionado.
Fórmula: Clientes totales - Clientes activos en periodo
Ejemplo: 120 clientes totales menos 75 activos = 45 inactivos.
Uso en Ballista: Sirve para campanas de seguimiento y limpieza de cartera.
Gráfico de ejemplo
Activos
75
Inactivos
45
Definición: Clientes unicos con al menos un pedido en el periodo.
Fórmula: COUNT(DISTINCT clientes con pedido)
Ejemplo: Si 75 clientes compraron en abril, el KPI muestra 75.
Uso en Ballista: Se usa como denominador para ingreso por cliente y lectura de actividad comercial.
Gráfico de ejemplo
Semana 1
18
Semana 2
45
Semana 3
75
Definición: Promedio de ingreso generado por cada cliente activo en el rango.
Fórmula: Ingreso del periodo / Clientes activos
Ejemplo: CRC 4.8M / 75 clientes = CRC 64K por cliente.
Uso en Ballista: Ayuda a comparar calidad de cartera, precios y comportamiento de compra.
Gráfico de ejemplo
Cliente prom.
CRC 64K
Meta
CRC 100K
Definición: Promedio historico de lo que gasta un cliente a lo largo de su relacion.
Fórmula: Promedio(total gastado por cliente en toda la historia)
Ejemplo: Si el gasto historico promedio es CRC 220K, ese valor estima valor de cartera.
Uso en Ballista: Se usa para priorizar retencion y entender cuanto vale recuperar clientes.
Gráfico de ejemplo
Nuevo
CRC 45K
Promedio
CRC 220K
Definición: Porcentaje de clientes que compraron antes pero no compraron en el periodo actual.
Fórmula: Clientes perdidos / Total clientes x 100
Ejemplo: 8 clientes perdidos de 100 = 8% churn.
Uso en Ballista: Se usa para detectar pérdida de relacion y activar seguimiento comercial.
Gráfico de ejemplo
Retenidos
92%
Churn
8%
Definición: Porcentaje de ingreso perdido entre periodos respecto al ingreso anterior.
Fórmula: MAX(Ingreso anterior - Ingreso actual, 0) / Ingreso anterior x 100
Ejemplo: Si antes eran CRC 5M y ahora CRC 4.5M, hay 10% de churn de ingresos.
Uso en Ballista: Permite ver si la pérdida viene de clientes grandes aunque el conteo de clientes no cambie mucho.
Gráfico de ejemplo
Ingreso retenido
90%
Churn
10%
Definición: Balance neto entre clientes ganados y clientes perdidos contra el periodo anterior.
Fórmula: Clientes nuevos - Clientes perdidos
Ejemplo: 15 nuevos y 6 perdidos = +9 clientes netos.
Uso en Ballista: Se usa para saber si la base de clientes crece o se está reemplazando sin retener.
Gráfico de ejemplo
Nuevos
+15
Perdidos
-6
Definición: Porcentaje de pedidos completados o entregados sobre el total de pedidos.
Fórmula: Pedidos completados / Total pedidos x 100
Ejemplo: 228 pedidos completados de 304 = 75%.
Uso en Ballista: Ayuda a revisar si Orders está cerrando trabajo o acumulando pedidos abiertos.
Gráfico de ejemplo
Completados
75%
Abiertos
25%
Definición: Promedio historico de pedidos realizados por cliente.
Fórmula: Promedio(pedidos por cliente)
Ejemplo: 304 pedidos entre 75 clientes activos = 4.1 pedidos por cliente.
Uso en Ballista: Se usa para entender frecuencia comercial y dependencia de pocos clientes.
Gráfico de ejemplo
Actual
4.1
Meta
5.0
Definición: Promedio de días entre compras consecutivas del mismo cliente.
Fórmula: Promedio(días entre pedidos consecutivos)
Ejemplo: Si el promedio baja de 30 a 18 días, la recurrencia mejora.
Uso en Ballista: Ayuda a planear recordatorios, producción y seguimiento comercial.
Gráfico de ejemplo
Antes
30d
Ahora
18d
Definición: Total de pedidos marcados como pagados durante el periodo.
Fórmula: SUM(total de pedidos pagados)
Ejemplo: Si 100 pedidos están pagados y suman CRC 3.1M, ese es el cash in operativo.
Uso en Ballista: Se usa para diferenciar ventas registradas de dinero que realmente entro.
Gráfico de ejemplo
Cobrado
CRC 3.1M
Vendido
CRC 4.8M
Definición: Monto total de pedidos no pagados dentro del periodo.
Fórmula: SUM(total de pedidos no pagados)
Ejemplo: Si se vendieron CRC 4.8M y se cobraron CRC 3.1M, quedan CRC 1.7M por cobrar.
Uso en Ballista: Orienta seguimiento de cobro, revisión de estados y priorización de clientes pendientes.
Gráfico de ejemplo
Cobrado
CRC 3.1M
Por cobrar
CRC 1.7M
Definición: Porcentaje del ingreso total que depende del cliente con mayor ingreso.
Fórmula: Ingreso cliente #1 / Ingreso total x 100
Ejemplo: Si el cliente #1 aporta CRC 2M de CRC 4.8M, la concentracion es 41.7%.
Uso en Ballista: Se usa para detectar riesgo comercial: mucho ingreso puede depender de una sola cuenta.
Gráfico de ejemplo
Cliente #1
42%
Otros
58%
Cómo se lee en el código
| Archivo | Qué hace |
|---|---|
frontend/src/pages/reports/reports.desktop.tsx | ReportsDesktop alterna entre overview y KPIs. El tab define si el usuario revisa reportes operativos o crecimiento/clientes. |
frontend/src/modules/reports/components/reports-overview-panel.tsx | Este panel llama APIs de resumen financiero, ventas, materiales, inventario con lotes, top customers/products y exportaciones CSV. |
frontend/src/modules/reports/components/kpi-dashboard-panel.tsx | El dashboard KPI agrega lectura ejecutiva. Por eso la wiki recomienda corregir datos en el módulo origen si la métrica sale mal. |
frontend/src/lib/api/endpoints/reports.api.ts | Los endpoints getFinancialSummary, getMinimalDashboard, getSalesByPeriod, getTopProducts, getMostUsedMaterials y getClientGrowthKpis normalizan datos que alimentan los KPIs. |
frontend/src/locales/es/common.json | Las llaves reports.overview.kpi y reports.kpiDashboard.kpis definen labels, ayuda y fórmulas visibles para cada KPI. |