Skip to content
FINORA Academy
SistemaFINORA Core

FINORA Core · Concepts

Reportes contables asíncronos

ImplementedVerifiedVerified on Oct 18, 2026

This content is not available in your language yet.

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.

Por cada cuenta del alcance:

CampoQué es
Saldo inicialEl saldo acumulado hasta el día anterior al inicio del período
DébitosLa suma de débitos del período
CréditosLa suma de créditos del período
NetoLa variación del período, con signo según la naturaleza de la cuenta
Saldo finalSaldo inicial + neto

Un ejemplo, la cuenta de efectivo en bolívares del 1 al 19 del mes:

CuentaSaldo inicialDébitosCréditosNetoSaldo final
111.01.01.02 Gestión de efectivo0,00944.135,39363.901,00580.234,39580.234,39

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.

  • 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.