CFDI 4.0
Recibo de nómina
El pago a un trabajador con percepciones, deducciones y otros pagos.
Nómina 1.2
Lo que hay que cuidar
- Las llaves pueden ir en camelCase (fechaPago) o como el SAT (FechaPago): no distinguen mayúsculas.
- TipoDeComprobante «N», UsoCFDI CN01 y régimen del receptor 605.
- El subsidio para el empleo va en otrosPagos aunque sea cero.
- El ejemplo trae una trabajadora inventada: en pruebas cámbiala por la persona física de prueba del SAT (viene con sus certificados de prueba), con el nombre «Pruebas» (así, con minúsculas) y CP 94310.
La petición
El cuerpo completo, como se mandó. Guárdalo como nomina.json y mándalo con el lenguaje que uses.
{
"comprobante": {
"exportacion": "01",
"tipoDeComprobante": "N",
"metodoPago": "PUE",
"moneda": "MXN",
"lugarExpedicion": "94734",
"fecha": "2026-10-29T21:19:11",
"serie": "NOM",
"folio": "3",
"subtotal": "5000.00",
"total": "4500.00",
"descuento": "500.00",
"emisor": {
"rfc": "EKU9003173C9",
"nombre": "ESCUELA KEMPER URGATE",
"regimenFiscal": "601"
},
"receptor": {
"rfc": "PEEA900101ABA",
"nombre": "Pruebas",
"usoCFDI": "CN01",
"regimenFiscalReceptor": "605",
"domicilioFiscalReceptor": "94310"
},
"conceptos": [
{
"claveProdServ": "84111505",
"claveUnidad": "ACT",
"cantidad": 1,
"descripcion": "Pago de nómina",
"valorUnitario": "5000.00",
"importe": "5000.00",
"objetoImp": "01",
"descuento": "500.00"
}
],
"nomina": {
"tipoNomina": "O",
"fechaPago": "2026-10-15",
"fechaInicialPago": "2026-10-01",
"fechaFinalPago": "2026-10-15",
"numDiasPagados": "15",
"totalPercepciones": "5000.00",
"emisor": {
"rfc": "EKU9003173C9",
"registroPatronal": "B5510768108",
"razonSocial": "ESCUELA KEMPER URGATE",
"regimenFiscal": "601",
"entidadSNCF": "IP"
},
"receptor": {
"rfc": "PEEA900101ABA",
"nombreEmpleado": "Pruebas",
"curp": "PEEA900101MGTRJN01",
"tipoContrato": "01",
"tipoRegimen": "02",
"numEmpleado": "120",
"periodicidadPago": "04",
"numSeguridadSocial": "12345678901",
"fechaInicioRelLaboral": "2020-01-01",
"antigüedad": "P301W",
"riesgoPuesto": "1",
"salarioBaseCotApor": "350.00",
"salarioDiarioIntegrado": "360.00",
"claveEntFed": "GUA",
"tipoJornada": "01",
"sindicalizado": "Sí",
"departamento": "Docencia",
"puesto": "Profesora"
},
"percepciones": {
"totalGravado": "5000.00",
"totalExento": "0.00",
"totalSueldos": "5000.00",
"percepcion": [
{
"tipoPercepcion": "001",
"clave": "001",
"concepto": "Sueldo",
"importeGravado": "5000.00",
"importeExento": "0.00"
}
]
},
"totalDeducciones": "500.00",
"deducciones": {
"totalImpuestosRetenidos": "500.00",
"deduccion": [
{
"tipoDeduccion": "002",
"clave": "002",
"concepto": "ISR",
"importe": "500.00"
}
]
},
"totalOtrosPagos": "0.00",
"otrosPagos": [
{
"tipoOtroPago": "002",
"clave": "002",
"concepto": "Subsidio para el empleo",
"importe": "0.00",
"subsidioAlEmpleo": {
"subsidioCausado": "0.00"
}
}
]
}
}
}Antes de mandarlo
Cambia la
Fecha por la de ahora: el SAT acepta hasta 72 horas atrás. Si mandas dos veces el mismo comprobante, la segunda responde 506 con el mismo UUID: es la protección contra timbres dobles.La respuesta
Respuesta · HTTP 200
{
"Codigo": "100",
"Mensaje": "Comprobante timbrado exitosamente",
"UUID": "C655782A-C8B8-43CC-8608-DD87C2271D4D",
"XMLBase64": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxj…",
"PDFBase64": null,
"IdSeguimiento": "a72ed336131e3f5589cfbab93405ceb3fea2cd114a97f3305f0294594eea7330"
}El XML timbrado
Lo que trae XMLBase64, ya decodificado. El sello y el certificado se ven recortados; al copiar va completo.
C655782A-C8B8-43CC-8608-DD87C2271D4D.xml
<?xml version='1.0' encoding='UTF-8'?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4" xmlns:nomina12="http://www.sat.gob.mx/nomina12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="4.0" Serie="NOM" Folio="3" Fecha="2026-10-29T21:19:11" Sello="SFxOHFR3inOCKyaYi0MHehBj2gPR…aV5w==" NoCertificado="30001000000500003416" Certificado="MIIFsDCCA5igAwIBAgIUMzAwMDEw…TW6BE=" SubTotal="5000.00" Descuento="500.00" Moneda="MXN" Total="4500.00" TipoDeComprobante="N" Exportacion="01" MetodoPago="PUE" LugarExpedicion="94734" xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd">
<cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="PEEA900101ABA" Nombre="Pruebas" DomicilioFiscalReceptor="94310" RegimenFiscalReceptor="605" UsoCFDI="CN01"/>
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="84111505" Cantidad="1" ClaveUnidad="ACT" Descripcion="Pago de nómina" ValorUnitario="5000.00" Importe="5000.00" Descuento="500.00" ObjetoImp="01"/>
</cfdi:Conceptos>
<cfdi:Complemento>
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="C655782A-C8B8-43CC-8608-DD87C2271D4D" FechaTimbrado="2026-10-29T21:24:12" RfcProvCertif="SPR190613I52" SelloCFD="SFxOHFR3inOCKyaYi0MHehBj2gPR…aV5w==" NoCertificadoSAT="30001000000500003456" SelloSAT="ITtad1Nuoeix35QUNj1DWSBcNH7K…IfCQ=="/>
<nomina12:Nomina Version="1.2" TipoNomina="O" FechaPago="2026-10-15" FechaInicialPago="2026-10-01" FechaFinalPago="2026-10-15" NumDiasPagados="15" TotalPercepciones="5000.00" TotalDeducciones="500.00" TotalOtrosPagos="0.00">
<nomina12:Emisor RegistroPatronal="B5510768108">
<nomina12:EntidadSNCF OrigenRecurso="IP"/>
</nomina12:Emisor>
<nomina12:Receptor Curp="PEEA900101MGTRJN01" NumSeguridadSocial="12345678901" FechaInicioRelLaboral="2020-01-01" Antigüedad="P301W" TipoContrato="01" Sindicalizado="Sí" TipoJornada="01" TipoRegimen="02" NumEmpleado="120" Departamento="Docencia" Puesto="Profesora" RiesgoPuesto="1" PeriodicidadPago="04" SalarioBaseCotApor="350.00" SalarioDiarioIntegrado="360.00" ClaveEntFed="GUA"/>
<nomina12:Percepciones TotalSueldos="5000.00" TotalGravado="5000.00" TotalExento="0.00">
<nomina12:Percepcion TipoPercepcion="001" Clave="001" Concepto="Sueldo" ImporteGravado="5000.00" ImporteExento="0.00"/>
</nomina12:Percepciones>
<nomina12:Deducciones TotalImpuestosRetenidos="500.00">
<nomina12:Deduccion TipoDeduccion="002" Clave="002" Concepto="ISR" Importe="500.00"/>
</nomina12:Deducciones>
<nomina12:OtrosPagos>
<nomina12:OtroPago TipoOtroPago="002" Clave="002" Concepto="Subsidio para el empleo" Importe="0.00">
<nomina12:SubsidioAlEmpleo SubsidioCausado="0.00"/>
</nomina12:OtroPago>
</nomina12:OtrosPagos>
</nomina12:Nomina>
</cfdi:Complemento>
</cfdi:Comprobante>
Timbrado en el ambiente de pruebas el 29 de octubre de 2026.
