Extração de Dados CFDI:
Guia Completo para Faturas Eletrônicas Mexicanas
Um CFDI não é um documento para ler — é um registro fiscal que deve ser desempacotado corretamente. O sistema obrigatório de faturas eletrônicas do México, exigido pelo SAT desde 2014, produz faturas que chegam como arquivos XML com um UUID de 36 caracteres, RFCs de contribuintes emparelhados, códigos de regime fiscal e — dependendo do tipo de transação — um ou mais complementos estruturados que contêm os dados reais de pagamento, folha de pagamento ou alfândega. Extrair isso para uma planilha significa entender uma arquitetura de documentos projetada para validação governamental em tempo real, não para legibilidade humana. Este guia cobre todo o cenário: os seis tipos de documentos CFDI, o sistema de complementos, todos os métodos de extração disponíveis e como integrar a saída com o software contábil que sua equipe mexicana já usa.
O Que Torna o CFDI Diferente de Qualquer Outra Fatura
Toda fatura que você já processou de um fornecedor dos EUA, Europa ou Ásia segue o mesmo padrão básico: o fornecedor emite um documento, você o recebe, e os dados — número da fatura, data, valor, imposto — estão no próprio documento. O documento é a fonte da verdade. O CFDI inverte completamente esse modelo.
Um CFDI (Comprobante Fiscal Digital por Internet) é um documento XML que deve ser validado e carimbado por um PAC (Proveedor Autorizado de Certificación) autorizado pelo governo antes de se tornar legalmente válido. Isso é chamado de modelo de validação: o emissor gera o XML, submete a um PAC, o PAC verifica a estrutura e a assinatura digital, aplica um timbre fiscal (carimbo digital) e encaminha uma cópia ao SAT — a autoridade fiscal do México — em tempo real. Somente após essa negociação tripla a fatura existe como documento legal. O UUID (Folio Fiscal) atribuído pelo SAT nesse momento se torna o identificador permanente que vincula essa transação a cada auditoria, pagamento e declaração fiscal subsequentes.
Isso tem uma consequência prática que surpreende a maioria das equipes de AP ao lidar com fornecedores mexicanos pela primeira vez: o arquivo XML é a fatura legalmente válida. O PDF que chega anexado ao mesmo e-mail é uma impressão decorativa — útil para revisão humana, mas sem valor legal. De acordo com o Artigo 30 do CFF, tanto o emissor quanto o receptor devem reter o XML original do CFDI por pelo menos cinco anos. Descartar o XML mantendo apenas o PDF cria uma exposição de auditoria que muitas equipes descobrem apenas quando o SAT solicita os registros.
A versão atual, CFDI 4.0, é obrigatória desde abril de 2023. Ela introduziu uma validação mais rigorosa do receptor: o RFC, o nome legal e o código postal do domicílio fiscal do receptor devem corresponder exatamente ao registro de contribuintes do SAT. Faturas da versão 3.3 não são mais aceitas. Para quem está construindo um fluxo de extração de CFDI, isso significa que todo documento que você manipula segue o esquema 4.0 — um alvo consistente para extração, mas que carrega mais campos obrigatórios do que as versões anteriores.
O problema central na extração de CFDI não é que os dados estejam faltando. É que os dados estão em um formato projetado para validação governamental, não para consumo em planilhas — e a ponte entre os dois é o que a maioria das equipes tem dificuldade em construir.
Os Seis Tipos de Documento CFDI — e Quando Você Encontrará Cada Um
CFDI não é um único tipo de documento. O SAT define seis tipos distintos de comprobantes, cada um com suas próprias regras de esquema, campos obrigatórios e requisitos de extração. Se você processa faturas de mais de um punhado de fornecedores mexicanos, encontrará a maioria deles.
| Tipo | Código | Quando Aparece | Complexidade da Extração |
|---|---|---|---|
| Ingreso | I | Fatura de venda padrão — receita de bens ou serviços. ~85% de todos os CFDIs que você receberá. | Esquema base. Detalhamento de IVA, UsoCFDI obrigatório. |
| Egreso | E | Notas de crédito, reembolsos, descontos — reduções a faturas de Ingreso emitidas anteriormente. | Deve referenciar o UUID original. Requer correspondência entre documentos. |
| Pago | P | Recibo de pagamento — emitido quando uma fatura PPD é liquidada parcial ou totalmente. | Alta. Carrega Complemento de Pago com referências de UUID por pagamento. |
| Nómina | N | Recibo de folha de pagamento — obrigatório para cada pagamento a funcionário. O SAT usa isso para verificar imposto de renda e seguridade social. | Alta. Complemento com mais de 50 campos incluindo IMSS, INFONAVIT, SAR e outros tipos de dedução. |
| Traslado | T | Documento de transferência — movimentação de mercadorias sem venda (transferências de estoque, consignação, Carta Porte). | Média. Requer complemento Carta Porte para movimentações de carga. |
| Retenciones | R | Documento de retenção — relata impostos retidos (ISR, IVA) em pagamentos a terceiros. | Usa um XSD separado. Não faz parte do esquema CFDI base. |
O tipo que gera mais atrito na extração na prática é o Pago. Quando um fornecedor emite uma nota fiscal com prazo PPD, a nota em si contém os itens e os totais, mas não os detalhes do pagamento. Toda vez que o comprador efetua um pagamento, o fornecedor emite um CFDI de Pago separado, contendo um Complemento de Pagamento que especifica qual UUID está sendo pago, o valor, a data e o método. Uma equipe de AP que processa 40 notas PPD pode ter de 60 a 80 CFDIs para conciliar — cada um exigindo uma referência cruzada de UUID entre o Ingreso e seu(s) complemento(s) de pagamento.
Campos Principais, Catálogos do SAT e o que Cada Um Significa para sua Planilha
Entender quais campos extrair não é apenas uma questão técnica — determina se seu resultado será útil para a declaração DIOT, conciliação de crédito de IVA e resposta a auditorias. Cada campo em um CFDI corresponde a um código de catálogo do SAT, e o mesmo campo pode ter consequências fiscais diferentes dependendo do código selecionado.
Campos de Cabeçalho (Nó Comprobante)
| Campo | XPath (simplificado) | Por que é importante |
|---|---|---|
| UUID (Folio Fiscal) | /cfdi:Comprobante/Complemento/TimbreFiscalDigital/UUID | Chave primária de cada transação. Usada para conciliação de pagamentos, rastreamento de cancelamentos e trilha de auditoria. |
| RFC Emisor / Receptor | /cfdi:Comprobante/Emisor/@Rfc, /Receptor/@Rfc | RFC de ambas as partes. Um único caractere errado invalida a despesa para dedução fiscal. |
| Régimen Fiscal (Emisor) | /cfdi:Comprobante/Emisor/@RegimenFiscal | Determina as regras fiscais aplicáveis ao fornecedor — pessoa física vs. moral, RESICO vs. regime geral. |
| Fecha | /cfdi:Comprobante/@Fecha | Timestamp ISO 8601 de emissão. O SAT o utiliza para atribuição do período fiscal. |
| Serie + Folio | /cfdi:Comprobante/@Serie, @Folio | Numeração interna da fatura do fornecedor — útil para conciliação com extratos do fornecedor. |
| SubTotal / Total | /cfdi:Comprobante/@SubTotal, @Total | Valores antes dos impostos e finais. O total deve ser igual ao subtotal + IVA trasladado − IVA retenido. |
| Moneda + TipoCambio | /cfdi:Comprobante/@Moneda, @TipoCambio | Código da moeda (MXN, USD, EUR) e taxa de câmbio se não estiver em pesos mexicanos. |
| MétodoPago / FormaPago | /cfdi:Comprobante/@MetodoPago, @FormaPago | PUE (pagamento único) vs. PPD (parcelado) — determina se é esperado um Complemento de Pago. |
| UsoCFDI | /cfdi:Comprobante/@UsoCFDI | Código de uso do receptor — G01 (aquisições), G03 (despesas), D01 (automotivo), P01 (PPD). Define a elegibilidade para crédito de IVA. |
| Exportación | /cfdi:Comprobante/@Exportacion | Campo obrigatório do CFDI 4.0. 01=nacional, 02=exportação definitiva. Segrega faturas para reporte DIOT. |
Detalhamento de Impostos: IVA, Retenções e IEPS
A estrutura de impostos em um CFDI fica abaixo do nível do conceito (item), aninhada dentro de cada Concepto. Isso significa que a alíquota e o valor do IVA são por item, e não totais da nota. A extração deve somá-los se sua saída precisar de uma única linha de imposto por nota, mas os dados subjacentes são granulares:
- IVA 16% — alíquota padrão aplicada à maioria dos bens e serviços. A região de fronteira (fronteira norte e sul) se qualifica para uma alíquota reduzida de 8% de IVA sob certas condições.
- IVA 0% — aplica-se a exportações (Exportación=02/03) e certos alimentos básicos, medicamentos e insumos agrícolas.
- IVA Retido — o destinatário pode ser obrigado a reter dois terços do IVA e recolhê-lo diretamente ao SAT. O CFDI mostra tanto
ImpuestosTrasladados(IVA cobrado pelo fornecedor) quantoImpuestosRetenidos(IVA retido pelo comprador). - ISR Retido — retenção de 10% sobre serviços prestados por pessoas físicas, 1,67% sobre compras do regime geral, 20% sobre pagamentos de juros. Estes devem ser reportados na DIOT mensal.
- IEPS — imposto seletivo sobre bens específicos: álcool, tabaco, gasolina, bebidas açucaradas. Cada categoria de produto corresponde a uma alíquota diferente de IEPS (3%–160%).
Para a extração, o ponto crítico é que um único CFDI pode conter múltiplas combinações de impostos em diferentes itens. Uma única nota de um distribuidor que vende tanto bens padrão (IVA 16%) quanto produtos sujeitos a IEPS terá itens a 16%, a 16%+IEPS e potencialmente a 0%. Seu resultado de extração deve preservar o detalhamento do imposto por item ou agregar corretamente por alíquota.
A Camada de Complemento: Onde a Maioria dos Guias de Extração Para
Um complemento é um adendo XML estruturado que estende o esquema base do CFDI para tipos específicos de transação. O CFDI base cobre o cabeçalho da fatura e os itens de linha. Todo o resto — detalhes de pagamento, detalhamento de folha de pagamento, dados aduaneiros, informações de transporte — reside nos complementos. Para equipes de AP processando faturas mexicanas, três complementos são os mais importantes.
Complemento de Pagamento
Anexado a todo CFDI de Pagamento, este complemento é a maior fonte de complexidade de extração no AP mexicano real. Quando um fornecedor emite uma fatura sob termos PPD (MétodoPago=PPD), a fatura de Ingresso original não contém dados de pagamento. Cada vez que o comprador paga — integralmente, parcialmente ou em condições diferidas — o fornecedor emite um CFDI de Pagamento cujo Complemento de Pagamento registra:
- O UUID da fatura de Ingresso original que está sendo paga
- O valor do pagamento aplicado a esse UUID
- A data e o método de pagamento (transferência, cheque, dinheiro, cartão)
- A moeda e a taxa de câmbio no momento do pagamento (crítico quando a fatura original estava em USD)
- O saldo devedor após este pagamento (saldo insoluto)
Uma fatura de Ingresso pode ser liquidada por múltiplos CFDIs de Pagamento — cada um referenciando o mesmo UUID com um valor de pagamento diferente. O desafio da extração não é técnico (o UUID está sempre presente), mas processual: a maioria das equipes de AP nunca extrai o Complemento de Pagamento, deixando os dados de pagamento em um documento separado que nada no fluxo de trabalho conecta à fatura original.
Uma extração de itens de linha do CFDI que para no cabeçalho da fatura e deixa os complementos intocados captura aproximadamente 60% dos dados que sua equipe de AP realmente precisa.
Complemento de Folha de Pagamento
Empregadores no México devem emitir um CFDI de Folha de Pagamento para cada pagamento a funcionários — salário, bônus, comissões, prêmios de férias, indenizações e bônus de Natal (aguinaldo). O Complemento de Folha de Pagamento é um dos documentos com mais campos no sistema CFDI, contendo mais de 50 campos estruturados, incluindo:
- CURP do funcionário e número de segurança social IMSS
- Salário base e salário diário (Salário Base de Cotização)
- Renda ordinária (percepções) detalhada por código de tipo — Salários, Aguinaldo, Prêmio de Férias, PTU
- Deduções (deduções) — ISR retido, contribuições IMSS, pagamentos de empréstimos INFONAVIT, SAR/Afore, empréstimos previdenciários
- Horas extras (Horas Extra) com tipo de hora e porcentagem
- Total do pagamento líquido
Para empregadores com múltiplas entidades, a extração da folha de pagamento significa processar centenas de CFDIs de Folha de Pagamento por ciclo de pagamento. Cada funcionário produz um CFDI por pagamento, e cada um requer que os campos do complemento sejam achatados em uma planilha de RH ou relatório de folha de pagamento.
Complemento de Comercio Exterior
Obrigatório quando Exportación=02 (exportação definitiva com chave aduaneira A1) ou Exportación=03 (exportação definitiva com chave A2). Este complemento carrega os dados aduaneiros para transações transfronteiriças:
- Número do pedimento (ID da declaração aduaneira)
- RFC do exportador e endereço completo
- ID fiscal estrangeiro do destinatário
- Código INCOTERM
- Detalhe por linha: fração tarifária (fracción arancelaria), unidade de medida aduaneira, valor em USD dos bens
- País de origem e destino
A versão 2.0 deste complemento foi integrada ao CFDI 4.0 desde janeiro de 2024. Para empresas que exportam mercadorias do México, a extração que captura tanto os campos base do CFDI quanto os dados do complemento de comércio exterior é essencial para conciliar faturas de frete com declarações aduaneiras.
Por que PACs Diferentes Significam Layouts de PDF Diferentes
Todo CFDI começa com o mesmo esquema XML — Anexo 20 versão 4.0, definido no XSD publicado pelo SAT. O XML é consistente independentemente de qual PAC o carimba. Mas a representação em PDF, que é o que a maioria das equipes de contas a pagar realmente vê, depende inteiramente de como cada PAC escolhe renderizar o XML em um formato visual.
Na prática, um PDF CFDI carimbado pela Finkok organizará os campos em uma ordem visual diferente daquele carimbado pela SW sapien, Digifact, FacturAPI ou pela ferramenta gratuita do próprio SAT. Os dados são idênticos. O layout não é. Para ferramentas de OCR baseadas em modelos que dependem de zonas de extração de posição fixa, cada layout de PAC exige um modelo separado. Uma empresa que recebe faturas de 20 fornecedores que usam coletivamente 8 PACs diferentes precisaria de 8 modelos de extração — e perderia faturas do 9º PAC que ainda não havia configurado.
É aqui que a extração semântica — IA que lê um documento entendendo o que cada campo significa em vez de onde ele está — muda a economia do processamento de CFDI. Uma ferramenta de extração semântica que sabe a diferença entre um UUID e um RFC pode encontrar ambos os campos em qualquer lugar da página, independentemente de o PAC os ter posicionado no topo, esquerda, direita, base ou dentro de uma caixa com borda. O layout do PAC se torna irrelevante, o que significa que uma única configuração de extração cobre todos os fornecedores e todos os PACs em seu portfólio.
Métodos de Extração Comparados: Qual Abordagem se Adequa ao Seu Fluxo de Trabalho com CFDI?
Diferentes equipes escolhem diferentes abordagens para extração de CFDI com base no volume de documentos, variedade de formatos, capacidade técnica e orçamento. A tabela a seguir mapeia os quatro métodos principais em relação às dimensões relevantes para o processamento de faturas mexicanas.
| Dimensão | Inserção Manual de Dados | Análise de XML (Script) | OCR de Modelo | Extração Semântica por IA |
|---|---|---|---|---|
| Tempo de configuração | Nenhum | 1–3 dias (escrever script, testar) | 1–2 horas por layout PAC | ~15 minutos |
| Lida com todos os layouts PAC | Sim (visualmente) | N/A (trabalha com XML) | Não — cada layout precisa de um template | Sim — independente de layout |
| Lida com digitalizações/fotos | Sim | Não | Parcial — degrada com qualidade | Sim |
| Lida com complementos | Se o usuário souber onde procurar | Sim (se o script for escrito para isso) | Não — complementos não estão no PDF | Sim — se a ferramenta lidar com ambas as fontes |
| Tempo por 50 CFDIs | ~3–4 horas | ~2 minutos (lote) | ~15 minutos + correções | ~2–5 minutos |
| Taxa de erro (por campo) | ~3–5% (erros de digitação, troca) | ~1% (incompatibilidade de esquema) | ~8–15% (incompatibilidade de layout) | ~1–3% |
| Habilidade técnica necessária | Nenhuma | Python/XPath/XML | Média (configuração de zonas) | Nenhuma |
| Escalabilidade para 500+/mês | ❌ | ✅ | ⚠️ | ✅ |
A escolha entre análise de XML e extração semântica por IA nem sempre é direta. Se cada fornecedor envia o XML bruto do CFDI e sua equipe tem capacidade de script, a análise de XML usando XPath ou uma biblioteca como lxml em Python produz uma extração limpa e direta de campos a partir dos dados estruturados. A limitação é que a análise de XML não consegue ler faturas escaneadas, não pode interpretar a representação visual em PDF quando o XML não está anexado e requer manutenção ativa quando o SAT atualiza o esquema (como aconteceu na migração 3.3→4.0).
A extração semântica por IA, por outro lado, funciona a partir de qualquer documento visual — PDF, imagem escaneada, foto de celular — e não requer uma entrada XML estruturada. Modelos de visão modernos, treinados em milhares de layouts de faturas, podem localizar os campos UUID, RFC e IVA ao entender o significado desses rótulos, independentemente de onde aparecem no documento. Para equipes que recebem uma mistura de anexos PDF (sem XML) e documentos escaneados, esta é a única opção escalável.
Os arquivos são processados com segurança e não são armazenados. Teste em um PDF ou XML CFDI real.
Como a Extração por IA Lida com Documentos CFDI — Nos Três Formatos
O cenário mais comum para equipes de contas a pagar é receber uma mistura de arquivos XML, anexos em PDF e documentos digitalizados de diferentes fornecedores que usam diferentes PACs. Criar um fluxo de trabalho separado para cada formato gera custos de manutenção e lacunas no processamento. Uma abordagem de extração por IA que trata todos os três como fontes de entrada com uma única definição de campos simplifica drasticamente isso.
O ImageToTable.ai lida com a extração de CFDI por meio do paradigma de Extração de Colunas Personalizadas — você define as colunas desejadas na saída, e a IA localiza cada valor entendendo o significado do campo, não sua posição na página. Para CFDI, o fluxo de trabalho é:
UUID (Folio Fiscal), RFC Emisor, RFC Receptor, SubTotal, IVA Tasa, IVA Monto, Total, UsoCFDI, MétodoPago, Moneda. Para faturas PPD, adicione UUID Pagado e Monto del Pago para capturar campos do Complemento de Pago.Essa abordagem resolve automaticamente o problema de layout do PAC: a IA não depende de campos em uma posição fixa, portanto, um CFDI renderizado pela Finkok (com UUID no canto superior direito da segunda página) e um renderizado pela FacturAPI (com UUID no rodapé inferior esquerdo) produzem a mesma saída estruturada.
Para extração de complementos especificamente, ao processar arquivos XML diretamente, a IA pode navegar pela estrutura hierárquica — percorrendo o nó /Complemento/Pagos de um CFDI de Pago para extrair o UUID referenciado, valor do pagamento e data. Para representações em PDF do mesmo CFDI de Pago, a IA lê os campos do complemento de onde quer que o PAC os tenha exibido no documento visual.
Integração de Dados CFDI com Softwares Contábeis Mexicanos
Dados CFDI extraídos só são úteis se chegarem ao sistema que sua equipe contábil realmente utiliza. O ecossistema de softwares contábeis mexicanos difere significativamente do cenário dos EUA ou da Europa — os players dominantes são locais, e cada um tem expectativas específicas de importação de dados.
CONTPAQi
CONTPAQi é o pacote de gestão contábil e empresarial mais usado no México, abrangendo contabilidade (Contabilidad), faturamento eletrônico (Factura Electrónica), folha de pagamento (Nóminas) e operações comerciais (Comercial). O CONTPAQi importa nativamente XML CFDI para verificação, mas para análise de dados em lote — conciliar 200 faturas de fornecedores com códigos orçamentários, criar relatórios de gastos por categoria UsoCFDI ou preparar entradas DIOT — os dados precisam estar em formato Excel que mapeie o plano de contas do CONTPAQi. Colunas extraídas como RFC, UUID e valor do IVA alimentam diretamente o auxiliar de cuentas do CONTPAQi quando importadas como um lançamento contábil em lote.
Aspel SAE / COI / NOI
Aspel é a segunda plataforma contábil mais comum em PMEs mexicanas, com módulos SAE (administrativo), COI (contábil) e NOI (folha de pagamento). Assim como o CONTPAQi, o Aspel processa XML CFDI para verificação individual de faturas, mas sua camada de relatórios funciona melhor quando dados CFDI em lote são pré-compilados em uma tabela Excel que corresponda aos modelos de importação do Aspel. É prática comum entre contadores mexicanos manter um registro auxiliar de CFDI em Excel — uma linha por fatura, colunas para RFC, UUID, folio, alíquota de IVA e retenção — e conciliá-lo mensalmente com o razão do Aspel. A extração automatizada transforma esse registro auxiliar de um exercício manual de digitação em uma exportação direta.
SAP e Oracle NetSuite
Empresas de maior porte que operam no México geralmente utilizam SAP ou Oracle NetSuite com localizações para conformidade CFDI. Esses sistemas lidam com a validação XML e o envio ao PAC automaticamente por meio de seus módulos CFDI integrados. No entanto, o desafio muda da conformidade para a conciliação: as equipes de compras e contas a pagar precisam combinar dados CFDI extraídos com ordens de compra, notas de recebimento de mercadorias e termos contratuais de fornecedores. Um fluxo de extração por IA que produza dados CFDI como linhas estruturadas — com UUID, RFC, códigos de produto por item (c_ClaveProdServ) e detalhamento de impostos — alimenta diretamente o MIRO (Verificação de Faturas Logísticas) do SAP ou os processos de importação em lote de contas a pagar do NetSuite.
Perguntas Frequentes
A IA consegue extrair dados de arquivos XML de CFDI?
Sim. Ferramentas modernas de extração com IA podem analisar arquivos XML de CFDI diretamente, lendo os campos estruturados do esquema Anexo 20. Diferente de scripts de análise XML puros que exigem consultas XPath para cada campo, a extração baseada em IA lida com variações de esquema e gera os dados na mesma estrutura de colunas que você definir — seja a fonte XML, PDF ou imagem escaneada. Isso é particularmente útil para lotes híbridos onde alguns fornecedores enviam anexos XML e outros enviam PDFs.
Quais campos devo extrair de um CFDI para a declaração DIOT?
Para a DIOT (Declaración Informativa de Operaciones con Terceros) mensal, você precisa no mínimo: RFC do fornecedor, UUID, SubTotal, IVA (discriminado por taxa — 16%, 8%, 0%), IVA retido, ISR retido e UsoCFDI. A DIOT exige que o IVA seja reportado por nível de taxa, portanto sua extração deve separar o IVA por código de taxa, em vez de fornecer um total único. O campo Exportación também determina se a transação é nacional ou de exportação — a DIOT separa essas categorias.
Como lidar com uma fatura PPD quando apenas o PDF está disponível?
Se o CFDI de Ingreso original foi emitido sob PPD e você só tem o PDF, os dados da fatura (itens, totais, IVA) são legíveis no PDF, mas os detalhes do pagamento não — eles estão no CFDI de Pago emitido separadamente. Você precisa dos arquivos XML originais ou dos PDFs do CFDI de Pago para completar a conciliação de pagamentos. Uma ferramenta de extração com IA que processa tanto faturas em PDF quanto documentos CFDI de Pago pode gerar as referências cruzadas do UUID de pagamento em uma única etapa, se você incluir colunas para os campos do Complemento de Pago.
A extração de CFDI lida automaticamente com os diferentes layouts de PDF dos PACs?
Ferramentas de OCR baseadas em modelos exigem um modelo separado para cada layout de PAC — Finkok, SW sapien, Digifact, FacturAPI e a ferramenta gratuita do SAT produzem PDFs visualmente diferentes a partir dos mesmos dados XML. Ferramentas de extração semântica com IA, que leem documentos entendendo o significado do campo em vez da posição do campo, lidam automaticamente com todos os layouts de PAC sem configuração por PAC. A mesma configuração de extração que funciona para um CFDI carimbado pela Finkok funciona para um carimbado por qualquer outro PAC.
A representação em PDF é legalmente válida para fins de extração?
Para fins de fluxo de trabalho de AP e conciliação, extrair dados do PDF é operacionalmente suficiente — o PDF contém os mesmos dados da fatura que o XML. No entanto, de acordo com a lei fiscal mexicana (Artigo 30 do CFF), o XML é o único documento legalmente válido. Para retenção em auditoria, você deve preservar o arquivo XML original, independentemente do formato usado para extração diária de dados. Um fluxo de trabalho prático é extrair do formato que você receber (PDF é o mais comum), mas arquivar o XML em um repositório estruturado pelo período de retenção obrigatório de cinco anos, conforme a NOM-151-SCFI-2016.
Posso extrair dados de CFDIs de Nómina (folha de pagamento) com a mesma ferramenta?
Sim, se a ferramenta de extração suportar nomenclatura de colunas em nível de campo que corresponda ao que aparece no documento de folha de pagamento. O Complemento de Nómina contém mais de 50 campos — total de percepções, total de deduções, ISR retido, IMSS, INFONAVIT e códigos individuais de tipos de renda e dedução. Uma ferramenta de IA que lê documentos semanticamente pode extrair esses campos se você nomear as colunas de acordo com os pontos de dados da folha de pagamento de que precisa. No entanto, a precisão é maior em PDFs de Nómina impressos do que em registros manuscritos de folha de pagamento, e a estrutura hierárquica dos complementos de Nómina significa que a versão XML geralmente produz resultados mais confiáveis do que a versão visual em PDF para campos profundamente aninhados, como Percepciones/Percepcion/TipoPercepcion.
O que acontece quando um CFDI é cancelado — preciso extrair novamente?
O cancelamento de CFDI segue um modelo de consentimento do receptor. Quando um fornecedor cancela uma fatura (códigos de motivo 01–04), o destinatário deve aceitar ou rejeitar o cancelamento em até 72 horas. Se aceito, o CFDI original é anulado e, se um substituto for emitido (código de motivo 01), um novo UUID é atribuído. Seu fluxo de trabalho de extração precisa lidar com esse ciclo de vida: sinalizando UUIDs cancelados em seu banco de dados e importando o substituto, ou mantendo uma coluna de "status do CFDI" (ativo/cancelado) que é atualizada quando o feed de cancelamento do SAT é verificado. Ferramentas de extração automatizadas que mantêm um histórico de processamento podem reingerir o CFDI substituto e sinalizar o original como substituído, mas isso requer o XML original ou um banco de dados persistente de UUIDs extraídos anteriormente.
O que fazer com os campos Complemento de Pago na minha saída?
Os campos Complemento de Pago — especificamente o UUID referenciado, valor do pagamento, data do pagamento e saldo pendente — devem ser extraídos para a mesma planilha que contém os dados da sua fatura Ingreso. A abordagem recomendada é incluí-los como colunas adicionais na saída em lote: para faturas PPD, a extração retorna tanto os dados base da fatura quanto os campos de pagamento do CFDI Pago. Você pode então usar PROCV (ou equivalente) para corresponder a referência UUID do Pago ao UUID original do Ingreso, confirmando quais faturas foram totalmente liquidadas e quais permanecem em aberto. Isso elimina a etapa manual de referência cruzada que consome mais tempo na conciliação mensal de CFDI.
A lacuna entre "tenho documentos CFDI" e "meu sistema contábil tem os dados" não é uma lacuna tecnológica — é uma lacuna de tradução de formato. O fluxo de extração certo fecha essa lacuna em minutos, não em horas.
A extração de dados de CFDI não é fundamentalmente difícil. O XML é estruturado. O PDF carrega os mesmos dados. Os complementos estão documentados nos XSDs publicados pelo SAT. O que torna difícil na prática é a diversidade de formatos, a variabilidade dos layouts dos PACs, o aninhamento hierárquico dos dados fiscais e de complementos, e o fato de que a maioria dos fluxos de extração foi projetada para documentos planos e baseados em posição que têm a mesma aparência toda vez. Uma abordagem semântica — que lê documentos entendendo o que cada campo é, não onde ele está — lida com todas essas complexidades a partir de uma única definição de campo. Você define as colunas. A IA encontra os dados. O formato se torna irrelevante.
Se você está processando faturas de fornecedores mexicanos hoje e gastando mais tempo movendo dados entre documentos do que usando-os, o próximo passo é direto: pegue um lote de amostra — 10 a 20 arquivos CFDI em qualquer formato que você tiver — e execute-os em um fluxo de extração de IA. A lacuna entre "tenho os documentos" e "minha planilha tem os dados" é menor do que o processo manual faz parecer.
Este artigo faz parte da série de guias do ImageToTable.ai sobre extração de dados de faturas. Para uma visão geral mais ampla, veja O que é Extração de Dados de Faturas? e O que é OCR?. Para uma introdução ao CFDI para iniciantes, leia O que é um CFDI?. Para um tutorial prático passo a passo de extração cobrindo cada formato de CFDI, veja Extração de Dados de Faturas CFDI Mexicanas para Excel. Para uma análise mais aprofundada de por que o processamento de CFDI confunde os fluxos de AP tradicionais, leia Por que o Processamento de Faturas CFDI Mexicanas é Mais Difícil do que a Maioria das Equipes Espera.