El XML de un CFDI 4.0, campo por campo
Por Deepak Middha, fundador y autor de calcu.mxRevisado el 25 de septiembre de 2026
Lo esencial
Esta página es la referencia técnica del archivo: los 76 atributos del comprobante y del timbre con su nombre exacto, su uso y qué guarda cada uno. La versión 4.0 trajo 8 campos y nodos nuevos — 6 atributos sueltos y 2 nodos enteros, que entre todos suman 13 atributos nuevos—, y son los que rompen las facturas de quien venía de la 3.3.
- · Los nombres distinguen mayúsculas de minúsculas, y uno lleva eñe:
Año. - · Lo que convierte el archivo en comprobante fiscal es el nodo del timbre, que añade el PAC. Sin él es un borrador.
- · Un programa con los certificados públicos a la mano sí puede comprobar los sellos por criptografía. Lo que esa comprobación no hace es sustituir la consulta oficial del SAT ni decirte si el CFDI sigue vigente. Aquí se explica la diferencia, con la cita del propio SAT.
Fuente: esquemas cfdv40.xsd y TimbreFiscalDigitalv11.xsd, Anexo 20 y su Guía de llenado. Leídos el 25 de septiembre de 2026.
¿Buscabas otra cosa? Está en la página de al lado
- · Leer TU archivo y que te lo traduzcan — nuestro lector lo hace dentro de tu navegador, sin subirlo a ningún lado.
- · Por qué el XML es la factura y el PDF no — con la cita del artículo 29 del Código Fiscal.
- · Bajar tus XML del portal del SAT — con los límites de descarga.
- · Qué significa el error que te devolvió el SAT — los códigos de la matriz, con su arreglo.
Cómo está armado el archivo
Un CFDI es un XML con un nodo raíz, cfdi:Comprobante, del que cuelgan los demás en un orden que el esquema fija. Los prefijos no son decorativos: cfdi: apunta al espacio de nombres http://www.sat.gob.mx/cfd/4 —que es donde vive la versión 4.0— y tfd: a http://www.sat.gob.mx/TimbreFiscalDigital, que es un estándar aparte porque lo escribe otro: el PAC, no tú.
Fuente: esquema cfdv40.xsd y TimbreFiscalDigitalv11.xsd del SAT, leídos el 25 de septiembre de 2026. Elaboración de Calcu.mx. Los complementos —nómina, carta porte, pagos, comercio exterior— son esquemas aparte que se insertan dentro de cfdi:Complemento y tienen sus propios campos.
Busca un atributo
Si llegaste con un nombre suelto —el que te salió en un error de timbrado, en un correo de tu contador o en la pantalla de tu sistema— empieza por aquí. La tabla completa, nodo por nodo, está debajo.
Escribe el nombre tal como te salió: ObjetoImp, DomicilioFiscalReceptor, MetodoPago. También busca por nodo y por descripción.
76 de 76 atributos
VersionRequeridoLa versión del estándar. En el esquema está fijada al valor 4.0: no admite ningún otro.
Ojo: Es el campo que contesta de un vistazo si un archivo es 3.3 o 4.0.
SerieOpcionalSerie de control interno del emisor. Hasta 25 caracteres.
FolioOpcionalFolio de control interno del emisor. Hasta 40 caracteres.
Ojo: No es el folio fiscal. El que el SAT pide para verificar es el UUID del timbre, no éste.
FechaRequeridoFecha y hora de expedición, en formato AAAA-MM-DDThh:mm:ss y en la hora local del lugar donde se expide.
Ojo: No la confundas con FechaTimbrado, que va en el timbre y usa la hora del centro del país.
SelloRequeridoEl sello digital del emisor, en base 64. Lo genera con su Certificado de Sello Digital.
FormaPagoCondicionalCon qué se pagó la operación.
Valores cerrados por el catálogo
c_FormaPago.Ojo: Con MetodoPago PPD tiene que ser 99, «Por definir». Poner otra cosa es el error CFDI40105.
NoCertificadoRequeridoNúmero de serie del Certificado de Sello Digital del emisor. Veinte dígitos.
CertificadoRequeridoEl certificado del emisor completo, en base 64.
Ojo: Aquí está la asimetría de los dos sellos: el certificado del EMISOR sí viaja dentro del archivo, así que su firma se puede comprobar sin salir de él. El del SAT no viaja, y hay que descargarlo por su número de serie.
CondicionesDePagoCondicionalLas condiciones comerciales del pago, en texto libre.
SubTotalRequeridoSuma de los importes de los conceptos, antes de descuentos e impuestos.
DescuentoCondicionalTotal de descuentos antes de impuestos. Obligatorio si algún concepto trae descuento.
MonedaRequeridoClave ISO 4217 de la moneda. MXN para pesos.
Valores cerrados por el catálogo
c_Moneda.TipoCambioCondicionalTipo de cambio conforme a la moneda. Obligatorio cuando la moneda no es MXN ni XXX.
TotalRequeridoSubtotal, menos descuentos, más impuestos trasladados, menos retenidos.
TipoDeComprobanteRequeridoEl efecto fiscal del comprobante para quien lo emite: ingreso, egreso, traslado, nómina o pago.
Valores cerrados por el catálogo
c_TipoDeComprobante.ExportacionRequeridoNuevo en 4.0Si el comprobante ampara una operación de exportación.
Valores cerrados por el catálogo
c_Exportacion.Ojo: Es obligatorio aunque no exportes nada: una operación normal en territorio nacional lleva la clave que dice que no aplica. No se puede omitir.
MetodoPagoCondicionalPUE si ya te pagaron todo al emitir; PPD si queda pendiente o va en parcialidades.
Valores cerrados por el catálogo
c_MetodoPago.LugarExpedicionRequeridoCódigo postal del lugar de expedición: la matriz o la sucursal.
Valores cerrados por el catálogo
c_CodigoPostal.ConfirmacionCondicionalClave de cinco caracteres que entrega el PAC cuando el total o el tipo de cambio se salen de los rangos que el SAT considera normales.
PeriodicidadRequeridoNuevo en 4.0El periodo que ampara: diario, semanal, quincenal, mensual o bimestral.
Valores cerrados por el catálogo
c_Periodicidad.MesesRequeridoNuevo en 4.0El mes o los meses que cubre el comprobante.
Valores cerrados por el catálogo
c_Meses.AñoRequeridoNuevo en 4.0El año que cubre. El esquema no admite años anteriores a 2019.
Ojo: Lleva eñe. Es el único nombre de atributo del esquema con un carácter fuera de ASCII, y un editor que «arregle» la codificación deja el archivo inválido.
TipoRelacionRequeridoQué relación tiene este comprobante con los que enumera. Las dos habituales son la nota de crédito y la sustitución.
Valores cerrados por el catálogo
c_TipoRelacion.Ojo: Cuelga de este nodo, el PLURAL, no de cfdi:CfdiRelacionado. Se confunde constantemente porque en el esquema aparece escrito después de sus hijos.
UUIDRequeridoEl folio fiscal del comprobante con el que se relaciona: 36 caracteres en cinco bloques.
RfcRequeridoen cfdi:Emisor
RFC de quien emite.
NombreRequeridoen cfdi:Emisor
Nombre, denominación o razón social del emisor, tal como está inscrito en el RFC.
Ojo: En la versión 3.3 era opcional. Pasó a obligatorio con la 4.0, igual que el del receptor, y eso se olvida al hablar sólo de los cambios del receptor.
RegimenFiscalRequeridoen cfdi:Emisor
Régimen fiscal del emisor para esta operación.
Valores cerrados por el catálogo
c_RegimenFiscal.FacAtrAdquirenteCondicionalNuevo en 4.0en cfdi:Emisor
Número de operación que da el SAT cuando la factura se emite a través de un proveedor de certificación y generación autorizado.
Ojo: Es el campo nuevo de la 4.0 del que nadie habla, porque sólo lo llena quien factura a través de un PCECFDI o un PCGCF. El esquema lo declara opcional; la Guía de llenado lo llama «atributo condicional».
RfcRequeridoRFC de quien recibe.
Ojo: Se valida contra el padrón de RFC inscritos y no cancelados, no sólo contra el formato.
NombreRequeridoNombre o razón social del receptor, tal como está inscrito en el RFC.
Ojo: No es un campo nuevo: existía en la 3.3 como OPCIONAL y la 4.0 lo volvió requerido, que es distinto de haber nacido con la versión. Tiene que corresponder al RFC: un acento de más o el nombre comercial en vez del registrado rechaza el timbrado.
DomicilioFiscalReceptorRequeridoNuevo en 4.0Código postal del domicilio fiscal del receptor. Cinco dígitos.
Ojo: Es el del domicilio REGISTRADO ante el SAT, no el de donde vive ni el de la entrega. Es el rechazo número uno del CFDI 4.0.
ResidenciaFiscalCondicionalPaís de residencia fiscal cuando el receptor es extranjero.
Valores cerrados por el catálogo
c_Pais.NumRegIdTribCondicionalNúmero de registro de identidad fiscal del receptor extranjero.
RegimenFiscalReceptorRequeridoNuevo en 4.0Régimen fiscal del receptor para esta operación.
Valores cerrados por el catálogo
c_RegimenFiscal.Ojo: Tiene que ser compatible con el UsoCFDI: el catálogo cierra qué usos admite cada régimen.
UsoCFDIRequeridoQué va a hacer el receptor con la factura.
Valores cerrados por el catálogo
c_UsoCFDI.Ojo: El catálogo trae una columna «Régimen Fiscal Receptor» y el PAC valida contra ella. Si el uso no está permitido para ese régimen, rechaza.
ClaveProdServRequeridoClave del producto o servicio en el catálogo del SAT.
Valores cerrados por el catálogo
c_ClaveProdServ.NoIdentificacionOpcionalTu propio número de parte, SKU o código de barras.
CantidadRequeridoCuánto se vendió. Admite hasta seis decimales.
ClaveUnidadRequeridoClave de la unidad de medida estandarizada.
Valores cerrados por el catálogo
c_ClaveUnidad.UnidadOpcionalTu propia descripción de la unidad, en texto libre.
DescripcionRequeridoQué se vendió, en palabras.
ValorUnitarioRequeridoPrecio unitario.
ImporteRequeridoCantidad por valor unitario. No admite negativos.
DescuentoOpcionalDescuento de esta línea. Tampoco admite negativos.
ObjetoImpRequeridoNuevo en 4.0Si esta línea en concreto es objeto de impuesto o no.
Valores cerrados por el catálogo
c_ObjetoImp.Ojo: Va por concepto, no por comprobante: una misma factura puede llevar líneas con distinto valor. Y si dices que sí es objeto de impuesto, esa línea tiene que traer su nodo de impuestos.
RfcACuentaTercerosRequeridoNuevo en 4.0RFC del tercero por cuenta de quien se emite.
NombreACuentaTercerosRequeridoNuevo en 4.0Su nombre o razón social.
RegimenFiscalACuentaTercerosRequeridoNuevo en 4.0Su régimen fiscal.
Valores cerrados por el catálogo
c_RegimenFiscal.DomicilioFiscalACuentaTercerosRequeridoNuevo en 4.0Código postal de su domicilio fiscal.
BaseRequeridoen cfdi:Concepto/Impuestos/Traslados/Traslado
El monto sobre el que se calcula el impuesto de esta línea.
ImpuestoRequeridoen cfdi:Concepto/Impuestos/Traslados/Traslado
Qué impuesto es: IVA, IEPS o ISR.
Valores cerrados por el catálogo
c_Impuesto.TipoFactorRequeridoen cfdi:Concepto/Impuestos/Traslados/Traslado
Tasa, cuota o exento.
Valores cerrados por el catálogo
c_TipoFactor.TasaOCuotaCondicionalen cfdi:Concepto/Impuestos/Traslados/Traslado
El valor de la tasa o de la cuota. Obligatorio si el tipo de factor es Tasa o Cuota.
ImporteCondicionalen cfdi:Concepto/Impuestos/Traslados/Traslado
El impuesto en pesos. Obligatorio si el tipo de factor es Tasa o Cuota.
BaseRequeridoen cfdi:Concepto/Impuestos/Retenciones/Retencion
El monto sobre el que se calcula la retención.
ImpuestoRequeridoen cfdi:Concepto/Impuestos/Retenciones/Retencion
Qué impuesto se retiene.
Valores cerrados por el catálogo
c_Impuesto.TipoFactorRequeridoen cfdi:Concepto/Impuestos/Retenciones/Retencion
Tasa o cuota.
Valores cerrados por el catálogo
c_TipoFactor.TasaOCuotaRequeridoen cfdi:Concepto/Impuestos/Retenciones/Retencion
El valor de la tasa o cuota.
Ojo: En la retención es REQUERIDO; en el traslado del mismo nivel es condicional. Es la única asimetría entre los dos nodos y sorprende a quien los da por gemelos.
ImporteRequeridoen cfdi:Concepto/Impuestos/Retenciones/Retencion
La retención en pesos. También requerido, a diferencia del traslado.
TotalImpuestosRetenidosCondicionalSuma de las retenciones. Obligatorio si algún concepto trae retenciones.
TotalImpuestosTrasladadosCondicionalSuma de los traslados. Obligatorio si algún concepto trae traslados.
ImpuestoRequeridoen cfdi:Impuestos/Retenciones/Retencion
Qué impuesto se retuvo.
Valores cerrados por el catálogo
c_Impuesto.Ojo: Este nodo tiene sólo DOS atributos, mientras que su homónimo a nivel de concepto tiene cinco. No hay Base, ni TipoFactor, ni TasaOCuota aquí.
ImporteRequeridoen cfdi:Impuestos/Retenciones/Retencion
El total retenido de ese impuesto.
BaseRequeridoNuevo en 4.0en cfdi:Impuestos/Traslados/Traslado
La base agrupada.
ImpuestoRequeridoen cfdi:Impuestos/Traslados/Traslado
Qué impuesto se traslada.
Valores cerrados por el catálogo
c_Impuesto.TipoFactorRequeridoen cfdi:Impuestos/Traslados/Traslado
Tasa, cuota o exento.
Valores cerrados por el catálogo
c_TipoFactor.TasaOCuotaCondicionalen cfdi:Impuestos/Traslados/Traslado
La tasa o cuota del grupo. En la 3.3 era requerido.
ImporteCondicionalen cfdi:Impuestos/Traslados/Traslado
La suma del grupo. En la 3.3 era requerido.
VersionRequeridoVersión del estándar del timbre. Fijada a 1.1.
UUIDRequeridoEl folio fiscal: 36 caracteres en cinco bloques. Es el identificador con el que el SAT conoce esta factura.
FechaTimbradoRequeridoCuándo se generó el timbre.
Ojo: Va en hora de la Zona Centro, mientras que la Fecha del comprobante va en hora local del lugar de expedición. No tienen por qué coincidir.
RfcProvCertifRequeridoRFC del PAC que timbró. Es siempre una persona moral.
LeyendaOpcionalUn mensaje que el SAT puede hacer llegar a través del comprobante. El único atributo opcional del timbre.
SelloCFDRequeridoEl sello del emisor sobre el que se timbró, repetido aquí.
NoCertificadoSATRequeridoNúmero de serie del certificado del SAT que firmó el timbre.
Ojo: Un número de serie, no el certificado. Para comprobar la firma del SAT hay que descargar antes el certificado público que corresponde a ese número: el archivo por sí solo no alcanza.
SelloSATRequeridoEl sello digital del SAT. Sin esto no hay comprobante fiscal.
Los nodos, uno por uno
El uso de cada atributo viene del esquema y de la Guía de llenado. Requerido es siempre obligatorio; condicional lo es cuando se cumple un supuesto, que se indica en cada caso; y opcional queda a tu criterio. El esquema por sí solo sólo distingue dos: la categoría condicional vive en la documentación de cada campo, y se respeta aquí porque es la que usa el SAT.
cfdi:Comprobante
El nodo raíz. Lleva los datos de la operación entera: cuándo, cuánto, en qué moneda, con qué efecto fiscal y con qué sello.
Uno. Es el documento.
| Atributo | Uso | Qué guarda |
|---|---|---|
Version | Requerido | La versión del estándar. En el esquema está fijada al valor 4.0: no admite ningún otro.Ojo: Es el campo que contesta de un vistazo si un archivo es 3.3 o 4.0. |
Serie | Opcional | Serie de control interno del emisor. Hasta 25 caracteres. |
Folio | Opcional | Folio de control interno del emisor. Hasta 40 caracteres.Ojo: No es el folio fiscal. El que el SAT pide para verificar es el UUID del timbre, no éste.Dónde está el folio fiscal de verdad |
Fecha | Requerido | Fecha y hora de expedición, en formato AAAA-MM-DDThh:mm:ss y en la hora local del lugar donde se expide.Ojo: No la confundas con FechaTimbrado, que va en el timbre y usa la hora del centro del país. |
Sello | Requerido | El sello digital del emisor, en base 64. Lo genera con su Certificado de Sello Digital. |
FormaPago | Condicional | Con qué se pagó la operación.Catálogo c_FormaPago.Ojo: Con MetodoPago PPD tiene que ser 99, «Por definir». Poner otra cosa es el error CFDI40105. |
NoCertificado | Requerido | Número de serie del Certificado de Sello Digital del emisor. Veinte dígitos. |
Certificado | Requerido | El certificado del emisor completo, en base 64.Ojo: Aquí está la asimetría de los dos sellos: el certificado del EMISOR sí viaja dentro del archivo, así que su firma se puede comprobar sin salir de él. El del SAT no viaja, y hay que descargarlo por su número de serie. |
CondicionesDePago | Condicional | Las condiciones comerciales del pago, en texto libre. |
SubTotal | Requerido | Suma de los importes de los conceptos, antes de descuentos e impuestos. |
Descuento | Condicional | Total de descuentos antes de impuestos. Obligatorio si algún concepto trae descuento. |
Moneda | Requerido | Clave ISO 4217 de la moneda. MXN para pesos.Catálogo c_Moneda. |
TipoCambio | Condicional | Tipo de cambio conforme a la moneda. Obligatorio cuando la moneda no es MXN ni XXX. |
Total | Requerido | Subtotal, menos descuentos, más impuestos trasladados, menos retenidos. |
TipoDeComprobante | Requerido | El efecto fiscal del comprobante para quien lo emite: ingreso, egreso, traslado, nómina o pago.Catálogo c_TipoDeComprobante.Los cinco tipos de CFDI, explicados |
ExportacionNuevo en 4.0 | Requerido | Si el comprobante ampara una operación de exportación.Catálogo c_Exportacion.Ojo: Es obligatorio aunque no exportes nada: una operación normal en territorio nacional lleva la clave que dice que no aplica. No se puede omitir. |
MetodoPago | Condicional | PUE si ya te pagaron todo al emitir; PPD si queda pendiente o va en parcialidades.Catálogo c_MetodoPago.PUE o PPD: cómo decidir |
LugarExpedicion | Requerido | Código postal del lugar de expedición: la matriz o la sucursal.Catálogo c_CodigoPostal. |
Confirmacion | Condicional | Clave de cinco caracteres que entrega el PAC cuando el total o el tipo de cambio se salen de los rangos que el SAT considera normales. |
cfdi:InformacionGlobal
El nodo de la factura al público en general: agrupa las ventas de un periodo en un solo comprobante.
Cero o una vez. Sólo en las facturas globales.
| Atributo | Uso | Qué guarda |
|---|---|---|
PeriodicidadNuevo en 4.0 | Requerido | El periodo que ampara: diario, semanal, quincenal, mensual o bimestral.Catálogo c_Periodicidad. |
MesesNuevo en 4.0 | Requerido | El mes o los meses que cubre el comprobante.Catálogo c_Meses. |
AñoNuevo en 4.0 | Requerido | El año que cubre. El esquema no admite años anteriores a 2019.Ojo: Lleva eñe. Es el único nombre de atributo del esquema con un carácter fuera de ASCII, y un editor que «arregle» la codificación deja el archivo inválido. |
cfdi:CfdiRelacionados
Agrupa los comprobantes con los que éste se relaciona, y declara qué tipo de relación es.
Cero o muchas veces: un bloque por cada tipo de relación.
| Atributo | Uso | Qué guarda |
|---|---|---|
TipoRelacion | Requerido | Qué relación tiene este comprobante con los que enumera. Las dos habituales son la nota de crédito y la sustitución.Catálogo c_TipoRelacion.Ojo: Cuelga de este nodo, el PLURAL, no de cfdi:CfdiRelacionado. Se confunde constantemente porque en el esquema aparece escrito después de sus hijos.Cómo se relaciona la factura sustituta |
cfdi:CfdiRelacionado
Cada uno de los comprobantes relacionados, identificado por su folio fiscal.
Uno o muchos dentro de cada bloque.
| Atributo | Uso | Qué guarda |
|---|---|---|
UUID | Requerido | El folio fiscal del comprobante con el que se relaciona: 36 caracteres en cinco bloques. |
cfdi:Emisor
Quién factura.
Exactamente uno.
| Atributo | Uso | Qué guarda |
|---|---|---|
Rfc | Requerido | RFC de quien emite. |
Nombre | Requerido | Nombre, denominación o razón social del emisor, tal como está inscrito en el RFC.Ojo: En la versión 3.3 era opcional. Pasó a obligatorio con la 4.0, igual que el del receptor, y eso se olvida al hablar sólo de los cambios del receptor. |
RegimenFiscal | Requerido | Régimen fiscal del emisor para esta operación.Catálogo c_RegimenFiscal. |
FacAtrAdquirenteNuevo en 4.0 | Condicional | Número de operación que da el SAT cuando la factura se emite a través de un proveedor de certificación y generación autorizado.Ojo: Es el campo nuevo de la 4.0 del que nadie habla, porque sólo lo llena quien factura a través de un PCECFDI o un PCGCF. El esquema lo declara opcional; la Guía de llenado lo llama «atributo condicional». |
cfdi:Receptor
A quién se le factura. Es el nodo que más cambió con la versión 4.0, y el que más rechazos provoca.
Exactamente uno.
| Atributo | Uso | Qué guarda |
|---|---|---|
Rfc | Requerido | RFC de quien recibe.Ojo: Se valida contra el padrón de RFC inscritos y no cancelados, no sólo contra el formato.Los errores de timbrado, con su código |
Nombre | Requerido | Nombre o razón social del receptor, tal como está inscrito en el RFC.Ojo: No es un campo nuevo: existía en la 3.3 como OPCIONAL y la 4.0 lo volvió requerido, que es distinto de haber nacido con la versión. Tiene que corresponder al RFC: un acento de más o el nombre comercial en vez del registrado rechaza el timbrado. |
DomicilioFiscalReceptorNuevo en 4.0 | Requerido | Código postal del domicilio fiscal del receptor. Cinco dígitos.Ojo: Es el del domicilio REGISTRADO ante el SAT, no el de donde vive ni el de la entrega. Es el rechazo número uno del CFDI 4.0.Los cuatro datos que sí necesitas de tu cliente |
ResidenciaFiscal | Condicional | País de residencia fiscal cuando el receptor es extranjero.Catálogo c_Pais. |
NumRegIdTrib | Condicional | Número de registro de identidad fiscal del receptor extranjero. |
RegimenFiscalReceptorNuevo en 4.0 | Requerido | Régimen fiscal del receptor para esta operación.Catálogo c_RegimenFiscal.Ojo: Tiene que ser compatible con el UsoCFDI: el catálogo cierra qué usos admite cada régimen.Qué uso puede recibir cada régimen |
UsoCFDI | Requerido | Qué va a hacer el receptor con la factura.Catálogo c_UsoCFDI.Ojo: El catálogo trae una columna «Régimen Fiscal Receptor» y el PAC valida contra ella. Si el uso no está permitido para ese régimen, rechaza.El cruce uso ↔ régimen, con la herramienta |
cfdi:Concepto
Cada línea de lo que se vendió. Un comprobante lleva al menos una.
Uno o muchos, dentro de cfdi:Conceptos.
| Atributo | Uso | Qué guarda |
|---|---|---|
ClaveProdServ | Requerido | Clave del producto o servicio en el catálogo del SAT.Catálogo c_ClaveProdServ.Cómo encontrar tu clave sin desesperarte |
NoIdentificacion | Opcional | Tu propio número de parte, SKU o código de barras. |
Cantidad | Requerido | Cuánto se vendió. Admite hasta seis decimales. |
ClaveUnidad | Requerido | Clave de la unidad de medida estandarizada.Catálogo c_ClaveUnidad. |
Unidad | Opcional | Tu propia descripción de la unidad, en texto libre. |
Descripcion | Requerido | Qué se vendió, en palabras. |
ValorUnitario | Requerido | Precio unitario. |
Importe | Requerido | Cantidad por valor unitario. No admite negativos. |
Descuento | Opcional | Descuento de esta línea. Tampoco admite negativos. |
ObjetoImpNuevo en 4.0 | Requerido | Si esta línea en concreto es objeto de impuesto o no.Catálogo c_ObjetoImp.Ojo: Va por concepto, no por comprobante: una misma factura puede llevar líneas con distinto valor. Y si dices que sí es objeto de impuesto, esa línea tiene que traer su nodo de impuestos. |
cfdi:ACuentaTerceros
Los datos del tercero cuando facturas por cuenta de alguien más.
Cero o una vez, dentro de cada concepto.
| Atributo | Uso | Qué guarda |
|---|---|---|
RfcACuentaTercerosNuevo en 4.0 | Requerido | RFC del tercero por cuenta de quien se emite. |
NombreACuentaTercerosNuevo en 4.0 | Requerido | Su nombre o razón social. |
RegimenFiscalACuentaTercerosNuevo en 4.0 | Requerido | Su régimen fiscal.Catálogo c_RegimenFiscal. |
DomicilioFiscalACuentaTercerosNuevo en 4.0 | Requerido | Código postal de su domicilio fiscal. |
cfdi:Concepto/Impuestos/Traslados/Traslado
El impuesto que se traslada en una línea concreta. Es el IVA de ese renglón.
Uno o muchos por concepto.
| Atributo | Uso | Qué guarda |
|---|---|---|
Base | Requerido | El monto sobre el que se calcula el impuesto de esta línea. |
Impuesto | Requerido | Qué impuesto es: IVA, IEPS o ISR.Catálogo c_Impuesto. |
TipoFactor | Requerido | Tasa, cuota o exento.Catálogo c_TipoFactor. |
TasaOCuota | Condicional | El valor de la tasa o de la cuota. Obligatorio si el tipo de factor es Tasa o Cuota. |
Importe | Condicional | El impuesto en pesos. Obligatorio si el tipo de factor es Tasa o Cuota. |
cfdi:Concepto/Impuestos/Retenciones/Retencion
El impuesto que se retiene en una línea concreta.
Uno o muchos por concepto.
| Atributo | Uso | Qué guarda |
|---|---|---|
Base | Requerido | El monto sobre el que se calcula la retención. |
Impuesto | Requerido | Qué impuesto se retiene.Catálogo c_Impuesto. |
TipoFactor | Requerido | Tasa o cuota.Catálogo c_TipoFactor. |
TasaOCuota | Requerido | El valor de la tasa o cuota.Ojo: En la retención es REQUERIDO; en el traslado del mismo nivel es condicional. Es la única asimetría entre los dos nodos y sorprende a quien los da por gemelos. |
Importe | Requerido | La retención en pesos. También requerido, a diferencia del traslado. |
cfdi:Impuestos
Los totales de impuestos del comprobante entero, no de una línea.
Cero o una vez.
| Atributo | Uso | Qué guarda |
|---|---|---|
TotalImpuestosRetenidos | Condicional | Suma de las retenciones. Obligatorio si algún concepto trae retenciones. |
TotalImpuestosTrasladados | Condicional | Suma de los traslados. Obligatorio si algún concepto trae traslados. |
cfdi:Impuestos/Retenciones/Retencion
La retención agrupada a nivel de comprobante.
Uno o muchos.
| Atributo | Uso | Qué guarda |
|---|---|---|
Impuesto | Requerido | Qué impuesto se retuvo.Catálogo c_Impuesto.Ojo: Este nodo tiene sólo DOS atributos, mientras que su homónimo a nivel de concepto tiene cinco. No hay Base, ni TipoFactor, ni TasaOCuota aquí. |
Importe | Requerido | El total retenido de ese impuesto. |
cfdi:Impuestos/Traslados/Traslado
El traslado agrupado a nivel de comprobante, por impuesto, tipo de factor y tasa.
Uno o muchos.
| Atributo | Uso | Qué guarda |
|---|---|---|
BaseNuevo en 4.0 | Requerido | La base agrupada. |
Impuesto | Requerido | Qué impuesto se traslada.Catálogo c_Impuesto. |
TipoFactor | Requerido | Tasa, cuota o exento.Catálogo c_TipoFactor. |
TasaOCuota | Condicional | La tasa o cuota del grupo. En la 3.3 era requerido. |
Importe | Condicional | La suma del grupo. En la 3.3 era requerido. |
tfd:TimbreFiscalDigital
Lo que añade el PAC al certificar. Es lo que convierte un archivo en un comprobante fiscal.
Uno, dentro de cfdi:Complemento.
| Atributo | Uso | Qué guarda |
|---|---|---|
Version | Requerido | Versión del estándar del timbre. Fijada a 1.1. |
UUID | Requerido | El folio fiscal: 36 caracteres en cinco bloques. Es el identificador con el que el SAT conoce esta factura.Verificar el CFDI con este folio en el SAT |
FechaTimbrado | Requerido | Cuándo se generó el timbre.Ojo: Va en hora de la Zona Centro, mientras que la Fecha del comprobante va en hora local del lugar de expedición. No tienen por qué coincidir. |
RfcProvCertif | Requerido | RFC del PAC que timbró. Es siempre una persona moral. |
Leyenda | Opcional | Un mensaje que el SAT puede hacer llegar a través del comprobante. El único atributo opcional del timbre. |
SelloCFD | Requerido | El sello del emisor sobre el que se timbró, repetido aquí. |
NoCertificadoSAT | Requerido | Número de serie del certificado del SAT que firmó el timbre.Ojo: Un número de serie, no el certificado. Para comprobar la firma del SAT hay que descargar antes el certificado público que corresponde a ese número: el archivo por sí solo no alcanza. |
SelloSAT | Requerido | El sello digital del SAT. Sin esto no hay comprobante fiscal. |
Tabla 1. Los 76 atributos del CFDI 4.0 y del Timbre Fiscal Digital 1.1. Fuente: esquemas cfdv40.xsd y TimbreFiscalDigitalv11.xsd del SAT, más la Guía de llenado del Anexo 20. Leídos el 25 de septiembre de 2026.
Qué cambió de la 3.3 a la 4.0
Esta tabla no está copiada de ningún resumen: sale de comparar los dos esquemas del SAT campo por campo y por ruta. Dos resultados contradicen lo que se publica por ahí y conviene decirlos antes de la tabla. No se eliminó nada: todo lo que existía en la 3.3 sigue existiendo. Y no se renombró nada: en particular, ACuentaTerceros no es un renombre de ComplementoConcepto, porque los dos conviven en la 4.0. Lo que pasó es que esos datos viajaban en un complemento y ascendieron al estándar base.
De los 15 renglones, 8 son altas —y ahí un nodo nuevo cuenta como uno solo, aunque traiga varios atributos dentro—. Los demás son campos que ya existían y cambiaron de uso o de cardinalidad. Pasar de opcional a obligatorio no es nacer con la 4.0, y es la confusión más frecuente: el Nombre del receptor y el del emisor están en las dos versiones, y lo que cambió es que ya no se pueden omitir.
| Campo | Qué pasó | Detalle |
|---|---|---|
Exportacioncfdi:Comprobante | Nuevo | Requerido. Hay que declararlo aunque la operación no sea de exportación. |
DomicilioFiscalReceptorcfdi:Receptor | Nuevo | Requerido. El código postal del domicilio fiscal registrado. |
RegimenFiscalReceptorcfdi:Receptor | Nuevo | Requerido, y tiene que ser compatible con el UsoCFDI. |
ObjetoImpcfdi:Concepto | Nuevo | Requerido, y por línea: dice si ese concepto es objeto de impuesto. |
FacAtrAdquirentecfdi:Emisor | Nuevo | Condicional. Para la factura emitida a través de un proveedor autorizado. |
Basecfdi:Impuestos/Traslados/Traslado | Nuevo | Requerido en el traslado agrupado del comprobante, donde antes no existía. |
cfdi:InformacionGlobalcfdi:Comprobante | Nuevo | Nodo nuevo entero, con Periodicidad, Meses y Año. Es el de la factura al público en general. |
cfdi:ACuentaTerceroscfdi:Concepto | Nuevo | Nodo nuevo entero. En la 3.3 esos datos iban en un complemento; en la 4.0 subieron al estándar base. |
Nombrecfdi:Receptor | Pasó a obligatorio | Era opcional en la 3.3. Pasó a requerido y tiene que coincidir con el padrón. |
Nombrecfdi:Emisor | Pasó a obligatorio | También pasó de opcional a requerido, cosa que casi nadie menciona al hablar sólo del receptor. |
TasaOCuotacfdi:Impuestos/Traslados/Traslado | Dejó de ser obligatorio | Era requerido en la 3.3 y pasó a opcional en el traslado agrupado del comprobante. |
Importecfdi:Impuestos/Traslados/Traslado | Dejó de ser obligatorio | Mismo caso: de requerido a opcional en el nivel del comprobante. |
(el nodo)cfdi:CfdiRelacionados | Cambió cuántas veces cabe | Pasó de aparecer una vez como mucho a poder repetirse: un bloque por cada tipo de relación. |
(el nodo)cfdi:Complemento | Cambió cuántas veces cabe | Al revés: de poder repetirse a admitir sólo uno. |
(el nodo)cfdi:Concepto/CuentaPredial | Cambió cuántas veces cabe | De uno como máximo a poder repetirse. |
¿Y el CFDI 5.0?
| Versión | Estado | Detalle |
|---|---|---|
| 3.3 | Retirada | Convivió con la 4.0 del 1 de enero de 2022 al 31 de marzo de 2023. Desde el 1 de abril de 2023 ya no se admite. |
| 4.0 | Vigente | Única versión válida desde el 1 de abril de 2023. Es la que tiene que decir el atributo Version del nodo raíz. |
| 5.0 | Sin publicar | Al 25 de septiembre de 2026, el SAT no publica ningún esquema, estándar ni catálogo de una versión 5.0 en su página del Anexo 20, y la Resolución Miscelánea Fiscal 2026 no la menciona. Comprobado en esa fecha; si aparece, se actualiza aquí. |
Quién firma qué, y qué prueba comprobarlo por tu cuenta
En un CFDI hay dos firmas y las escriben dos personas distintas. La tuya va en el atributo Sello del comprobante. La del SAT va dentro del nodo del timbre y la pone el PAC. Las dos se pueden verificar por criptografía fuera del SAT: hace falta el certificado público de cada firmante —el tuyo viaja dentro del archivo, el del SAT se descarga por su número de serie— y reconstruir la cadena original con las transformaciones que el propio SAT publica. Hay software que lo hace, y no tiene nada de magia.
Lo que conviene no confundir es eso con una validación. Una firma que cuadra prueba que esos bytes se firmaron y que nadie los tocó después. No sustituye la consulta oficial del SAT ni confirma por sí sola que el comprobante siga vigente: si se canceló, o si el emisor acabó en la lista del artículo 69-B, eso no está en el archivo y ninguna comprobación criptográfica lo puede contestar. Nuestras herramientas no comprueban sellos, y las cuatro precisiones de abajo son la razón.
Fuente: Anexo 20, estándar técnico del CFDI 4.0 (el sello es una digestión SHA-2 256 cifrada con RSA y codificada en base 64) y esquema TimbreFiscalDigitalv11.xsd. Elaboración de Calcu.mx.
1. El certificado del SAT no viaja en el archivo: hay que ir por él
El del emisor sí: el atributo Certificado lleva su certificado completo en base 64. Del SAT sólo viaja NoCertificadoSAT, que es un número de serie. Comprobar esa segunda firma exige descargar antes el certificado público que corresponde a ese número, que el SAT publica fuera del comprobante. Es un paso extra, no un muro: un programa que lo descargue puede verificar la firma.
2. La cadena original hay que reconstruirla, y no es el XML tal cual
Lo que se firma no es el archivo: es una cadena que se obtiene aplicándole una transformación XSLT que publica el SAT y que a su vez llama a otras, más una por cada complemento. Quien aplique esas transformaciones publicadas reproduce los bytes que se firmaron; quien compare contra el XML en crudo no va a hacer cuadrar ninguna firma.
3. Una firma válida es un hecho del pasado, no un estado de hoy
Aunque la firma cuadre, sólo prueba que esos bytes se firmaron alguna vez y que nadie los alteró después. No dice si el comprobante se canceló, ni si el emisor apareció más tarde en la lista del artículo 69-B del Código Fiscal. Eso vive en la base del SAT, cambia con el tiempo y no está en el archivo: ninguna comprobación criptográfica lo puede contestar.
4. Y aunque cuadre, no sustituye la consulta oficial
El propio SAT lo dice en sus preguntas frecuentes del CFDI 4.0: la única validación tecnológica reconocida es la que hace el SAT o el PAC al timbrar, y «cualquier otra validación tecnológica que un contribuyente haga a una factura, no tiene validez ante el SAT». La comprobación por tu cuenta puede servirte para depurar; para acreditar algo ante la autoridad, no.
«La única validación tecnológica de una factura electrónica reconocida por el SAT, es la que el propio SAT realiza directamente cuando la factura se generó en sus aplicaciones tecnológicas o cuando esta fue certificada (timbrada) por un PAC, cualquier otra validación tecnológica que un contribuyente haga a una factura, no tiene validez ante el SAT.»
Por eso lo único que zanja el estado de una factura es preguntarle al SAT. Nuestra página de verificación no valida nada: revisa que el folio y los RFC tengan la forma correcta y te arma el enlace al verificador oficial con los campos puestos, que es la única consulta con valor.
El reloj del complemento de pago
Éste es el dato que no está en ninguna otra página del sitio y que las guías de proveedores publican mal con notable frecuencia. Si emitiste una factura como PPD, cada pago que recibas exige un CFDI con complemento de pago, y hay fecha límite.
Fuente: RMF 2026, reglas 2.7.1.32 y 2.7.1.42 (DOF 28 de diciembre de 2025); catálogos c_MetodoPago y c_FormaPago del Anexo 20. Elaboración de Calcu.mx. El plazo se cuenta en días NATURALES: los fines de semana cuentan.
Regla 2.7.1.7 · Requisitos de las representaciones impresas del CFDI
Obliga a que el papel o el PDF lleven, entre otras cosas, el folio fiscal, el número de serie del CSD del emisor y del SAT, la cadena original del complemento de certificación digital del SAT y la leyenda «Este documento es una representación impresa de un CFDI».
«Este documento es una representación impresa de un CFDI»
Cada requisito de la representación impresa es un puntero hacia el XML. El papel está definido en la ley como derivado del archivo, y lleva escrito encima que lo es.
Regla 2.7.1.32 · Expedición de CFDI por pagos realizados
Cuando la contraprestación no se paga en una sola exhibición se emite un CFDI por el total y después uno por cada pago, con «cero» en el campo Total, sin dato en MetodoPago ni en FormaPago, y con el Complemento para recepción de Pagos incorporado.
«deberá emitirse a más tardar al quinto día natural del mes inmediato siguiente al que corresponda el o los pagos recibidos»
Aquí está la fecha límite que casi nadie publica bien: el CFDI con complemento de pago «deberá emitirse a más tardar al quinto día natural del mes inmediato siguiente al que corresponda el o los pagos recibidos». Natural, no hábil. Y se puede emitir uno solo por todos los pagos de un mes al mismo receptor.
Regla 2.7.1.42 · Facturación PUE que acaba sin cobrarse
Si se emitió un CFDI como PUE y el pago no se recibe a más tardar el último día del mes en que se expidió, el emisor cancela el comprobante y emite uno nuevo con forma de pago «99 Por definir» y método «PPD», relacionándolo con el original como sustitución.
Es el enredo más común del mundo real y casi nadie lo cubre: la factura no estaba mal cuando se emitió, se volvió incorrecta porque el cliente no pagó.
Regla 2.7.1.35 · Cancelación sin aceptación del receptor
Lista los supuestos en los que un CFDI se cancela sin pedirle permiso a quien lo recibió. El primero es el de los comprobantes de hasta mil pesos.
Con una excepción que sorprende a todo el mundo: un CFDI con Complemento para recepción de Pagos NO se libra por el importe, aunque sea de trescientos pesos.
Reglas de la Resolución Miscelánea Fiscal para 2026, publicada en el Diario Oficial de la Federación el 28 de diciembre de 2025. Si lo que necesitas es decidir entre PUE y PPD al emitir, está explicado en cómo hacer una factura.
El catálogo de formas de pago, completo
Las 22 claves de c_FormaPago. Se publica entero porque el catálogo oficial es una hoja dentro de un libro de Excel de decenas de megabytes, y quien necesita saber qué es la clave 17 no va a descargarlo. Dos avisos: la clave es una cadena de dos caracteres con cero a la izquierda, y los huecos de la numeración son reales —no existen la 07, ni de la 09 a la 11, ni la 16, ni de la 18 a la 22—.
| Clave | Descripción | Bancarizado |
|---|---|---|
| 01 | Efectivo | No |
| 02 | Cheque nominativo | Sí |
| 03 | Transferencia electrónica de fondos | Sí |
| 04 | Tarjeta de crédito | Sí |
| 05 | Monedero electrónico | Sí |
| 06 | Dinero electrónico | Sí |
| 08 | Vales de despensa | No |
| 12 | Dación en pago | No |
| 13 | Pago por subrogación | No |
| 14 | Pago por consignación | No |
| 15 | Condonación | No |
| 17 | Compensación | No |
| 23 | Novación | No |
| 24 | Confusión | No |
| 25 | Remisión de deuda | No |
| 26 | Prescripción o caducidad | No |
| 27 | A satisfacción del acreedor | No |
| 28 | Tarjeta de débito | Sí |
| 29 | Tarjeta de servicios | Sí |
| 30 | Aplicación de anticipos | No |
| 31 | Intermediario pagos | No |
| 99 | Por definirLa obligatoria cuando el método de pago es PPD. | Depende |
Preguntas frecuentes
¿Qué significa el atributo ObjetoImp de un concepto?
Dice si ese concepto en concreto es objeto de impuesto o no, y es de los campos que nacieron con la versión 4.0. Va en cada concepto, no en el comprobante, así que una misma factura puede llevar conceptos con distinto valor. Si declaras que sí es objeto de impuesto, ese concepto tiene que traer su nodo de impuestos; declararlo y no desglosarlos es un rechazo al timbrar.
¿Qué atributos nacieron con el CFDI 4.0 y no existían en la 3.3?
Seis atributos sueltos y dos nodos enteros. Los sueltos son DomicilioFiscalReceptor y RegimenFiscalReceptor en el receptor, Exportacion en el comprobante, ObjetoImp en cada concepto, FacAtrAdquirente en el emisor y Base en el traslado agrupado. Los nodos nuevos son InformacionGlobal, de la factura al público en general, y ACuentaTerceros, para cuando facturas por cuenta de alguien más; entre los dos añaden siete atributos más. Ojo con un caso que casi todas las guías cuentan mal: el Nombre del receptor NO es nuevo. Existía en la 3.3 como opcional y la 4.0 lo volvió requerido, igual que el del emisor, que es un cambio de uso y no un campo nuevo.
¿Qué pongo en Exportacion si no exporto nada?
El atributo es obligatorio aunque no exportes: la operación normal en territorio nacional lleva la clave que significa que no es una operación de exportación. No es un campo que puedas omitir por no dedicarte al comercio exterior; el esquema lo exige en todos los comprobantes de la versión 4.0.
¿Cuándo tengo que emitir el complemento de pago?
A más tardar el quinto día natural del mes inmediato siguiente al que corresponda el pago, según la regla 2.7.1.32 de la Resolución Miscelánea Fiscal. Ojo con el adjetivo: la regla dice día NATURAL, no hábil, así que los fines de semana cuentan. Y puedes emitir uno solo por todos los pagos que hayas recibido de un mismo receptor en el mes, en vez de uno por abono.
¿Para qué sirve el nodo InformacionGlobal?
Es el nodo de la factura al público en general: agrupa las ventas de un periodo en un solo comprobante y declara su periodicidad, el mes y el año que ampara. Lo llevan sólo esas facturas globales, no las que emites a un cliente identificado. Si quieres el procedimiento completo para emitir una, está en la guía de cómo hacer una factura.
¿Qué diferencia hay entre el Sello del emisor y el sello del SAT?
Son dos firmas distintas y viven en sitios distintos del archivo. La del emisor va en el atributo Sello del comprobante y la produce él con su Certificado de Sello Digital. La del SAT va dentro del nodo del Timbre Fiscal Digital, la añade el PAC al timbrar y es la que convierte un borrador en comprobante fiscal. Un XML sin timbre no ampara nada.
¿Puedo comprobar el sello de un CFDI con una herramienta que no sea del SAT?
Técnicamente sí, y conviene separar dos cosas que se confunden todo el tiempo. Un programa externo puede hacer una verificación criptográfica de las dos firmas si obtiene los certificados públicos —el del emisor viaja dentro del archivo; el del SAT hay que descargarlo por su número de serie— y reconstruye la cadena original con las transformaciones que publica el SAT. Lo que esa comprobación no hace es sustituir la consulta oficial del SAT, que es la única validación tecnológica que el SAT reconoce según sus preguntas frecuentes del CFDI 4.0, ni confirmar por sí sola el estado vigente del comprobante: si se canceló después, o si el emisor acabó en la lista del 69-B, eso no está en el archivo.
¿Qué es la cadena original y cómo se reconstruye?
Es la secuencia de datos que de verdad se firma, y no es el XML tal cual: se obtiene aplicándole una transformación XSLT que publica el SAT, la cual llama a su vez a otras, más una por cada complemento que traiga el comprobante. Quien aplique esas transformaciones publicadas reproduce los bytes exactos que se firmaron, que es el primer paso para comprobar cualquier firma; quien intente cuadrar la firma contra el XML en crudo no va a conseguirlo nunca. Es trabajo de implementación, no un secreto: las hojas de transformación son públicas.
¿Qué es el atributo TipoRelacion y cuándo aparece?
Aparece cuando un comprobante se relaciona con otro, dentro del nodo de CFDI relacionados, y dice qué tipo de relación es. Los dos casos que se ven a diario son la nota de crédito, que corrige un comprobante anterior, y la sustitución, que es la que se usa al refacturar después de cancelar. Si vas a cancelar y refacturar, el orden y el motivo están en la guía de cancelación.
¿Por qué el XML se ve mal cuando lo abro en Excel o en el navegador?
Porque no está pensado para que lo leas tú: es un formato de intercambio entre sistemas, y Excel intenta acomodarlo en celdas inventándose una estructura que el archivo no tiene. Abrirlo en un editor de texto sí funciona y se ve la etiqueta de cada campo. Si lo que quieres es leerlo en español, en la página de verificación tenemos un lector que lo traduce dentro de tu navegador, sin subirlo a ningún servidor.
¿Existe el CFDI 5.0?
Al 25 de septiembre de 2026, el SAT no publica ningún esquema, estándar ni catálogo de una versión 5.0 en su página del Anexo 20, y la Resolución Miscelánea Fiscal de 2026 no la menciona. Circula bastante contenido de proveedores anunciándola; conviene pedirle a quien la anuncie el documento oficial que la respalda. La versión que tiene que decir el atributo Version de tu archivo hoy es la 4.0.
¿Un XML sin el nodo del Timbre Fiscal Digital sirve de algo?
No como comprobante fiscal. Ese nodo es el que añade el PAC al certificar, y trae el folio fiscal, la fecha de timbrado y el sello del SAT. Sin él tienes un archivo que nunca se certificó: un borrador. No ampara ninguna deducción, no aparece en la consulta del SAT y no se puede cancelar, porque para el SAT no existe.
¿Cuánto tiempo tengo que guardar los XML?
El archivo es el comprobante, así que guardar sólo el PDF equivale a no guardarlo. Conviene conservar el XML de todo lo que emites y de todo lo que deduces durante el plazo de conservación de la contabilidad, y hacerlo en un lugar del que puedas recuperarlo por tu cuenta: el portal del SAT tiene límites de descarga y no está pensado como tu archivo permanente.
Fuentes oficiales y referencias
- SAT — Esquema del CFDI 4.0 (cfdv40.xsd) — El esquema que valida el comprobante. Es la fuente autoritativa del nombre exacto de cada nodo y de cada atributo, y de si es requerido u opcional.
- SAT — Esquema del Timbre Fiscal Digital 1.1 — El nodo que añade el PAC al timbrar, con el UUID y los sellos.
- SAT — Anexo 20, Guía de llenado del CFDI — La descripción de cada campo y las validaciones contra el padrón. Versión publicada el 16 de enero de 2026.
- SAT — Anexo 20, estándar técnico — El estándar con la especificación del sello: digestión SHA-2 256, cifrado RSA con la clave privada del firmante y codificación base 64.
- SAT — Catálogos del CFDI 4.0 — La página del Anexo 20 desde la que se descargan los catálogos. Se enlaza la página y no el archivo porque el nombre del .xls lleva la fecha de su última actualización.
- SAT — Matriz de errores del CFDI 4.0 — Las validaciones que aplica el PAC al timbrar, con su código. Actualizada el 25 de marzo de 2026.
- DOF — Resolución Miscelánea Fiscal para 2026 — Reglas 2.7.1.7 (representaciones impresas), 2.7.1.32 (CFDI por pagos), 2.7.1.35 (cancelación) y 2.7.1.42. Publicada el 28 de diciembre de 2025.
- Código Fiscal de la Federación (última reforma DOF 09-04-2026) — La ley de la que cuelga todo el sistema de comprobantes fiscales. Los artículos concretos se citan dentro de cada sección.
- Resolución Miscelánea Fiscal para 2026, compilada con su Primera Modificación — Las reglas de facilidad vigentes en 2026. Cada sección cita la que aplica, con su número.
- Anexo 20, estándar técnico del CFDI 4.0 (DOF 13-01-2022) — Esquema de cancelación (motivos 01 a 04) y especificación del código QR.
- Anexo 20 · Guía de llenado del CFDI 4.0 — Cómo se llena cada campo del CFDI 4.0, con los apéndices de casos de uso del SAT.
- Catálogos del CFDI 4.0, actualización del 21 de agosto de 2026 — c_UsoCFDI, c_RegimenFiscal, c_TipoDeComprobante, c_MetodoPago y c_Periodicidad.
- Matriz de códigos de error del CFDI 4.0 (SAT, 25-03-2026) — Los códigos CFDI401xx que devuelve el PAC cuando el timbrado se rechaza.
Esta guía es información educativa sobre reglas fiscales públicas, no asesoría fiscal ni contable, y no sustituye a un contador. Las reglas de facturación cambian con cada Resolución Miscelánea Fiscal y el SAT rediseña sus portales sin aviso: antes de emitir, cancelar o deducir, confirma en sat.gob.mx o con tu contador. Calcu.mx no es un PAC, no timbra facturas, no consulta tu información fiscal y nunca te pedirá tu Contraseña ni tu e.firma.
Autor y revisión editorial
Fundador y autor de Calcu.mx
Contenido sobre el estándar técnico del Comprobante Fiscal Digital por Internet con enfoque contable, verificado contra fuentes oficiales (SAT (esquemas del CFDI 4.0 y del Timbre Fiscal Digital, Anexo 20 y su Guía de llenado), Diario Oficial de la Federación). Conoce nuestra metodología editorial o escríbenos a support@calcu.mx.
Aviso: contenido informativo y educativo; no constituye asesoría fiscal, legal ni contable. Calcu.mx no está afiliado al SAT ni a ninguna autoridad. Las fechas, tasas y montos pueden cambiar por reformas o actualizaciones; verifica siempre el dato vigente en el DOF o en el SAT, y consulta a un contador antes de tomar decisiones.
Publicado: 27 de agosto de 2026Última revisión normativa: 25 de septiembre de 2026