XML
Cómo leer un XML de factura SAT: estructura y campos clave
Cada factura electrónica en México genera un archivo XML que es el comprobante fiscal oficial ante el SAT. El PDF que recibes por correo es solo una representación visual; el XML contiene toda la información legal: emisor, receptor, montos, impuestos, UUID y sellos digitales.
Esta guía explica la estructura básica de un XML de CFDI, qué significa cada campo principal y cómo encontrar los datos que necesitas sin conocimientos técnicos.
¿Qué es un archivo XML de CFDI?
El formato oficial del SAT
XML (eXtensible Markup Language) es un formato de texto estructurado que organiza la información en etiquetas (nodos) y atributos. El SAT define la estructura exacta que debe tener cada CFDI en el Anexo 20.
El archivo XML contiene:
- Datos del emisor: RFC, nombre, régimen fiscal, código postal.
- Datos del receptor: RFC, nombre, régimen fiscal, código postal, uso de CFDI.
- Conceptos: productos o servicios facturados con cantidades, precios, importes.
- Impuestos: IVA, ISR, IEPS, retenciones y traslados desglosados.
- Totales: subtotal, descuento, total de impuestos, total general.
- Información fiscal: UUID (folio fiscal), fecha de emisión, sello digital, número de certificado.
- Complementos: pagos, nómina, carta porte, comercio exterior, según el tipo de CFDI.
Estructura del XML: nodos principales
Mapa visual del XML
Así se organiza un CFDI 4.0 típico:
``` <cfdi:Comprobante> ├── Atributos: Version, Serie, Folio, Fecha, FormaPago, Moneda, TipoCambio, Total, SubTotal, Exportacion, etc. ├── <cfdi:Emisor> │ ├── Rfc, Nombre, RegimenFiscal │ └── <cfdi:DomicilioFiscal> (opcional) ├── <cfdi:Receptor> │ ├── Rfc, Nombre, DomicilioFiscalReceptor (CP), RegimenFiscalReceptor, UsoCFDI │ └── <cfdi:Domicilio> (opcional) ├── <cfdi:Conceptos> │ └── <cfdi:Concepto> (uno por producto/servicio) │ ├── ClaveProdServ, NoIdentificacion, Cantidad, ClaveUnidad, Unidad, Descripcion, ValorUnitario, Importe, Descuento │ └── <cfdi:Impuestos> │ ├── <cfdi:Traslados> │ │ └── <cfdi:Traslado> Base, Impuesto, TipoFactor, TasaOCuota, Importe │ └── <cfdi:Retenciones> │ └── <cfdi:Retencion> Base, Impuesto, TipoFactor, TasaOCuota, Importe ├── <cfdi:Impuestos> │ ├── TotalImpuestosTrasladados, TotalImpuestosRetenidos │ ├── <cfdi:Traslados> │ │ └── <cfdi:Traslado> │ └── <cfdi:Retenciones> │ └── <cfdi:Retencion> ├── <cfdi:Complemento> (si aplica: pagos, nómina, carta porte, etc.) └── <cfdi:Addenda> (opcional, para datos extra del cliente) ```
Campos que debes revisar siempre
Lo que importa en la práctica
UUID (Timbre Fiscal Digital)
Es el identificador único del CFDI. Sin él no puedes consultar ni cancelar la factura. Se encuentra dentro del nodo `<cfdi:Complemento>` > `<tfd:TimbreFiscalDigital>` como atributo `UUID`.
Ejemplo: `UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890"`
Fecha de emisión
Atributo `Fecha` del nodo `<cfdi:Comprobante>`. Formato ISO 8601: `2026-07-07T14:30:00`. Es la fecha fiscal del comprobante.
RFC del emisor y receptor
Atributos `Rfc` dentro de `<cfdi:Emisor>` y `<cfdi:Receptor>`. Verifica que coincidan con los datos reales.
Montos totales
Atributos `SubTotal`, `Descuento`, `Total` e `Impuestos` del nodo raíz. El `Total` debe coincidir con lo que pagaste realmente.
Uso de CFDI
Atributo `UsoCFDI` en `<cfdi:Receptor>`. Debe coincidir con el régimen fiscal del receptor. Por ejemplo, un asalariado debe usar claves como D01 (Honorarios médicos) o D10 (Pagos por servicios educativos), no G03.
Exportación
Atributo `Exportacion` del nodo raíz. En CFDI 4.0 es obligatorio. Si no es una operación internacional, debe decir `01`.
Cómo abrir un XML en tu computadora
Métodos sencillos sin instalar nada
Método 1: Arrastrar a Chrome
1. Localiza el archivo XML en tu computadora. 2. Ábrelo en Google Chrome arrastrando el archivo desde la carpeta a la ventana del navegador. 3. Chrome mostrará el contenido estructurado con los nodos plegables. Haz clic en + para expandir cada sección.
Método 2: Editor de texto
1. Haz clic derecho sobre el archivo XML. 2. Elige Abrir con > Bloc de notas (Windows) o TextEdit (Mac). 3. El contenido aparecerá como texto sin formato. Puedes buscar palabras como UUID, Total o RFC con Ctrl+B.
Método 3: Visores en línea gratuitos
Existen herramientas como el Lector XML de ContadorMx o el visor de CFDI Excel que te permiten subir el XML y ver los datos en formato de tabla. No subas XML con datos sensibles a sitios no verificados.
Preguntas frecuentes
¿El PDF y el XML son lo mismo?
No. El PDF es solo una representación visual. El XML es el documento fiscal válido ante el SAT. Para cualquier trámite fiscal, contabilidad o deducción, el XML es el archivo que importa.
¿Dónde encuentro el UUID de mi factura?
Dentro del XML, busca el nodo TimbreFiscalDigital. El atributo UUID son 36 caracteres con guiones. También aparece en el PDF como Folio Fiscal.
¿Qué hago si no puedo abrir un XML?
Usa Chrome arrastrando el archivo. Si no se abre, el archivo puede estar dañado o no ser un CFDI válido. También puedes usar un editor de texto como Sublime Text.
¿Puedo editar un XML?
Técnicamente sí, pero si modificas cualquier campo, el sello digital dejará de ser válido y el SAT lo rechazará. Nunca edites un XML firmado.
¿Cuánto tiempo debo guardar los XML?
El Código Fiscal de la Federación exige conservar los comprobantes fiscales por al menos 5 años a partir de su emisión. Guárdalos en una carpeta organizada por año y mes.
También te puede interesar
Referencias
Fuentes y referencias
Usamos criterios prácticos y cautelas de facturación cuando ayudan a tomar mejores decisiones.
Siguiente lectura
Guías relacionadas
Continúa con la siguiente duda real de facturación.