Skip to content

Plataforma técnica · Sevastopol

Finiquitos en Sevastopol

Islands Remuneraciones Finiquitos

FiniquitosViewIsland opera el término del contrato laboral. Cubre simulación del cálculo (indemnización por causal SII, vacaciones proporcionales, descuentos), generación persistente con asiento contable y descarga del documento legal.

Una única island sin tabs. A diferencia de payroll y previsiones, no escucha useActivePeriod — el finiquito es un evento (fecha de término), no un periodo. Filtra por su propio rango de fechas.

DecisiónMotivo
Simulación obligatoria antes de generarPOST /simulate muestra indemnización, feriado proporcional y descuentos. El operador valida antes de aprobar. Generar sin simular es posible pero la UI desincentiva.
Causal SII en selectEl cálculo depende de la causal (art. 159, 160, 161, mutuo acuerdo). La UI obliga a elegir una causal codificada — no texto libre.
Eliminar reactiva el contratoDELETE /:id regresa el contrato a ACTIVO. El confirm lo advierte literalmente.
Sin useActivePeriodEs un evento, no un periodo. Filtros propios por desde/hasta.
Filtros locales sobre la lista cargadaVolumen total bajo. filtroTexto busca en empleado_nombre y empleado_rut.
PDF abre en nueva pestaña/api/finiquitos/:id/download se abre con window.open — el documento legal queda visible para imprimir o descargar.
Modal único de “Generar”Causal + fecha + contrato se ingresan en un form simple. Si la simulación falla con datos faltantes, la UI lo informa por toast.
Eliminación con confirm estrictoEl texto del confirm menciona explícitamente que el contrato volverá a estar ACTIVO.
GrupoCampos esperados
IdentificaciónNúmero de finiquito, fecha.
TrabajadorEmpleado, RUT.
CálculoTotal líquido, detalle (snapshot).
EstadoBORRADOR / FIRMADO.

FiniquitosViewIsland usa PayrollWorkspaceHeader, WorkspaceSectionCard, InlineMetricPill y los botones del workspace — mismo lenguaje que el resto del dominio.

HookUso
useActiveTenantRecarga finiquitos + empleados al cambiar tenant.
Método + rutaUso
GET /api/finiquitos?tenant_id=Listado.
POST /api/finiquitos/simulate?tenant_id=Cálculo en seco.
POST /api/finiquitos/generate?tenant_id=Persistencia + asiento.
GET /api/finiquitos/:id/download?tenant_id=PDF legal.
DELETE /api/finiquitos/:id?tenant_id=Anula y reactiva el contrato.
GET /api/employees?tenant_id=Catálogo para el modal.

FiniquitoService — simulación, persistencia, asiento contable y generación del PDF legal con causal SII.

  • Maestro laboral provee el contrato a terminar. Eliminar el finiquito reactiva el contrato.
  • Tiempo trabajado entrega el saldo de vacaciones que se indemniza.
  • Liquidaciones ajusta dias_trabajados del último mes cuando el empleado se finiquita dentro del período.
  • Ciclo contable lee el asiento del finiquito como parte del cierre.

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