📄 Casos de Prueba — Nómina Chilena Simpledigital

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