FINORA Core · Conceptos
Reportes contables asíncronos
El problema: un reporte largo no cabe en una espera
Sección titulada «El problema: un reporte largo no cabe en una espera»Un sistema externo (el de tesorería, un tablero gerencial, el auditor) pide al core el movimiento de todas las cuentas de activo del semestre. Para responder, el core tiene que sumar el mayor desde el principio hasta el primer día del período (el saldo inicial) y luego todo lo del período. Con millones de asientos, eso tarda.
Si la petición espera la respuesta, se corta por tiempo, el sistema reintenta y el core calcula dos veces lo mismo.
La idea: pedir, recibir una clave y recoger después
Sección titulada «La idea: pedir, recibir una clave y recoger después»sequenceDiagram
participant S as Sistema externo
participant API as API contable del core
participant E as Ejecutor de reportes
S->>API: POST reports {período, sucursal, moneda, tipos}
API-->>S: 202 {reportKey, status: QUEUED}
API->>E: Encola
E->>E: IN_PROGRESS: calcula por cuenta
S->>API: GET reports/{reportKey}
API-->>S: 200 {status: IN_PROGRESS}
E->>E: COMPLETE
S->>API: GET reports/{reportKey}
API-->>S: 200 {status: COMPLETE, items: [...]}
El estado pasa por En cola → En curso → Completo (o Error). El core calcula en su propio ejecutor, sin bloquear la petición, y con un tiempo máximo por consulta. Si el core se reinicia, los reportes en curso pasan a error y los que estaban en cola se vuelven a encolar.
Qué trae cada fila
Sección titulada «Qué trae cada fila»Por cada cuenta del alcance:
| Campo | Qué es |
|---|---|
| Saldo inicial | El saldo acumulado hasta el día anterior al inicio del período |
| Débitos | La suma de débitos del período |
| Créditos | La suma de créditos del período |
| Neto | La variación del período, con signo según la naturaleza de la cuenta |
| Saldo final | Saldo inicial + neto |
Un ejemplo, la cuenta de efectivo en bolívares del 1 al 19 del mes:
| Cuenta | Saldo inicial | Débitos | Créditos | Neto | Saldo final |
|---|---|---|---|---|---|
| 111.01.01.02 Gestión de efectivo | 0,00 | 944.135,39 | 363.901,00 | 580.234,39 | 580.234,39 |
No es el balance de comprobación
Sección titulada «No es el balance de comprobación»El reporte asíncrono suma todas las líneas del mayor, también las del día que el cierre todavía no contabilizó, igual que el saldo de una cuenta. El balance de comprobación solo lee las líneas ya contabilizadas por el cierre. Durante el día, los dos pueden diferir; después del cierre, coinciden.
Los límites
Sección titulada «Los límites»- Inicio y fin obligatorios, con un rango de hasta 366 días; el fin no puede ser anterior al inicio.
- Tipos de cuenta: activo, pasivo, patrimonio, ingresos y gastos. Sucursal y moneda, opcionales.
- Se pide con el alcance de lectura contable de la API.