Skip to content

Plataforma técnica · Sevastopol

Reportes en Sevastopol

Islands Reportes

El dominio reportes del frontend consolida los estados contables anuales que el tenant produce: balance clasificado + estado de resultados (Balance Anual), y la cuenta de patrimonio que acumula utilidades retenidas o pérdidas (Resultado Acumulado).

Las dos islands operan sobre /api/reportes y consumen el período activo del workspace. Son lectura derivada de los movimientos contables del periodo — no se ingresan datos aquí, se calculan y se persiste el snapshot.

DecisiónMotivo
Dos islands separadas en vez de tabsBalance Anual es un reporte ejecutivo con 5 vistas internas; Resultado Acumulado es una tabla del patrimonio. Compartirían período pero los flujos de aprobación divergen.
Cálculo vs guardado separadosEn ambas islands calcular (preview) está separado de guardar (persistencia). El operador revisa el snapshot antes de fijarlo.
Workflow BORRADOR → APROBADO (Balance) o BORRADOR → CONTABILIZADO → APROBADO (Resultado)Cada uno con confirm explícito; el cambio de estado dispara reglas distintas en el backend.
Presentación TRIBUTARIO vs IFRSBalance Anual permite ambas vistas del mismo período. La clasificación de cuentas cambia según el régimen.
Modo ANUAL_ACUMULADO vs MENSUALDefault acumulado al cierre del periodo. MENSUAL es legado y se mantiene para consultas históricas.
PDF como descarga del backendEl PDF se genera con plantilla legal en el Orchestrator (PdfService); el frontend solo lo abre como blob en nueva pestaña.
Cierre del periodo solo en diciembreBalance Anual deshabilita cerrarPeriodo si mes !== 12. El cierre anual es evento contable distinto del guardado mensual.
Historial con aprobación y reversaCada balance guardado puede aprobarse o revertir su aprobación — la auditoría exige trazabilidad.
IslandEndpoint baseDocumentación
BalanceAnualIsland/api/reportes/calcular, /guardar, /guardados, /pdf, /cerrar-periodoBalance Anual
ResultadoAcumuladoIsland/api/reportes/resultados-acumulados/*Resultado Acumulado

Ambas islands usan los tokens estándar de WorkspaceTheme (importado con alias ReportesWorkspaceHeader):

ComponenteUso
ReportesWorkspaceHeaderHeader con pills y controls.
WorkspaceSectionCardSección con eyebrow, title, description, pills.
WorkspaceTabBar (Balance) / WorkspaceSegmentedControl (Resultado)Tabs internas en Balance; toggles de tipo/modo en Resultado.
InlineMetricPillMétricas inline (año, mes, tipo, estado).
StatCardKPIs ejecutivos en la cabecera.
HookUso
useActiveTenantRecarga al cambiar tenant.
useActivePeriod{ year, month } alimenta el cálculo del periodo. Balance permite mes 1–12; Resultado fuerza modo MENSUAL para usar el mes, ANUAL_ACUMULADO ignora el mes (usa 12).

Reportes (Orchestrator) agrupa los servicios que estas islands consumen:

  • BalanceService — cálculo del balance clasificado y estado de resultados.
  • CierrePeriodoService — cierre anual del periodo.
  • ResultadosAcumuladosService — utilidades retenidas / pérdidas acumuladas con workflow.
  • RentaService, PpmService, ReportesServiceSupport — soporte tributario consumido por los anteriores.
EndpointUso
/api/reportes/calcularCálculo del balance del periodo (preview, sin persistir).
/api/reportes/guardarPersiste el snapshot del balance.
/api/reportes/guardados (GET, GET/:id, DELETE/:id)Historial de balances guardados.
/api/reportes/guardados/:id/aprobar (PUT)Aprueba un balance guardado.
/api/reportes/guardados/:id/reversar-aprobacion (PUT)Reversa la aprobación.
/api/reportes/pdfDescarga PDF legal del balance.
/api/reportes/cerrar-periodoCierre anual (mes 12).
/api/reportes/resultados-acumuladosListado del patrimonio acumulado.
/api/reportes/resultados-acumulados/generarGenera registro en BORRADOR.
/api/reportes/resultados-acumulados/:id/estadoCambia el estado (BORRADOR → CONTABILIZADO → APROBADO).
  • Ciclo contable depende del balance aprobado para cerrar el periodo.
  • Manual de cuentas (Command) provee el plan de cuentas que BalanceAnualIsland usa para clasificar cuentas como activos/pasivos/patrimonio/resultados.
  • Declaraciones (F29 + Renta) lee el balance tributario para cuadres anuales.

Estas relaciones se documentan en cada destino, no aquí.