Soporte para el pago de idemnizaciones
¿Qué problema se intenta resolver?
Actualmente al intentar timbrar un recibo de nómina que contenga el pago de indemnizaciones el sistema arroja un error de validación con respecto a las especificaciones del CFDI de nóminas emitidas por el SAT porque no se está considerando desglozar el campo TotalSeparacionIndemnizacion
Fundamentos y/o Información adicional
De acuerdo con la guía de llenado del CFDI de nómina emitida por el SAT, el campo TotalSueldos solo debe incluir las percepciones que no lleven las claves: 022, 023, 025, 039 o 044.
Las percepciones que llevan las claves: 022, 023, 025, 039 o 044 deben estar totalizadas en el campo TotalSeparacionIndemnizacion
Propuesta
- Agregar aquí una variable total_sueldos que permita calcular la suma de las percepciones cuyas claves no son 022, 023, 025, 039 o 044.
total_sueldos = sumif(o.line_ids, 'total', [('category_id.code', '=', 'PERC'), 'salary_rule_id.code_sat', 'not in', ['022', '023', '025', '039', '044'])]);
- Agregar una variable total_indemnizaciones para calcular la suma de las percepciones cuyas claves son 022, 023, 025, 039 o 044.
total_indemnizaciones = sumif(o.line_ids, 'total', [('category_id.code', '=', 'PERC'), 'salary_rule_id.code_sat', 'in', ['022', '023', '025', '039', '044'])]);
- Modificar el valor que se agrega al atributo
TotalSueldos
para utilizar el valor de la variabletotal_sueldos
- Agregar el atributo
TotalSeparacionIndemnizacion
y utilizar el valor de la variabletotal_indemnizaciones
para determinar el valor correspondiente.