FiscalAPI
CFDI de Nómina: Guía Técnica del Complemento 1.2

CFDI de Nómina: Guía Técnica del Complemento 1.2

6 de abril de 2026

El CFDI de nómina es, probablemente, el comprobante fiscal más complejo que vas a integrar. No por la cantidad de campos -- que son muchos -- sino porque cada campo conecta con un cálculo laboral, una tabla del SAT, o una regla de seguridad social que cambia cada año. He visto equipos que integran facturación de ingreso en una semana y se tardan dos meses en tener nómina electrónica funcionando en producción. La diferencia no es técnica. Es que nómina toca ISR, IMSS, subsidio al empleo, y un catálogo de percepciones y deducciones que el SAT decidió hacer lo más granular posible.

Si tu sistema necesita emitir recibos de nómina CFDI, esta guía cubre la estructura del complemento de nómina 1.2, los nodos que lo componen, los catálogos que necesitas y los errores que vas a encontrar en producción.

Qué es el CFDI de nómina

El CFDI de nómina es un comprobante fiscal digital de tipo "N" que documenta el pago de sueldos, salarios y asimilados a trabajadores. Cada vez que una empresa paga a un empleado -- sea semanal, quincenal o mensualmente -- debe emitir un CFDI de nómina individual por cada trabajador y cada periodo de pago.

La estructura tiene dos capas. La primera es el CFDI 4.0 estándar con sus nodos de Comprobante, Emisor, Receptor y Conceptos. La segunda es el Complemento de Nómina 1.2, un bloque XML adicional que contiene toda la información laboral: percepciones, deducciones, otros pagos, datos del empleador y datos del trabajador. El complemento es donde vive la complejidad real.

La versión 1.2 del complemento de nómina está vigente desde 2017 y no ha cambiado de versión, aunque el SAT ha publicado múltiples revisiones a las reglas de validación. Que no haya cambiado de número no significa que las reglas sean las mismas que hace ocho años.

Todo empleador en México -- personas morales y personas físicas con trabajadores -- está obligado a emitir CFDI de nómina. No hay excepción por tamaño. Si tienes un solo empleado, emites recibo de nómina CFDI. La obligación aplica también para pagos asimilados a salarios (honorarios asimilados, comisionistas, etc.).

Estructura del CFDI de nómina: sobre y complemento

Un recibo de nómina CFDI es un XML con dos partes que se ensamblan. El sobre (CFDI 4.0) y el contenido (Complemento Nómina 1.2). Este diagrama muestra cómo se relacionan.

El nodo Comprobante del CFDI de nómina tiene particularidades que lo distinguen de una factura normal. El tipo de comprobante es N, la forma de pago es la real (generalmente 03 para transferencia o 99 en ciertos casos), el método de pago siempre es PUE, y el uso de CFDI del receptor es CN01 (Nómina). El concepto es uno solo con la clave de producto 84111505 (Servicios de nómina) y clave de unidad ACT (Actividad).

Nodos del sobre CFDI

NodoCampo claveValor para nómina
ComprobanteTipoDeComprobanteN
MetodoPagoPUE
FormaPagoClave real (03, 02, 01, etc.)
LugarExpedicionCP del patrón
MonedaMXN (siempre pesos mexicanos)
EmisorRegimenFiscalRégimen del patrón
ReceptorUsoCFDICN01 (Nómina)
RegimenFiscalReceptor605 (Sueldos y Salarios)
ConceptoClaveProdServ84111505
ClaveUnidadACT
ObjetoImp01 (No objeto de impuesto)

El régimen fiscal del receptor en un CFDI de nómina casi siempre es 605 (Sueldos y Salarios e Ingresos Asimilados a Salarios). Si el trabajador tiene otro régimen registrado ante el SAT y lo usas aquí, el timbrado se rechaza. La excepción son asimilados a salarios que podrían tener 606 o 612, pero en la práctica el PAC espera 605 para nómina.

