TL;DR — Quick Summary
Fix payroll CFDI stamping with disability leave: incapacity type, days, IMSS notice, pay period dates, and Nomina 1.2 complement validation before the PAC.
Stamping a payroll CFDI (type N) with disability leave (incapacidad) is a top source of rejections under the SAT Nomina 1.2 complement: the employee did not work those days, but the employer must report incapacity type, days, subsidy amount, and consistency with pay period dates, NSS, contribution base salary, and earnings. When the PAC returns CFDI40999, NOM44, invalid Incapacidades, or invalid monetary amount, the root cause is usually bad data versus the IMSS notice, not the digital seal certificate.
The Error
Common PAC messages when stamping payroll with disability:
Incapacidades field is not valid
Incapacity type does not exist in catalog
Disability days do not match the pay period
Incapacity monetary amount out of range
Payroll complement: earnings validation error
The ERP often shows a generic stamping error first; useful detail is in the PAC log or XML response viewer.
How disability is reported in payroll CFDI
Inside Nomina complement 1.2, the Incapacidades node may repeat. Each entry includes:
- DiasIncapacidad — integer days paid on that receipt.
- TipoIncapacidad — SAT catalog key (work risk, general illness, maternity).
- ImporteMonetario — subsidy or related amount for those days in the period.
This block must align with FechaInicialPago, FechaFinalPago, NumDiasPagados, Percepciones, and Deducciones. If disability days fall outside the pay period on the receipt, validation fails. If amount does not match days × subsidy factor for the type, the PAC rejects.
Cause 1: Wrong incapacity type
IMSS categories must map to c_TipoIncapacidad. Mixing general illness with work risk changes subsidy percentage and expected amount.
Fix: open the IMSS notice, map to the SAT key in the ERP, refresh payroll catalogs if you migrated complement versions.
Cause 2: Days not aligned to the period
Example: biweekly period 1–15 with disability 10–25. Putting 16 days on one biweekly receipt or splitting inconsistently fails stamping.
Rules: DiasIncapacidad on the XML must fall inside FechaInicialPago and FechaFinalPago for that receipt; do not stamp the same days twice; keep NumDiasPagados policy consistent month to month.
Cause 3: Wrong monetary amount
ImporteMonetario is not full ordinary wages—it is the subsidy-related amount for that period per rules and internal policy.
Common mistakes: putting net pay in ImporteMonetario; missing the backing perception line; mixing disability with absences or employer-paid sick leave without separate concepts.
Recalculate only the affected employee and compare exempt earnings sum to ImporteMonetario in exported XML.
Cause 4: Incorrect affiliate data
Wrong NSS digit, CURP mismatch, bad RegistroPatronal, or outdated SalarioBaseCotización produce errors sometimes blamed on Incapacidades.
Verify 11-digit NSS in IDSE, contract and shift types, job risk class, and IMSS disability registration when required.
Cause 5: Severance or bonus mixed with open disability
Final pay or settlement receipts may duplicate days or add indemnity that breaks complement consistency. Stamp ordinary period with corrected disability first; handle severance in a separate CFDI without repeating the same DiasIncapacidad.
Step-by-step solution
- Freeze IMSS notice data (type, dates, days, percentage, NSS).
- Isolate the employee receipt in the ERP; clear bad prior disability rows.
- Recalculate earnings and deductions; sanity-check net pay.
- Inspect Nomina12 XML
Incapacidadesagainst the notice. - Stamp, save UUID, PDF, notice, and calculation sheet.
Prevention
- HR loads disability the same day as the IMSS notice using a standard template.
- Keep c_TipoIncapacidad catalog current.
- Audit disability receipts before mass month-end stamping.
- Reconcile IMSS disability report vs stamped receipts each pay cycle.
Summary
- Payroll stamping errors with disability are usually type, days, or amount in Incapacidades.
- Align IMSS notice, pay period, and perceptions before retrying.
- Validate Nomina 1.2 XML locally; fix one field per error code.
- Archive UUID, PDF, and IMSS notice for audits.