Extracción de Datos CFDI:
La Guía Completa de Facturas Electrónicas Mexicanas
Un CFDI no es un documento que se lee — es un registro fiscal que debe desempaquetarse correctamente. El sistema de facturación electrónica obligatorio de México, aplicado por el SAT desde 2014, produce facturas que llegan como archivos XML con un UUID de 36 caracteres, RFC de las partes, códigos de régimen fiscal y — según el tipo de transacción — uno o más complementos estructurados que contienen los datos reales de pago, nómina o comercio exterior. Extraer esto a una hoja de cálculo implica entender una arquitectura documental diseñada para validación gubernamental en tiempo real, no para legibilidad humana. Esta guía cubre todo el panorama: los seis tipos de documentos CFDI, el sistema de complementos, todos los métodos de extracción disponibles y cómo integrar el resultado con el software contable que tu equipo mexicano ya usa.
¿Qué hace diferente al CFDI de cualquier otra factura?
Toda factura que hayas procesado de un proveedor estadounidense, europeo o asiático sigue el mismo patrón básico: el proveedor emite un documento, tú lo recibes y los datos —número de factura, fecha, importe, impuesto— residen en el propio documento. El documento es la fuente de la verdad. El CFDI invierte completamente este modelo.
Un CFDI (Comprobante Fiscal Digital por Internet) es un documento XML que debe ser validado y sellado por un PAC (Proveedor Autorizado de Certificación) autorizado por el gobierno antes de ser legalmente válido. Esto se denomina el modelo de validación: el emisor genera el XML, lo envía a un PAC, el PAC verifica la estructura y la firma digital, aplica un timbre fiscal y reenvía una copia al SAT —la autoridad fiscal de México— en tiempo real. Solo después de este intercambio a tres bandas existe la factura como documento legal. El UUID (Folio Fiscal) asignado por el SAT en ese momento se convierte en el identificador permanente que vincula esa transacción con cada auditoría, pago y declaración fiscal posteriores.
Esto tiene una consecuencia práctica que sorprende a la mayoría de los equipos de cuentas por pagar que trabajan con proveedores mexicanos por primera vez: el archivo XML es la factura legalmente válida. El PDF que llega adjunto en el mismo correo electrónico es una impresión decorativa —útil para revisión humana, pero sin valor legal. Según el Artículo 30 del CFF, tanto el emisor como el receptor deben conservar el CFDI XML original durante al menos cinco años. Deshacerse del XML y conservar solo el PDF crea una exposición en auditorías que muchos equipos descubren solo cuando el SAT solicita los registros.
La versión actual, CFDI 4.0, es obligatoria desde abril de 2023. Introdujo una validación más estricta del receptor: el RFC, el nombre legal y el código postal del domicilio fiscal del receptor deben coincidir exactamente con el registro de contribuyentes del SAT. Las facturas de la versión 3.3 ya no se aceptan. Para cualquiera que construya un flujo de extracción de CFDI, esto significa que cada documento que maneje sigue el esquema 4.0 —un objetivo consistente para la extracción, pero que contiene más campos obligatorios que las versiones anteriores.
El problema central en la extracción de CFDI no es que falten datos. Es que los datos residen en un formato diseñado para la validación gubernamental, no para el consumo en hojas de cálculo —y el puente entre ambos es lo que a la mayoría de los equipos les cuesta construir.
Los seis tipos de CFDI — y cuándo te encontrarás con cada uno
El CFDI no es un solo tipo de documento. El SAT define seis tipos de comprobante, cada uno con sus propias reglas de esquema, campos obligatorios y requisitos de extracción. Si procesas facturas de más de un puñado de proveedores mexicanos, te encontrarás con la mayoría.
| Tipo | Código | Cuándo aparece | Complejidad de extracción |
|---|---|---|---|
| Ingreso | I | Factura de venta estándar — ingresos por bienes o servicios. ~85% de todos los CFDI que recibirás. | Esquema base. Desglose de IVA, UsoCFDI requerido. |
| Egreso | E | Notas de crédito, devoluciones, descuentos — reducciones a facturas de Ingreso emitidas previamente. | Debe referenciar el UUID original. Requiere cruce entre documentos. |
| Pago | P | Recibo de pago — se emite cuando se liquida parcial o totalmente una factura PPD. | Alta. Incluye Complemento de Pago con referencias UUID por pago. |
| Nómina | N | Recibo de nómina — obligatorio para cada pago a empleados. El SAT lo usa para cotejar ISR y seguridad social. | Alta. Complemento con más de 50 campos: IMSS, INFONAVIT, SAR y otros tipos de deducción. |
| Traslado | T | Documento de traslado — movimiento de mercancías sin venta (transferencias de inventario, consignación, Carta Porte). | Media. Requiere complemento de Carta Porte para movimientos de carga. |
| Retenciones | R | Documento de retención — reporta impuestos retenidos (ISR, IVA) en pagos a terceros. | Usa un XSD separado. No forma parte del esquema CFDI base. |
El tipo que genera más fricción en la extracción en la práctica es Pago. Cuando un proveedor emite una factura con condiciones de pago PPD, la factura contiene las partidas y los totales, pero no los detalles del pago. Cada vez que el comprador realiza un pago, el proveedor emite un CFDI de Pago independiente que contiene un Complemento de Pago que especifica qué UUID se está pagando, en qué monto, en qué fecha y por qué método. Un equipo de cuentas por pagar que procesa 40 facturas PPD puede tener de 60 a 80 CFDIs que conciliar, cada uno requiere una referencia cruzada de UUID entre el Ingreso y su(s) complemento(s) de pago.
Campos Clave, Catálogos del SAT y su Significado para tu Hoja de Cálculo
Entender qué campos extraer no es solo una cuestión técnica: determina si tu resultado es útil para la declaración DIOT, la conciliación del crédito de IVA y la respuesta a auditorías. Cada campo en un CFDI se asigna a un código de catálogo del SAT, y un mismo campo puede tener diferentes consecuencias fiscales según el código seleccionado.
Campos a Nivel de Encabezado (Nodo Comprobante)
| Campo | XPath (simplificado) | Por qué importa |
|---|---|---|
| UUID (Folio Fiscal) | /cfdi:Comprobante/Complemento/TimbreFiscalDigital/UUID | Clave primaria de cada transacción. Se usa para conciliación de pagos, cancelaciones y pista de auditoría. |
| RFC Emisor / Receptor | /cfdi:Comprobante/Emisor/@Rfc, /Receptor/@Rfc | RFC de ambas partes. Un solo carácter erróneo invalida el gasto para deducción fiscal. |
| Régimen Fiscal (Emisor) | /cfdi:Comprobante/Emisor/@RegimenFiscal | Determina las reglas fiscales del proveedor — persona física vs moral, RESICO vs régimen general. |
| Fecha | /cfdi:Comprobante/@Fecha | Marca de tiempo ISO 8601 de emisión. El SAT lo usa para asignar el periodo fiscal. |
| Serie + Folio | /cfdi:Comprobante/@Serie, @Folio | Numeración interna del proveedor — útil para cotejar con estados de cuenta del proveedor. |
| SubTotal / Total | /cfdi:Comprobante/@SubTotal, @Total | Importes antes de impuestos y final. El total debe ser igual a subtotal + IVA trasladado − IVA retenido. |
| Moneda + TipoCambio | /cfdi:Comprobante/@Moneda, @TipoCambio | Código de moneda (MXN, USD, EUR) y tipo de cambio si no está en pesos mexicanos. |
| MétodoPago / FormaPago | /cfdi:Comprobante/@MetodoPago, @FormaPago | PUE (pago único) vs PPD (plazos) — determina si se espera un Complemento de Pago. |
| UsoCFDI | /cfdi:Comprobante/@UsoCFDI | Clave de uso del receptor — G01 (adquisiciones), G03 (gastos), D01 (automotriz), P01 (PPD). Determina la procedencia del acreditamiento del IVA. |
| Exportación | /cfdi:Comprobante/@Exportacion | Campo obligatorio en CFDI 4.0. 01=doméstico, 02=exportación definitiva. Segrega facturas para el reporte DIOT. |
Desglose de Impuestos: IVA, Retenciones e IEPS
La estructura de impuestos en un CFDI se encuentra por debajo del nivel de concepto (partida), anidada dentro de cada Concepto. Esto significa que la tasa y el monto del IVA son por partida, no agregados a nivel de factura. La extracción debe sumarlos si tu salida necesita una sola línea de impuestos por factura, pero los datos subyacentes son granulares:
- IVA 16% — tasa estándar aplicada a la mayoría de bienes y servicios. La región fronteriza (frontera norte y sur) califica para una tasa reducida del 8% de IVA bajo ciertas condiciones.
- IVA 0% — aplica a exportaciones (Exportación=02/03) y ciertos alimentos básicos, medicamentos e insumos agrícolas.
- IVA Retenido — el receptor puede estar obligado a retener dos tercios del IVA y enterarlo directamente al SAT. El CFDI muestra tanto
ImpuestosTrasladados(IVA cobrado por el proveedor) comoImpuestosRetenidos(IVA retenido por el comprador). - ISR Retenido — retención del 10% sobre servicios prestados por personas físicas, 1.67% sobre compras al régimen general, 20% sobre pagos de intereses. Estos deben reportarse en la DIOT mensual.
- IEPS — impuesto especial sobre productos específicos: alcohol, tabaco, gasolina, bebidas azucaradas. Cada categoría de producto se asigna a una tasa de IEPS diferente (3%–160%).
Para la extracción, el punto crítico es que un solo CFDI puede contener múltiples combinaciones de impuestos en diferentes partidas. Una sola factura de un distribuidor que vende tanto bienes estándar (IVA 16%) como productos sujetos a IEPS tendrá partidas al 16%, al 16%+IEPS y potencialmente al 0%. Tu salida de extracción debe conservar el detalle de impuestos a nivel de partida o agregar correctamente por tasa.
La capa de Complemento: donde la mayoría de las guías de extracción se detienen
Un complemento es un anexo XML estructurado que extiende el esquema base del CFDI para tipos de transacción específicos. El CFDI base cubre el encabezado de la factura y las partidas. Todo lo demás — detalles de pago, desgloses de nómina, datos aduaneros, información de transporte — reside en los complementos. Para los equipos de AP que procesan facturas mexicanas, tres complementos son los más importantes.
Complemento de Pago
Adjunto a cada CFDI de Pago, este complemento es la mayor fuente de complejidad en la extracción para AP mexicana real. Cuando un proveedor emite una factura bajo términos PPD (MétodoPago=PPD), la factura de Ingreso original no contiene datos de pago. Cada vez que el comprador paga — ya sea total, parcial o a plazos — el proveedor emite un CFDI de Pago cuyo Complemento de Pago registra:
- El UUID de la factura de Ingreso original que se está pagando
- El monto del pago aplicado a ese UUID
- La fecha de pago y el método de pago (transferencia, cheque, efectivo, tarjeta)
- La moneda y el tipo de cambio al momento del pago (crítico cuando la factura original estaba en USD)
- El saldo pendiente después de este pago (saldo insoluto)
Una factura de Ingreso puede liquidarse mediante múltiples CFDIs de Pago, cada uno referenciando el mismo UUID con un monto de pago diferente. El desafío de extracción no es técnico (el UUID siempre está presente) sino de procedimiento: la mayoría de los equipos de AP nunca extraen el Complemento de Pago, dejando los datos de pago en un documento separado que nada en el flujo de trabajo conecta con la factura original.
Una extracción de partidas de CFDI que se detiene en el encabezado de la factura y deja los complementos intactos captura aproximadamente el 60% de los datos que su equipo de AP realmente necesita.
Complemento de Nómina
Los empleadores en México deben emitir un CFDI de Nómina por cada pago a empleados — salario, bonos, comisiones, prima vacacional, indemnización y aguinaldo. El Complemento de Nómina es uno de los documentos con más campos en el sistema CFDI, con más de 50 campos estructurados que incluyen:
- CURP del empleado y número de seguro social IMSS
- Salario base y salario diario (Salario Base de Cotización)
- Ingresos ordinarios (percepciones) desglosados por código de tipo — Sueldos, Aguinaldo, Prima Vacacional, PTU
- Deducciones (deducciones) — ISR retenido, aportaciones al IMSS, pagos de crédito INFONAVIT, SAR/Afore, préstamos de pensión
- Horas extra (Horas Extra) con tipo de tiempo y porcentaje
- Total neto pagado
Para empleadores con múltiples entidades, la extracción de nómina implica procesar cientos de CFDIs de Nómina por ciclo de pago. Cada empleado produce un CFDI por pago, y cada uno requiere que los campos del complemento se aplanen en una hoja de cálculo de RRHH o de informes de nómina.
Complemento de Comercio Exterior
Obligatorio cuando Exportación=02 (exportación definitiva con clave A1) o Exportación=03 (exportación definitiva con clave A2). Este complemento incluye los datos aduaneros de la operación transfronteriza:
- Número de pedimento (identificador de declaración aduanera)
- RFC del exportador y domicilio completo
- Identificación fiscal extranjera del receptor
- Código INCOTERM
- Detalle por línea: fracción arancelaria, unidad de medida aduanera, valor en USD de la mercancía
- País de origen y destino
La versión 2.0 de este complemento está integrada con CFDI 4.0 desde enero de 2024. Para empresas que exportan mercancías desde México, la extracción que captura tanto los campos base del CFDI como los del complemento de comercio exterior es esencial para conciliar facturas de flete contra declaraciones aduaneras.
Por qué distintos PAC generan diseños de PDF diferentes
Todo CFDI parte del mismo esquema XML — Anexo 20 versión 4.0, definido en el XSD publicado por el SAT. El XML es consistente sin importar qué PAC lo timbre. Pero la representación en PDF, que es lo que realmente revisan la mayoría de los equipos de cuentas por pagar, depende completamente de cómo cada PAC decide convertir el XML a un formato visual.
En la práctica, un PDF de CFDI timbrado por Finkok ordenará los campos de forma visual distinta a uno timbrado por SW sapien, Digifact, FacturAPI o la herramienta gratuita del SAT. Los datos son idénticos. El diseño no. Para herramientas OCR basadas en plantillas que dependen de zonas de extracción fijas, cada diseño de PAC requiere una plantilla distinta. Una empresa que recibe facturas de 20 proveedores que usan 8 PAC diferentes necesitaría 8 plantillas de extracción — y no capturaría facturas del noveno PAC que aún no hubiera configurado.
Aquí es donde la extracción semántica — una IA que lee un documento entendiendo lo que cada campo significa en lugar de dónde está ubicado — cambia la economía del procesamiento de CFDI. Una herramienta de extracción semántica que distingue entre un UUID y un RFC puede encontrar ambos campos en cualquier parte de la página, ya sea que el PAC los haya colocado arriba, a la izquierda, a la derecha, abajo o dentro de un recuadro. El diseño del PAC deja de ser relevante, lo que significa que una sola configuración de extracción cubre a todos los proveedores y todos los PAC de tu cartera.
Métodos de extracción comparados: ¿qué enfoque se adapta a tu flujo de CFDI?
Distintos equipos eligen diferentes enfoques para la extracción de CFDI según el volumen de documentos, la mezcla de formatos, la capacidad técnica y el presupuesto. La siguiente tabla compara los cuatro métodos principales frente a las dimensiones clave para el procesamiento de facturas mexicanas.
| Dimensión | Ingreso Manual de Datos | Parseo XML (Script) | OCR con Plantilla | Extracción Semántica IA |
|---|---|---|---|---|
| Tiempo de configuración | Ninguno | 1–3 días (escribir script, probar) | 1–2 horas por diseño PAC | ~15 minutos |
| Maneja todos los diseños PAC | Sí (a ojo) | N/A (trabaja sobre XML) | No — cada diseño necesita una plantilla | Sí — independiente del diseño |
| Maneja escaneos/fotos | Sí | No | Parcial — se degrada con la calidad | Sí |
| Maneja complementos | Si el usuario sabe buscarlos | Sí (si el script está hecho para ello) | No — los complementos no están en el PDF | Sí — si la herramienta maneja ambas fuentes |
| Tiempo por 50 CFDIs | ~3–4 horas | ~2 minutos (lote) | ~15 minutos + correcciones | ~2–5 minutos |
| Tasa de error (por campo) | ~3–5% (erratas, transposición) | ~1% (desajuste de esquema) | ~8–15% (desajuste de diseño) | ~1–3% |
| Habilidad técnica requerida | Ninguna | Python/XPath/XML | Media (configuración de zonas) | Ninguna |
| Escalabilidad a 500+/mes | ❌ | ✅ | ⚠️ | ✅ |
La elección entre el análisis de XML y la extracción semántica con IA no siempre es sencilla. Si cada proveedor envía el XML del CFDI sin procesar y tu equipo tiene capacidad de scripting, el análisis de XML usando XPath o una librería como lxml en Python produce una extracción limpia y directa de los campos a partir de los datos estructurados. La limitación es que el análisis de XML no puede leer facturas escaneadas, no puede interpretar la representación visual en PDF cuando el XML no está adjunto y requiere mantenimiento activo cuando el SAT actualiza el esquema (como ocurrió con la migración 3.3→4.0).
La extracción semántica con IA, por el contrario, funciona con cualquier documento visual — PDF, imagen escaneada, foto de teléfono — y no requiere una entrada XML estructurada. Los modelos de visión modernos entrenados con miles de diseños de facturas pueden localizar los campos UUID, RFC e IVA al entender el significado de esas etiquetas, sin importar dónde aparezcan en el documento. Para los equipos que reciben una mezcla de archivos PDF adjuntos (sin XML) y documentos escaneados, esta es la única opción escalable.
Los archivos se procesan de forma segura y no se almacenan. Pruébalo con un CFDI real en PDF o XML.
Cómo la extracción por IA maneja documentos CFDI — en los tres formatos
El escenario más común para los equipos de cuentas por pagar es recibir una mezcla de archivos XML, PDF adjuntos y documentos escaneados de diferentes proveedores que usan distintos PACs. Crear un flujo de trabajo separado para cada formato genera sobrecarga de mantenimiento y brechas en el procesamiento. Un enfoque de extracción por IA que trate los tres como fuentes de entrada con una sola definición de campos simplifica esto drásticamente.
ImageToTable.ai maneja la extracción de CFDI mediante su paradigma de Extracción de Columnas Personalizadas: tú defines las columnas que quieres en tu salida, y la IA localiza cada valor entendiendo qué significa el campo, no dónde está en la página. Para CFDI, el flujo de trabajo es:
UUID (Folio Fiscal), RFC Emisor, RFC Receptor, SubTotal, IVA Tasa, IVA Monto, Total, UsoCFDI, MétodoPago, Moneda. Para facturas PPD, agrega UUID Pagado y Monto del Pago para capturar los campos del Complemento de Pago.Este enfoque resuelve automáticamente el problema del diseño del PAC: la IA no depende de que los campos estén en una posición fija, por lo que un CFDI generado por Finkok (con UUID en la esquina superior derecha de la segunda página) y uno generado por FacturAPI (con UUID en el pie de página inferior izquierdo) producen la misma salida estructurada.
Para la extracción de complementos específicamente, al procesar archivos XML directamente, la IA puede navegar la estructura jerárquica — recorriendo desde el nodo /Complemento/Pagos de un CFDI de Pago para extraer el UUID referenciado, el monto del pago y la fecha. Para representaciones en PDF del mismo CFDI de Pago, la IA lee los campos del complemento desde donde el PAC decidió mostrarlos en el documento visual.
Integración de datos CFDI con software contable mexicano
Los datos CFDI extraídos solo son útiles si llegan al sistema que usa tu equipo de contabilidad. El ecosistema de software contable mexicano difiere mucho del estadounidense o europeo: los actores dominantes son locales y cada uno tiene requisitos específicos de importación de datos.
CONTPAQi
CONTPAQi es el paquete de contabilidad y gestión empresarial más usado en México, que abarca contabilidad (Contabilidad), facturación electrónica (Factura Electrónica), nóminas (Nóminas) y operaciones comerciales (Comercial). CONTPAQi importa de forma nativa XML CFDI para verificación, pero para análisis masivo de datos —conciliar 200 facturas de proveedores contra códigos presupuestarios, generar informes de gastos por categoría UsoCFDI o preparar insumos para DIOT— los datos deben estar en un formato Excel que se asigne al catálogo de cuentas de CONTPAQi. Columnas extraídas como RFC, UUID y monto de IVA se integran directamente al auxiliar de cuentas de CONTPAQi al importarse como póliza de diario.
Aspel SAE / COI / NOI
Aspel es la segunda plataforma contable más común en PyMEs mexicanas, con módulos SAE (administrativo), COI (contable) y NOI (nóminas). Al igual que CONTPAQi, Aspel puede procesar XML CFDI para verificación individual de facturas, pero su capa de informes funciona mejor cuando los datos CFDI por lote se compilan previamente en una tabla Excel que coincida con las plantillas de importación de Aspel. Entre los contralores mexicanos es práctica común mantener un registro auxiliar de CFDI en Excel —un renglón por factura, columnas para RFC, UUID, folio, tasa de IVA e IVA retenido— y conciliarlo mensualmente contra el libro mayor de Aspel. La extracción automatizada convierte ese registro auxiliar de un ejercicio de captura manual a una exportación directa.
SAP y Oracle NetSuite
Las empresas grandes que operan en México suelen usar SAP u Oracle NetSuite con localizaciones para cumplimiento CFDI. Estos sistemas manejan la validación XML y el envío al PAC automáticamente mediante sus módulos CFDI integrados. Sin embargo, el reto pasa del cumplimiento a la conciliación: los equipos de compras y cuentas por pagar necesitan cotejar los datos CFDI extraídos contra órdenes de compra, notas de recepción de mercancía y términos contractuales con proveedores. Un flujo de extracción con IA que genere datos CFDI como renglones estructurados —con UUID, RFC, códigos de producto (c_ClaveProdServ) y desglose de impuestos— se integra directamente en MIRO (Verificación de Facturas Logísticas) de SAP o en los procesos de importación masiva de cuentas por pagar de NetSuite.
Preguntas Frecuentes
¿Puede la IA extraer datos de archivos XML CFDI?
Sí. Las herramientas modernas de extracción con IA pueden analizar archivos XML CFDI directamente, leyendo los campos estructurados del esquema Anexo 20. A diferencia de los scripts de análisis XML puro que requieren consultas XPath para cada campo, la extracción basada en IA puede manejar variaciones del esquema y generar los datos en la misma estructura de columnas que definas — ya sea que la fuente sea XML, PDF o una imagen escaneada. Esto es particularmente útil para lotes híbridos donde algunos proveedores envían archivos XML adjuntos y otros envían PDF.
¿Qué campos debo extraer de un CFDI para la declaración DIOT?
Para la DIOT mensual (Declaración Informativa de Operaciones con Terceros), necesitas como mínimo: RFC del proveedor, UUID, SubTotal, IVA (desglosado por tasa — 16%, 8%, 0%), IVA retenido, ISR retenido y UsoCFDI. La DIOT requiere que el IVA se reporte a nivel de tasa, por lo que tu extracción debe separar el IVA por código de tasa en lugar de proporcionar un solo total. El campo Exportación también determina si una transacción es nacional o de exportación — la DIOT separa estas categorías.
¿Cómo manejo una factura PPD cuando solo tengo el PDF?
Si el CFDI de Ingreso original se emitió bajo PPD y solo tienes el PDF, los datos de la factura (partidas, totales, IVA) son legibles desde el PDF, pero los detalles del pago no — estos residen en el CFDI de Pago emitido por separado. Necesitas los archivos XML originales o los PDF del CFDI de Pago para completar la conciliación de pagos. Una herramienta de extracción con IA que procese tanto facturas en PDF como documentos CFDI de Pago puede generar las referencias cruzadas del UUID de pago en un solo paso si incluyes columnas para los campos del Complemento de Pago.
¿La extracción de CFDI maneja automáticamente los diferentes diseños de PDF de los PAC?
Las herramientas OCR basadas en plantillas requieren una plantilla separada para cada diseño de PAC — Finkok, SW sapien, Digifact, FacturAPI y la herramienta gratuita del SAT producen PDF visualmente diferentes a partir de los mismos datos XML. Las herramientas de extracción semántica con IA que leen documentos comprendiendo el significado del campo en lugar de su posición manejan automáticamente todos los diseños de PAC sin necesidad de configuración por PAC. La misma configuración de extracción que funciona para un CFDI sellado por Finkok funciona para uno sellado por cualquier otro PAC.
¿Es legalmente válida la representación en PDF para fines de extracción?
Para flujos de trabajo de cuentas por pagar y conciliación, extraer datos del PDF es operativamente suficiente — el PDF contiene la misma información de la factura que el XML. Sin embargo, según la ley fiscal mexicana (Artículo 30 del CFF), el XML es el único documento legalmente válido. Para la retención en auditorías, debe conservar el archivo XML original independientemente del formato que use para la extracción diaria de datos. Un flujo de trabajo práctico es extraer del formato que reciba (el PDF es el más común), pero archivar el XML en un repositorio estructurado durante el período de retención obligatorio de cinco años según la NOM-151-SCFI-2016.
¿Puedo extraer datos de CFDIs de Nómina con la misma herramienta?
Sí, si la herramienta de extracción admite nombres de columna a nivel de campo que coincidan con lo que aparece en el documento de nómina. El Complemento de Nómina contiene más de 50 campos: total percepciones, total deducciones, ISR retenido, IMSS, INFONAVIT y códigos individuales de ingresos y tipos de deducción. Una herramienta de IA que lee documentos semánticamente puede extraer estos campos si nombra las columnas según los datos de nómina que necesita. Sin embargo, la precisión es mayor en PDF de Nómina impresos que en registros de nómina manuscritos, y la estructura jerárquica de los complementos de Nómina significa que la versión XML generalmente produce resultados más confiables que la versión visual en PDF para campos profundamente anidados como Percepciones/Percepcion/TipoPercepcion.
¿Qué sucede cuando se cancela un CFDI? ¿Necesito reextraer?
La cancelación de un CFDI sigue un modelo de consentimiento del receptor. Cuando un proveedor cancela una factura (códigos de motivo 01–04), el destinatario debe aceptar o rechazar la cancelación dentro de 72 horas. Si se acepta, el CFDI original se anula y, si se emite un reemplazo (código de motivo 01), se asigna un nuevo UUID. Su flujo de trabajo de extracción debe manejar este ciclo de vida: ya sea marcando los UUID cancelados en su base de datos e importando el reemplazo, o manteniendo una columna de "estado del CFDI" (activo/cancelado) que se actualice cuando se revise el feed de cancelaciones del SAT. Las herramientas de extracción automatizadas que mantienen un historial de procesamiento pueden reingestar el CFDI de reemplazo y marcar el original como reemplazado, pero esto requiere ya sea el XML original o una base de datos persistente de UUID extraídos previamente.
¿Qué hago con los campos del Complemento de Pago en mi salida?
Los campos del Complemento de Pago — específicamente el UUID referenciado, el monto del pago, la fecha de pago y el saldo pendiente — deben extraerse en la misma hoja de cálculo que contiene los datos de tus facturas de Ingreso. El enfoque recomendado es incluirlos como columnas adicionales en la salida por lote: para las facturas PPD, la extracción devuelve tanto los datos base de la factura como los campos de pago del CFDI de Pago. Luego puedes usar un BUSCARV (o equivalente) para emparejar la referencia del UUID de Pago con el UUID de Ingreso original, confirmando qué facturas están liquidadas y cuáles siguen abiertas. Esto elimina el paso manual de referencias cruzadas que consume más tiempo en la conciliación mensual de CFDI.
La brecha entre "tengo documentos CFDI" y "mi sistema contable tiene los datos" no es una brecha tecnológica — es una brecha de traducción de formato. El flujo de extracción adecuado cierra esa brecha en minutos, no en horas.
La extracción de datos de CFDI no es fundamentalmente difícil. El XML está estructurado. El PDF contiene los mismos datos. Los complementos están documentados en los XSD publicados por el SAT. Lo que lo vuelve difícil en la práctica es la diversidad de formatos, la variabilidad de los diseños de los PAC, el anidamiento jerárquico de los datos fiscales y de complementos, y el hecho de que la mayoría de los flujos de extracción fueron diseñados para documentos planos y basados en posición que se ven igual cada vez. Un enfoque semántico — que lee documentos entendiendo qué es cada campo, no dónde está — maneja todas estas complejidades desde una sola definición de campo. Tú defines las columnas. La IA encuentra los datos. El formato se vuelve irrelevante.
Si hoy procesas facturas de proveedores mexicanos y pasas más tiempo moviendo datos entre documentos que usándolos, el siguiente paso es directo: toma un lote de muestra — de 10 a 20 archivos CFDI en el formato que tengas — y pásalos por un flujo de extracción con IA. La brecha entre "tengo los documentos" y "mi hoja de cálculo tiene los datos" es más pequeña de lo que el proceso manual hace sentir.
Este artículo es parte de la serie de guías de ImageToTable.ai sobre extracción de datos de facturas. Para una visión general, consulta ¿Qué es la Extracción de Datos de Facturas? y ¿Qué es el OCR?. Para la introducción básica al CFDI, lee ¿Qué es un CFDI?. Para un tutorial práctico paso a paso de extracción que cubre cada formato CFDI, consulta Extracción de Datos de Facturas CFDI Mexicanas a Excel. Para un análisis más profundo de por qué el procesamiento de CFDI complica los flujos de trabajo tradicionales de cuentas por pagar, lee Por Qué el Procesamiento de Facturas CFDI Mexicanas es Más Difícil de lo que la Mayoría de los Equipos Esperan.