Skip to content

Plataforma técnica · Sevastopol

Resultado Acumulado en Sevastopol

Islands Reportes Patrimonio

ResultadoAcumuladoIsland mantiene la cuenta de patrimonio que acumula el resultado del ejercicio al cierre. El sistema separa utilidades retenidas (cuenta 2302001) de pérdidas acumuladas (2302002) — la island decide qué cuenta corresponde según el resultado del período.

El registro es per-año y soporta dos vistas paralelas: financiera (resultado contable) y tributaria (base imponible). Ambas conviven porque el operador necesita explicar la diferencia ante la auditoría.

DecisiónMotivo
Tipo de resultado (FINANCIERO vs TRIBUTARIO) en toggleMisma cuenta, diferente cifra. La presentación de auditoría exige ambas. El toggle re-fetchea con tipo_resultado distinto — no se calculan localmente.
Cuenta derivada del signo del resultado2302001 si utilidad, 2302002 si pérdida. La UI muestra el código + nombre derivados (cuentaActual memo).
Modo ANUAL_ACUMULADO ignora el mesDefault ANUAL_ACUMULADO usa mes 12 implícito. Modo MENSUAL exige mes válido (1–12) y dispara validación al generarRegistro.
Workflow BORRADOR → CONTABILIZADO → APROBADOTres estados con actualizarEstado(row, estado). Cada transición es PUT explícito al backend. La UI muestra solo los estados destino válidos por fila.
acumulado_actual = acumulado_anterior + resultado_periodoEl backend calcula; la island solo presenta. Cambiar tipo_resultado o anio recarga el listado completo del año.
Resumen con conteos por estadoStats: total, borradores, contabilizados, aprobados. Detecta cuántos registros pendientes hay sin abrir el modal.
tipoPresentacion (TRIBUTARIO/IFRS) ortogonal al tipoCruce 2x2: FINANCIERO + TRIBUTARIO / FINANCIERO + IFRS / TRIBUTARIO + TRIBUTARIO / TRIBUTARIO + IFRS. Cada combinación es un registro distinto.
WorkspaceSegmentedControl para los togglesBotones segmentados en vez de selects — el operador alterna rápido entre vistas.
Validación de año al generarNumber.isInteger(anioNum) && 2000 ≤ anioNum ≤ 2100 antes del POST. Evita rebote del backend por años fuera de rango.
GrupoCampos esperados
Periodoanio, mes, modo_periodo (MENSUAL/ANUAL_ACUMULADO).
Tipostipo_resultado (FINANCIERO/TRIBUTARIO), tipo_presentacion (TRIBUTARIO/IFRS).
Cuentacuenta_codigo (2302001 utilidades / 2302002 pérdidas).
Cálculoresultado_periodo, acumulado_anterior, acumulado_actual.
Estadoestado, notas, fecha_resultado, fecha_contabilizacion.
Método + rutaUso
GET /api/reportes/resultados-acumulados?tenant_id=&tipo_resultado=&anio=Listado del año.
POST /api/reportes/resultados-acumulados/generar?tenant_id=Genera registro en BORRADOR con anio, tipo_resultado, tipo_presentacion, modo_periodo, mes.
PUT /api/reportes/resultados-acumulados/:id/estado?tenant_id=Cambia estado (BORRADOR / CONTABILIZADO / APROBADO).

ResultadosAcumuladosService — calcula el resultado del periodo, resuelve la cuenta destino y mantiene el workflow de aprobación.