Mexico Payroll CFDI
Mexico electronic payroll for Odoo: CFDI Nomina 1.2 XML (bring your own PAC), 2026 ISR tarifa + subsidio para el empleo, IMSS worker contributions, CURP/NSS
México Nómina (CFDI) para Odoo
Calcule la nómina mexicana — ISR e IMSS — y genere el comprobante CFDI de Nómina 1.2, construido sobre Odoo HR (sin necesidad de nómina Enterprise).
Qué hace
Calcula la retención mensual de ISR con la tarifa del SAT (Art. 96 LISR) y el subsidio para el empleo, además de la cuota obrera de IMSS sobre el SBC (con tope de 25 UMA). Genera el complemento CFDI de Nómina 1.2 (Comprobante tipo N con Percepciones y Deducciones), e incluye los cálculos de aguinaldo, prima vacacional y finiquito conforme a la LFT.
Funciones principales
CFDI Nómina 4.0 / 1.2
Comprobante tipo N con nodo Conceptos (84111505) y complemento Nómina 1.2 (Percepciones y Deducciones). Genera el XML pre‑timbre; el timbrado lo realiza su propio PAC autorizado.
Retención de ISR 2026
Tarifa mensual vigente (Anexo 8 RMF 2026) con prorrateo por periodo y subsidio para el empleo conforme al Decreto DOF 31‑dic‑2025.
Cuota obrera IMSS
Cuotas del trabajador sobre el SBC con tope de 25 UMA.
Aguinaldo
Aguinaldo (mínimo 15 días), proporcional, con la parte exenta de 30 UMA.
Prima Vacacional & Finiquito
Prima vacacional y liquidación por terminación laboral (tabla de vacaciones LFT 2023).
Datos fiscales del empleado
RFC, CURP (validado con el patrón oficial tdCFDI) y NSS (validado), salario diario, SBC, SDI, tipo de contrato, tipo de régimen, tipo de jornada, riesgo de puesto, entidad federativa, fecha de inicio de la relación laboral y número de empleado.
Campos obligatorios y condicionales del SAT
Se emiten todos los atributos requeridos de nomina12:Receptor: PeriodicidadPago, ClaveEntFed, Curp, TipoContrato, TipoRegimen y NumEmpleado. El bloque condicional se emite exactamente cuando corresponde: con TipoContrato 01 a 08 se genera el nodo nomina12:Emisor con el Registro Patronal junto con NSS, Fecha Inicio Rel. Laboral, Antigüedad, Riesgo Puesto y Salario Diario Integrado; con los demás tipos de contrato esos campos se omiten, tal como exige el estándar.
Registro del timbre
El botón Stamp invoca el método _l10n_mx_stamp_xml, un punto de extensión que usted sobrescribe en su propio módulo para conectar el PAC con el que ya trabaja. Si prefiere no programar, cargue el XML timbrado que le devolvió su PAC: el UUID, la fecha de timbrado, el sello del SAT y el número de certificado se leen del nodo TimbreFiscalDigital y quedan guardados en el recibo. El archivo se verifica contra el recibo antes de escribir nada.
Requisitos
- Odoo 18.0, 19.0 o 20.0 (Community o Enterprise). La aplicación hr (Empleados). Python: lxml.
- Complementa a México CFDI 4.0.
- Genera el XML pre‑timbre del CFDI de Nómina y registra el resultado del timbrado; el timbrado ante el SAT lo realiza su propio PAC autorizado (no somos PAC acreditado). Nunca le pedimos su certificado ni su contraseña: el sellado ocurre dentro de su PAC.
Descripción
Este módulo calcula la nómina mexicana — ISR (tarifa mensual del SAT más subsidio para el empleo) e IMSS del trabajador sobre el SBC (tope 25 UMA) — y genera el CFDI de Nómina 1.2 (Comprobante tipo N con Percepciones y Deducciones). Incluye aguinaldo, prima vacacional y finiquito conforme a la LFT. Construido sobre hr (sin nómina Enterprise). El XML generado se valida contra los esquemas oficiales del SAT (cfdv40.xsd y nomina12.xsd) dentro de la suite de pruebas. Compatible con Odoo 18, 19 y 20; traducciones en inglés y español (es_MX).
Soporte
Correo: support@pokutsoft.com
Autor: Pokutsoft — pokutsoft.com/
Update date: 2026-09-22
User guides (PDF)
Related modules
Mexico CFDI 4.0
Mexico CFDI 4.0 for Odoo: SAT-compliant XML, PAC stamping (timbrado), UUID, RFC validation, CFDI QR, cancellation
Mexico DIOT Report
Mexico DIOT for Odoo: cash-basis (flujo de efectivo) monthly informative return of vendor IVA, with the official SAT carga-masiva TXT export
Mexico Holidays
Calendario completo de 10 años de días festivos de Mexico, listo para Odoo HR. Festivos nacionales y religiosos - aplicados automáticamente al resource.calendar como ausencias.