Casos de Prueba — Nómina Chilena Simpledigital
Módulo: l10n_cl_simpledigital_payroll · Odoo 18 · Versión 18.0.1.0.0
TC-01 · Configuración Previa
Requisitos que deben cumplirse antes de procesar cualquier nómina.
# | Caso | Resultado esperado |
|---|---|---|
TC-01-1 | Cargar Indicadores Previred para el período actual (manual o cron) | Existen registros con fecha dentro del mes a procesar |
TC-01-2 | Cargar tabla de Impuesto 2da Categoría para el período | Existe al menos un registro con fecha dentro del período |
TC-01-3 | Revisar ficha de empresa: RUT, CCAF, opción gratificación, moneda CLP | Todos los campos obligatorios completos |
TC-01-4 | Ejecutar manualmente el cron de descarga de indicadores Previred | Indicadores del mes descargados sin errores en el log |
Nota: si TC-01-1 o TC-01-2 fallan, compute_sheet() lanza UserError y bloquea toda la nómina.
TC-02 · Empleado — Validación de RUT
# | Input | Resultado esperado |
|---|---|---|
TC-02-1 | 12.345.678-9 (formato correcto) | Se guarda sin error |
TC-02-2 | 123456789 (sin puntos ni guión) | Se formatea automáticamente a 12.345.678-9 al salir del campo |
TC-02-3 | 7654321K (DV = K) | Se formatea a 7.654.321-K y se guarda |
TC-02-4 | 11.111.111-1 (RUT inválido) | ValidationError — "El RUT ingresado no es válido" |
TC-02-5 | AB.CDE.FGH-1 (cuerpo no numérico) | Campo se limpia y muestra advertencia |
TC-03 · Contrato
# | Caso | Resultado esperado |
|---|---|---|
TC-03-1 | Contrato con AFP Habitat + ISAPRE Consalud (plan CLP) | Líneas de nómina muestran AFP - AFP Habitat y Salud (ISAPRE) - Consalud |
TC-03-2 | Contrato con AFP + FONASA Tramo B | Línea de salud muestra Salud (FONASA) - Fonasa |
TC-03-3 | Activar has_apvi = True y has_apvc = True al mismo tiempo | ValidationError — "No se puede tener APVI y APVC al mismo tiempo" |
TC-03-4 | Contrato indefinido con AFC habilitado | Tasa AFC empleador = 2.4% |
TC-03-5 | Contrato plazo fijo con AFC habilitado | Tasa AFC empleador = 3% |
TC-03-6 | Contrato con is_retired_elderly = True | No aparece descuento de AFP en la liquidación |
TC-03-7 | Contrato con 2 cargas simples Tramo A | Aparece línea de asignación familiar en la liquidación |
TC-03-8 | Crear contrato con date_start hace 18 meses | Se crea asignación de vacaciones ≈ 22.5 días (18/12 × 15) automáticamente |
TC-03-9 | Modificar date_start de un contrato existente | Asignación de vacaciones se recalcula con los nuevos días |
TC-04 · Liquidación de Sueldo
Casos base
# | Caso | Resultado esperado |
|---|---|---|
TC-04-1 | Empleado mes completo sin ausencias | WORK100 = 30 días, sueldo bruto = sueldo base completo |
TC-04-2 | Contrato con date_start = día 16 del mes | OUT = 15 días · WORK100 = 15 días · Sueldo = (base / 30) × 15 |
TC-04-3 | Contrato con date_end = día 20 del mes | Total días pagados = 20 |
TC-04-4 | Calcular nómina sin Indicadores Previred cargados | UserError indicando que faltan los indicadores |
TC-04-5 | Calcular nómina sin tabla de Impuesto 2da Categoría | UserError indicando que falta el impuesto |
Ausencias
# | Caso | Resultado esperado |
|---|---|---|
TC-04-6 | Licencia médica del lunes al domingo (7 días, cruza fin de semana) | Días licencia = 7 días calendario (no 5 hábiles) |
TC-04-7 | Licencia médica que cubre todo el mes | WORK100 = 0 · Línea LIC = 30 |
TC-04-8 | Licencia médica en febrero (28 días reales) | Línea LIC = 30 días (se completan los 2 días extra por norma chilena) |
TC-04-9 | Falta injustificada de lunes a miércoles (3 días) | Días falta = 3 días hábiles (fines de semana excluidos) |
TC-04-10 | 10 días hábiles de vacaciones aprobadas | Línea vacaciones = 10 · WORK100 se reduce en 10 |
TC-04-11 | Falta (3 días) + licencia médica (5 días) en el mismo mes | WORK100 = 22 · No queda negativo |
Horas extras
# | Caso | Resultado esperado |
|---|---|---|
TC-04-12 | Contrato con has_extra_hours = True y extra_hours = 10 | Valor HH.EE. = (base / 30 / 8) × 1.5 × 10 |
TC-04-13 | Movimientos de empleado con horas registradas en el período | overtime_hours muestra la suma correcta de todas las horas del período |
TC-05 · CCAF
# | Caso | Resultado esperado |
|---|---|---|
TC-05-1 | Crear descuento CCAF para empleado cuya empresa tiene Los Andes | Campo ccaf se autocompleta con Los Andes |
TC-05-2 | Crédito con 12 cuotas totales, start_date hace 4 meses | remaining_installments = 8 |
TC-05-3 | Ejecutar cron _cron_update_ccaf_credits con crédito de 3 cuotas restantes | remaining_installments = 2 |
TC-05-4 | Ejecutar cron con crédito de 1 cuota restante | remaining_installments = 0 · active = False |
TC-05-5 | Empleado con crédito CCAF activo de $100.000/mes | Línea de descuento CCAF aparece en la liquidación con el monto correcto |
TC-06 · Vacaciones
# | Caso | Resultado esperado |
|---|---|---|
TC-06-1 | Ejecutar cron _cron_update_vacation_allocations con contratos activos | Cada contrato suma 1.25 días a su asignación |
TC-06-2 | Ejecutar cron para contrato activo sin asignación previa | Se crea asignación nueva con 1.25 días |
TC-06-3 | Aprobar 5 días hábiles de vacaciones a empleado con saldo de 15 días | Saldo disponible queda en 10 días |
TC-07 · Reportes
# | Caso | Resultado esperado |
|---|---|---|
TC-07-1 | Generar TXT Previred para un mes con nóminas en estado done | Archivo .txt descarga con una fila por empleado y campos Previred correctos |
TC-07-2 | Exportar Libro de Remuneraciones CSV con encabezados | CSV descarga con encabezados y una fila por empleado/mes |
TC-07-3 | Imprimir PDF de empleado con AFP Cuprum + ISAPRE Banmédica | PDF muestra AFP - AFP Cuprum y Salud (ISAPRE) - Banmédica (no el nombre genérico) |
TC-07-4 | Exportar Libro de Remuneraciones para período sin nóminas | Muestra error o CSV vacío — no falla silenciosamente |
TC-08 · Término de Contrato
# | Caso | Resultado esperado |
|---|---|---|
TC-08-1 | Seleccionar causal legal Art. 159 Nº1 (Mutuo Acuerdo) al retirar empleado | Campo causal_contract_end_id queda registrado en la ficha del empleado |
TC-08-2 | Nómina del mes de término con date_end = día 20 | Se pagan solo 20 días proporcionales |
Orden de ejecución recomendado (instalación en cliente nuevo)
Paso | Caso | Motivo |
|---|---|---|
1 | TC-01 completo | Sin indicadores y tabla de impuesto nada arranca |
2 | TC-02 | Verificar que el formato RUT chileno funciona |
3 | TC-03-8 | Confirmar asignación automática de vacaciones al crear contrato |
4 | TC-04-1 | Caso base — mes completo sin ausencias |
5 | TC-04-2 | Empleado que entra a mitad de mes (OUT days) |
6 | TC-04-6 / TC-04-8 | Licencia médica — es la lógica más customizada del módulo |
7 | TC-07-1 / TC-07-2 | Reportes — lo que el cliente entrega a Previred y SII |