Skip to content

Plataforma técnica · Sevastopol

Honorarios en Sevastopol

Islands Remuneraciones Honorarios

HonorariosViewIsland cubre el ciclo de boletas de terceros (prestadores que no son empleados): mantenimiento del padrón, generación masiva del periodo desde la base operacional, contabilización contra el plan de cuentas y reversa.

Una única island con dos tabs controladas por una signal local:

  • boletas — listado del periodo activo con acciones contabilizar/reversar.
  • prestadores — CRUD del padrón con cuenta de gasto mapeada.

Es la contraparte tributaria de la DJ 1879 — las boletas aquí registradas alimentan la declaración anual.

DecisiónMotivo
Una island con 2 tabsBoletas y prestadores comparten contexto de tenant y catálogo de cuentas; separar en dos islands forzaría cargar prestadores dos veces.
Tab boletas filtra por período activouseActivePeriod re-fetcha /api/honorarios?year=&month=. Tab prestadores ignora el período (es padrón).
Generación masiva con force: true y confirm nativoPOST /generar consolida la base operacional del mes en boletas. El operador ratifica para evitar disparos accidentales.
Cuenta de gasto del prestador como FK del planEl catálogo viene de /api/admin/chart-of-accounts filtrado por tipo === "GASTO" && es_imputable. Se hereda a la boleta al contabilizar.
Acciones por estado de boletaEMITIDA / RECIBIDA / APROBADA → botón “Contabilizar”; CONTABILIZADO → botón “Reversar”. La UI muestra el botón válido por fila.
Loading state por filacontabilizandoId y reversandoId controlan el spinner por fila — evita doble click y muestra qué está procesando.
Form de prestador con validación clienterut, nombres y apellidos son obligatorios; el resto se persiste como null si vacío.
Cuenta de gasto opcional en prestadorEl prestador puede crearse sin cuenta — se completa antes de la primera contabilización.
Filtros locales sobre la lista cargadaVolumen mensual manejable; filtroTexto busca en nombre, RUT y número de boleta.
TabEndpointContenido
boletas/api/honorarios?year=&month=Lista del periodo con acciones contabilizar/reversar.
prestadores/api/honorarios/prestadoresPadrón de prestadores.
ComponenteUso
PayrollWorkspaceHeaderHeader con controls y pills.
WorkspaceTabBarCambio entre boletas y prestadores.
WorkspaceSectionCardSección con métricas (total bruto, retención, líquido, count).
InlineMetricPillMétricas inline por tab.
HookUso
useActiveTenantRecarga boletas + prestadores + cuentas al cambiar tenant.
useActivePeriod{ year, month } filtra el listado de boletas. Tab prestadores lo ignora.
Método + rutaUso
GET /api/honorarios?year=&month=&tenant_id=Boletas del periodo.
POST /api/honorarios/generar?tenant_id=Generación masiva.
POST /api/honorarios/:id/contabilizar?tenant_id=Contabiliza una boleta.
POST /api/honorarios/:id/reversar?tenant_id=Reversa el asiento.
GET /api/honorarios/prestadores?tenant_id=Padrón.
POST /api/honorarios/prestadores?tenant_id=Alta prestador.
PUT /api/honorarios/prestadores/:id?tenant_id=Edición prestador.
DELETE /api/honorarios/prestadores/:id?tenant_id=Eliminación prestador.
GET /api/admin/chart-of-accounts?tenant_id=Plan de cuentas para el selector.

HonorariosService — CRUD de boletas y prestadores, generación masiva del periodo, contabilización y reversa.

  • Declaraciones consume las boletas anuales para construir la DJ 1879.
  • Gastos comparte el plan de cuentas — un prestador puede tener cuenta de gasto solapada con categorías de gasto.
  • Operaciones SII alimenta las boletas de honorarios recibidas (terceros que emiten al tenant).
  • Ciclo contable lee el estado de contabilización del periodo.

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