Nodos del complemento nómina 1.2

El complemento es donde están los datos que realmente importan para nómina electrónica. Estos son los nodos principales.

NodoCampos principalesDescripción
NominaTipoNomina, FechaPago, FechaInicialPago, FechaFinalPago, NumDiasPagados, TotalPercepciones, TotalDeducciones, TotalOtrosPagosDatos generales del periodo
Emisor (Nómina)RegistroPatronalRegistro IMSS del patrón
Receptor (Nómina)NumSeguridadSocial, FechaInicioRelLaboral, Antigüedad, TipoContrato, TipoJornada, PeriodicidadPago, SalarioBaseCotApor, SalarioDiarioIntegrado, ClaveEntFed, Departamento, Puesto, RiesgoPublicoDatos laborales del trabajador
PercepcionesTotalSueldos, TotalGravado, TotalExentoContenedor de percepciones individuales
DeduccionesTotalOtrasDeducciones, TotalImpuestosRetenidosContenedor de deducciones individuales
OtrosPagos--Subsidio al empleo, viáticos, reintegros

El campo TipoNomina acepta dos valores: O para nómina ordinaria (pago regular del periodo) y E para nómina extraordinaria (aguinaldo, PTU, finiquito, liquidación). Un error frecuente es meter el aguinaldo en la nómina ordinaria. El SAT espera que vaya separado como nómina extraordinaria.

Percepciones: lo que el trabajador recibe

Las percepciones son todo ingreso que el trabajador obtiene por su relación laboral. Cada percepción tiene un tipo (clave del catálogo c_TipoPercepcion), un importe gravado y un importe exento. La distinción entre gravado y exento es crítica para el cálculo de ISR.

ClaveTipo de percepciónGravadoExento
001Sueldos, Salarios, Rayas y JornalesNo
002Gratificación Anual (Aguinaldo)ParcialHasta 30 UMA
003Participación de los Trabajadores en las Utilidades (PTU)ParcialHasta 15 UMA
004Reembolso de Gastos Médicos Dentales y HospitalariosNo
005Fondo de AhorroParcialCondicional
009Vales de DespensaParcialHasta 40% UMA mensual
010Premios por PuntualidadParcialHasta 10% del SBC
019Horas ExtraParcialSegún límite legal
020Prima DominicalParcialHasta 1 UMA semanal
022Prima VacacionalParcialHasta 15 UMA
023Participación en PTUParcialHasta 15 UMA
025IndemnizacionesParcialHasta 90 UMA por año
028ComisionesNo
029Vales de GasolinaParcialCondicional
039Jubilaciones, Pensiones o Haberes de RetiroParcialHasta 15 UMA diarios
044Prima por AntigüedadParcialHasta 90 UMA por año
045Ingresos en Acciones o Títulos ValorNo

La UMA (Unidad de Medida y Actualización) cambia cada año. En 2026 la UMA diaria es $113.14 MXN. Todos los límites de exención de percepciones se calculan con la UMA vigente, no con el salario mínimo. Si tu sistema tiene la UMA hardcodeada en lugar de configurable, vas a tener problemas cada febrero cuando se actualiza.

El nodo Percepciones agrupa todas las percepciones individuales y calcula tres totales: TotalSueldos (suma de percepciones de tipo sueldo), TotalGravado (suma de importes gravados de todas las percepciones) y TotalExento (suma de importes exentos). Estos totales deben cuadrar aritméticamente con las percepciones individuales. Si hay un centavo de diferencia, el PAC rechaza el timbrado.

Deducciones: lo que se retiene al trabajador

Las deducciones representan todo descuento que se aplica al ingreso del trabajador. El catálogo c_TipoDeduccion del SAT tiene más de 100 claves, pero en la práctica el 95% de los recibos de nómina usa estas.

