Honorarios Service
El HonorariosService automatiza la importación y clasificación de Boletas de Honorarios Electrónicas obtenidas desde el Servicio de Impuestos Internos (SII).
Ubicación
Section titled “Ubicación”Archivo: src/domain/payroll/honorarios/HonorariosService.ts
Flujo de Procesamiento
Section titled “Flujo de Procesamiento”El método generate orquesta la transformación de “Boletas SII” a “Asientos de Honorarios” en el sistema.
1. Obtención de Datos
Section titled “1. Obtención de Datos”Recupera las boletas crudas (JSON/CSV) desde el repositorio, filtrando por rango de fechas.
2. Clasificación Inteligente (Routing)
Section titled “2. Clasificación Inteligente (Routing)”El servicio intenta clasificar automáticamente el tipo de servicio basándose en el RUT del Prestador previamente configurado en el sistema.
| Tipo Servicio Prestador | Concepto Asignado | Código Concepto |
|---|---|---|
| CONTABILIDAD | Consultoría | HON-004 |
| LEGAL | Consultoría | HON-005 |
| TECNICO | Técnico | HON-002 |
| CAPACITACION | Capacitación | HON-003 |
| Default | Profesional | HON-001 |
3. Generación de Estructura
Section titled “3. Generación de Estructura”Por cada boleta válida, se crean dos niveles de registros dentro de una transacción:
- Encabezado (
Honorario): Datos administrativos (Fecha, Montos Totales, Emisor). - Detalle (
HonorarioDetalle):- Línea de Gasto (Monto Bruto asignado al concepto).
- Línea de Retención (Si aplica,
HON-RETpor el 10% o tasa vigente).
Ejemplo de Lógica de Clasificación
Section titled “Ejemplo de Lógica de Clasificación”if (prestador) { switch (prestador.tipo_servicio) { case "CONTABILIDAD": conceptoCode = "HON-004"; tipoServicio = "CONSULTORIA"; break; // ... otros casos default: conceptoCode = "HON-001"; tipoServicio = "OTRO"; break; }}