Skip to content

Plataforma técnica · Sevastopol

Balance Anual en Sevastopol

Islands Reportes Balance

BalanceAnualIsland es el reporte ejecutivo del balance contable del tenant. Calcula, persiste y cierra el balance anual con vistas separadas por audiencia: tributaria (SII), IFRS (norma internacional) y operativa (detalle por cuenta + historial).

El motor matemático vive en BalanceService y CierrePeriodoService del Orchestrator — la island coordina UI, dispara /calcular (preview) y /guardar (persistencia), gestiona el historial con workflow de aprobación y produce el PDF legal.

DecisiónMotivo
calcular separado de guardarEl operador revisa el balance antes de fijarlo. POST /calcular devuelve el snapshot completo (balance_clasificado, estado_resultados, renta) sin escribir; POST /guardar persiste con el reporte ya validado.
5 tabs en una sola islandBalance Clasificado (ejecutivo), Estado de Resultados (operacional), Tributario (renta + base imponible), Balance de Cuentas (detalle plan), Historial (snapshots persistidos). Comparten el mismo cálculo — separar en islands forzaría 5x cálculos.
Presentación TRIBUTARIO vs IFRSToggle global del balance. Cambiar la presentación re-clasifica activos/pasivos según norma. La pill Tipo se pinta en ámbar para IFRS para detectar visualmente el modo no-default.
Modo MENSUAL vs ANUAL_ACUMULADOEl cálculo acumula desde enero hasta el mes seleccionado (ANUAL_ACUMULADO, default) o muestra solo el mes (MENSUAL, legado). El label cambia: “Acumulado a MM/YYYY” vs “Mensual legado MM/YYYY”.
Cierre del periodo solo en diciembrecierreDisponible = mes() === 12. El botón cerrarPeriodo está disabled para meses 1–11. El cierre anual es evento contable distinto del guardado mensual.
Workflow BORRADOR → APROBADO en historialaprobarGuardado y reversarAprobacionGuardado con confirm explícito. La auditoría exige trazabilidad del estado.
PDF como descarga blob → nueva pestañaGET /pdf devuelve el PDF generado por PdfService (Puppeteer). El frontend lo abre con URL.createObjectURL + window.open.
Filtros locales en Balance de Cuentas (TIPOS, NIVELES)Hasta 5 niveles + 5 tipos. El operador acota el detalle sin viajar al servidor.
Cuadre visible en statsbalance_clasificado.cuadra + diferencia se exponen en pill para detectar descuadres antes de aprobar.
useActivePeriod re-sincroniza el mesCambiar mes en el workspace actualiza el signal local; el operador puede sobreescribir para consultas ad-hoc sin tocar el workspace.
TabContenido
balanceBalance clasificado: activos (corrientes + no corrientes), pasivos (corrientes + no corrientes), patrimonio. Cuadre + diferencia.
resultadoEstado de resultados: ingresos operacionales, costo de ventas, margen bruto, gastos operacionales, resultado operacional, no operacional, antes/después impuesto.
tributarioResumen tributario: ventas/compras netas, NC, honorarios, impuestos específicos, base imponible, PPM, impuesto estimado.
cuentasBalance de cuentas jerárquico con filtros por tipo (ACTIVO/PASIVO/PATRIMONIO/INGRESO/GASTO) y nivel (0–4).
historialBalances guardados — filtros por estado, acciones cargar/aprobar/reversar/eliminar.
BloqueCampos
Balance clasificadototal_activos, total_pasivos_patrimonio, cuadra, diferencia.
Estado de resultadosresultado_ejercicio, margen_bruto, resultado_operacional.
Tributariobase_imponible, impuesto_estimado, ppm, diferencia.
Historialid, anio, mes, tipo_presentacion, estado, fecha_calculo.
Método + rutaUso
GET /api/reportes/calcular?anio=&mes=&tipo=&tenant_id=Preview del balance.
POST /api/reportes/guardar?tenant_id=Persistencia del snapshot.
GET /api/reportes/guardados?tenant_id=Historial.
GET /api/reportes/guardados/:id?tenant_id=Carga puntual de un balance guardado.
DELETE /api/reportes/guardados/:id?tenant_id=Eliminación.
PUT /api/reportes/guardados/:id/aprobar?tenant_id=Aprobación.
PUT /api/reportes/guardados/:id/reversar-aprobacion?tenant_id=Reversa de aprobación.
GET /api/reportes/pdf?anio=&mes=&tipo=&tenant_id=PDF legal.
POST /api/reportes/cerrar-periodo?tenant_id=Cierre anual (mes 12).

BalanceService calcula el balance clasificado, estado de resultados y resumen tributario. CierrePeriodoService ejecuta el cierre anual con el balance de diciembre como base.