ClaveTipo de deducciónDescripción
001Seguridad SocialCuotas obrero-patronales IMSS
002ISRImpuesto Sobre la Renta retenido
003Aportaciones a Retiro, Cesantía en Edad Avanzada y VejezSAR y RCV
004OtrosDeducciones genéricas no clasificadas
005Aportaciones a Fondo de ViviendaCuotas INFONAVIT
006Descuento por IncapacidadDías no laborados por incapacidad
007Pensión AlimenticiaDescuento por orden judicial
008RentaDescuento por vivienda proporcionada por el patrón
009Préstamos Provenientes del Fondo Nacional de la Vivienda para los TrabajadoresCrédito INFONAVIT
010Pago por Crédito de ViviendaRetención por crédito INFONAVIT
012Anticipo de SalariosDescuento por anticipo otorgado
014Cuotas SindicalesRetención para sindicato

Deducciones de impuestos

Las deducciones con clave 002 (ISR) se suman en el campo TotalImpuestosRetenidos del nodo Deducciones. Este campo alimenta directamente la declaración de retenciones del patrón. Si el ISR retenido no cuadra con las tablas de ISR vigentes, el SAT eventualmente lo detecta en la conciliación anual.

El cálculo del ISR en nómina no es trivial. Involucra la tabla del artículo 96 de la LISR, el subsidio al empleo, y ajustes por periodo. Un centavo mal redondeado se acumula en 24 quincenas y genera diferencias en la declaración anual del trabajador.

Deducciones de seguridad social

Las claves 001, 003 y 005 corresponden a las cuotas que el trabajador aporta al IMSS, al SAR/RCV y al INFONAVIT. Estas se calculan sobre el Salario Base de Cotización (SBC), que no es lo mismo que el sueldo neto ni que el sueldo bruto.

El SBC integra percepciones fijas como aguinaldo, prima vacacional y cualquier prestación que exceda los mínimos de ley. Si tu sistema calcula las cuotas IMSS sobre el sueldo mensual en lugar del SBC, las deducciones van a estar mal y el IMSS va a reclamar diferencias.

OtrosPagos: el nodo que todos olvidan

El nodo OtrosPagos existe para registrar conceptos que el patrón paga pero que no son percepciones gravadas ni exentas. El caso más común -- y el que más errores genera -- es el subsidio al empleo.

Cálculo de ISR en nómina

El ISR retenido en cada periodo de pago es el campo que más discrepancias genera entre lo que calcula el sistema de nómina y lo que el SAT espera ver. El proceso involucra la tabla del artículo 96 de la LISR y el subsidio al empleo, y se repite en cada pago.

1

Determinar el ingreso gravado del periodo#

Suma todas las percepciones gravadas del periodo. No incluyas las exentas. Si el trabajador tiene horas extra gravadas, bonos, comisiones u otros ingresos variables, se suman al sueldo base gravado del periodo.

2

Ubicar el rango en la tabla del artículo 96#

La tabla tiene rangos de ingreso con un límite inferior, un límite superior, una cuota fija y un porcentaje sobre el excedente. Identifica en qué rango cae el ingreso gravado del periodo. Las tablas se publican para periodos mensuales, quincenales, semanales y diarios. Usa la que corresponda a tu periodicidad de pago.

3

Calcular el ISR antes de subsidio#

Resta el límite inferior al ingreso gravado para obtener el excedente. Multiplica el excedente por el porcentaje del rango. Suma la cuota fija. El resultado es el ISR determinado antes de aplicar subsidio al empleo. Consulta las tablas de ISR 2026 para los valores vigentes.

4

Aplicar el subsidio al empleo#

Busca el subsidio que corresponde al ingreso gravado en la tabla de subsidio al empleo. Si el subsidio es mayor o igual al ISR determinado, no hay retención de ISR y la diferencia se paga al trabajador. Si el ISR es mayor que el subsidio, la diferencia es la retención de ISR que va en deducciones con clave 002.

5

Registrar en el complemento#

El ISR retenido va como deducción tipo 002. El subsidio causado va en OtrosPagos con clave 002 y subnodo SubsidioAlEmpleo. Ambos deben estar presentes para que las cuentas cuadren ante el SAT.

