Plataforma técnica · Orchestrator
Honorarios (services)
Orchestrator Honorarios Bhe
El subdominio Honorarios automatiza el ciclo BHE: descarga del Registro de Compras y Ventas (RCV) del SII, clasificación por naturaleza del servicio, determinación de la modalidad de retención (emisor vs. receptor) y persistencia con su pasivo asociado.
A diferencia del resto de remuneraciones, honorarios no genera liquidación calculada por el motor de payroll. La BHE viene desde el SII con sus montos ya determinados; el sistema sólo clasifica, persiste y reporta. La lectura contable equivalente vive en accounting/remuneraciones/honorarios.
Servicio
Section titled “Servicio”| Servicio | Responsabilidad | Doc |
|---|---|---|
HonorariosService | Importación BHE desde SII, clasificación por RUT del prestador, cálculo de retención según tasa vigente y persistencia con pro-forma del comprobante. | → |
Mapa de integración
Section titled “Mapa de integración”flowchart LR
SII[("SII RCV<br/>BHE recibidas")]
HON["HonorariosService"]
CLF[("clasificacion_honorarios<br/>(RUT → tipo gasto)")]
TASA[("retencion_honorarios_tasas<br/>(vigencia anual)")]
BHE_T[("honorarios_bhe")]
PROV[("honorarios_proforma")]
SII --> HON
CLF --> HON
TASA --> HON
HON --> BHE_T
HON --> PROV
HON -. retención mensual .-> F29["F29GeneratorService"]
HON -. resumen anual .-> DJ1879["DJ1879Service"] Patrones aplicados
Section titled “Patrones aplicados”| Patrón | Dónde |
|---|---|
| Repository | HonorariosRepository separa SQL del service. |
| Importer | Pipeline SII RCV → clasificar → calcular retención → persistir. |
| Lookup table con vigencia | Tasa de retención por año comercial (13,75% para 2025; sigue calendario gradual). |
| Classification rule | RUT del prestador → tipo de gasto contable (Contabilidad, Legal, Desarrollo, etc.). |
Reglas críticas
Section titled “Reglas críticas”- Tasa por fecha de la BHE: una BHE de un año anterior se procesa con la tasa de ese año, no la vigente.
HonorariosServicelee la tasa desde la fecha del documento. - Modalidad de retención: la BHE indica si la retención la asume el emisor (la empresa retiene y entera en F29) o el receptor (la empresa paga la retención adicional aparte). El motor aplica la regla correspondiente.
- Clasificación por RUT: si el RUT del prestador no tiene clasificación previa, la BHE queda en pro-forma pendiente de revisión.
- No duplicar: el service deduplica por folio + RUT emisor para evitar re-importar la misma BHE en sucesivas sincronizaciones del RCV.
Eventos emitidos
Section titled “Eventos emitidos”| Evento | Trigger | Payload |
|---|---|---|
honorarios:bhe_importada | HonorariosService.importarPeriodo (1 evento por BHE persistida) | { folio, rutEmisor, montoBruto, retencion, periodo } |
honorarios:clasificacion_pendiente | BHE recibida con RUT sin clasificar | { folio, rutEmisor } |
Consumidores downstream
Section titled “Consumidores downstream”| Service | Qué consume |
|---|---|
F29GeneratorService | Total retenido del periodo por concepto de honorarios → línea de retenciones de segunda categoría. |
DJ1879Service | Detalle anual por prestador (monto bruto y retención) → archivo de declaración jurada. |