He visto sistemas que calculan el ISR mensual y lo dividen entre el número de periodos. Eso no funciona. El SAT espera que uses la tabla del periodo específico (quincenal, semanal, etc.), no una prorrata de la tabla mensual. La diferencia puede ser de centavos por periodo, pero acumulada en un año genera observaciones.

Plazos de emisión del CFDI de nómina

El CFDI de nómina debe emitirse el mismo día del pago o, a más tardar, el día hábil siguiente. No hay un periodo de gracia de 5 días como con el complemento de pago. La regla es estricta porque el SAT usa la fecha de emisión del recibo de nómina para validar las declaraciones mensuales de retenciones.

En la práctica, la mayoría de los sistemas de nómina timbran los recibos el mismo día que se ejecuta la dispersión bancaria. Si tu proceso de nómina genera los recibos en batch y los timbra después, asegúrate de que el timbrado ocurra antes del cierre del día hábil siguiente al pago. Si el timbrado falla y lo reintentas tres días después, la fecha de emisión del CFDI ya no va a corresponder al periodo de pago, y eso genera inconsistencias.

Para nóminas extraordinarias (aguinaldo, PTU, finiquitos), la fecha de pago en el complemento debe coincidir con la fecha en que el trabajador recibió el dinero, no con la fecha de cálculo. Si calculas el aguinaldo el 10 de diciembre pero lo pagas el 15, la fecha de pago es el 15.

Errores comunes en el timbrado de nómina

Después de integrar timbrado de nómina para múltiples empresas, puedo decirte que los errores se repiten con una previsibilidad casi cómica. Estos son los que vas a encontrar.

Cancelación de CFDI de nómina

La cancelación de un CFDI de nómina tiene una ventaja sobre otros tipos de CFDI: no requiere aceptación del receptor. El patrón puede cancelar un recibo de nómina directamente, sin que el trabajador tenga que aprobar la cancelación en el buzón tributario. Esto es porque el SAT entiende que la relación laboral tiene una asimetría donde el patrón controla la emisión.

El motivo de cancelación más común es 02 (Comprobante emitido con errores sin relación). Si necesitas reemplazar un recibo de nómina por uno corregido, usas motivo 01 (Comprobante emitido con errores con relación) e indicas el UUID del nuevo recibo que sustituye al cancelado. Más detalles sobre los flujos de cancelación en la guía de cancelación de facturas.

El plazo para cancelar CFDIs de nómina del ejercicio vigente es el 30 de abril del año siguiente. Si emitiste un recibo de nómina en 2026 con errores, tienes hasta el 30 de abril de 2027 para cancelarlo. Después de esa fecha, la cancelación requiere un trámite especial ante el SAT que nadie quiere hacer.

Cancelar un CFDI de nómina no revierte las implicaciones fiscales automáticamente. Las retenciones de ISR y las cuotas de IMSS reportadas en ese periodo siguen vigentes hasta que emitas el recibo corregido y presentes las declaraciones complementarias correspondientes. Cancelar sin reexpedir deja un hueco fiscal que el SAT detecta en la conciliación anual.

Cómo automatizar la nómina electrónica con Fiscalapi

El timbrado de nómina a través de la API de Fiscalapi funciona con la misma mecánica que cualquier otro CFDI: construyes el objeto con los datos del comprobante y el complemento, lo envías al endpoint de timbrado, y Fiscalapi se encarga de la validación, el sellado y el timbrado ante el PAC. La diferencia está en que el payload de nómina incluye el complemento 1.2 con todos los nodos de percepciones, deducciones y otros pagos.

La documentación completa del endpoint de nómina está en docs.fiscalapi.com, incluyendo los objetos de request para cada nodo del complemento y los códigos de error específicos de nómina. Los SDKs de Fiscalapi en GitHub incluyen ejemplos para los lenguajes soportados.