Calculadora, caderno quadriculado e óculos sobre uma mesa com papéis
Foto: Cht Gsml / Unsplash

Todo mês chega a mesma pilha: notas de fornecedor por e-mail, DANFE em PDF, foto de cupom tirada no celular, nota de serviço de cada prefeitura num layout diferente. Alguém abre uma por uma e digita CNPJ, valor, data e vencimento numa planilha ou no ERP. É lento, cansativo e propenso a erro de digitação.

Dá para extrair dados de nota fiscal automaticamente, e a IA ajuda muito nos formatos mais bagunçados. Mas antes de chamar a IA, vale entender uma coisa que muita gente ignora: em boa parte dos casos, o dado já existe estruturado. Você só não está usando.

Primeiro: você tem o XML?

A NF-e (nota de produto) é, legalmente, um arquivo XML assinado digitalmente. O PDF que você recebe, o DANFE, é só uma representação impressa. O XML tem todos os campos organizados: emitente, destinatário, itens, NCM, CFOP, impostos, valores.

Se o fornecedor manda o XML (e ele deveria, é prática comum enviar junto do DANFE), extrair os dados é só ler o arquivo. Não precisa de IA, não tem erro de leitura, e é instantâneo.

import xml.etree.ElementTree as ET

ns = {'nfe': 'http://www.portalfiscal.inf.br/nfe'}
raiz = ET.parse('nota.xml').getroot()
emit = raiz.find('.//nfe:emit', ns)
total = raiz.find('.//nfe:ICMSTot', ns)

print(emit.findtext('nfe:CNPJ', namespaces=ns))
print(emit.findtext('nfe:xNome', namespaces=ns))
print(total.findtext('nfe:vNF', namespaces=ns))

Com algumas linhas de Python, você lê centenas de XMLs de uma pasta e gera uma planilha. É o tipo de script que eu gosto de fazer: sem dependência externa, roda em qualquer lugar.

E quando não tem o XML?

Aí entram os casos difíceis, que são justamente onde a IA brilha:

  • DANFE em PDF sem o XML anexo.
  • NFS-e, que varia de prefeitura para prefeitura.
  • Foto de cupom fiscal ou nota tirada no celular.
  • Notas digitalizadas de anos anteriores.
  • Recibos e faturas que nem são nota fiscal, mas precisam entrar no controle.

Como a IA extrai dados de nota fiscal

Os modelos de linguagem atuais, como Claude e GPT, conseguem ler imagens e PDFs. Você envia o documento e pede os campos que quer, num formato fixo. O fluxo completo fica assim:

  1. Captura: a nota chega por e-mail, WhatsApp ou upload numa pasta.
  2. Identificação: o sistema vê se tem XML. Se tiver, lê direto. Se não, segue para a IA.
  3. Extração: a IA lê o PDF ou a imagem e devolve os dados em JSON.
  4. Validação: regras de código conferem se os dados fazem sentido.
  5. Destino: os dados vão para o ERP, a planilha ou o contas a pagar.
  6. Exceção: o que não passou na validação vai para uma pessoa revisar.

O pedido certo para a IA

O segredo é pedir uma saída estruturada, não um texto livre. Algo como:

Extraia desta nota fiscal os campos abaixo e responda apenas em JSON:
cnpj_emitente, razao_social, numero_nota, data_emissao (AAAA-MM-DD),
valor_total (número, ponto como decimal), itens (descricao, quantidade, valor).
Se um campo não estiver legível, use null. Não invente valores.

A instrução “não invente valores” e o uso de null importam. Sem isso, o modelo tende a preencher o que não conseguiu ler com algo plausível, e plausível não é o mesmo que certo.

Validação: a parte que separa brinquedo de sistema

A IA erra de vez em quando. Uma foto tremida, um 8 que parece 3. Por isso, nenhum dado extraído deveria ir direto para o financeiro sem conferência automática:

VerificaçãoComo fazer
CNPJ válidoCalcular os dígitos verificadores
Fornecedor conhecidoComparar com o cadastro do ERP
Soma dos itensConferir se bate com o valor total
Data coerenteEmissão não pode ser no futuro nem muito antiga
DuplicidadeMesmo CNPJ e número de nota já lançados?
Chave de acessoOs 44 dígitos têm formato e dígito verificador corretos

Passou em tudo, entra automático. Falhou em algo, vai para a fila de revisão com o campo suspeito destacado. Na prática, a pessoa deixa de digitar tudo e passa a conferir só as exceções.

Para onde vão os dados

Extrair é metade do trabalho. A outra metade é colocar o dado onde ele é útil:

  • ERP: Bling, Tiny e Omie têm API para lançar contas a pagar e entradas. Integrações com esses três são parte do que a yourobot faz.
  • Planilha: para quem ainda controla por lá, uma linha por nota já economiza muito. Veja como automatizar planilhas.
  • Contabilidade: pasta organizada por mês, com XML e PDF renomeados de forma padronizada, para mandar ao contador.
  • Alerta: vencimento próximo vira mensagem no WhatsApp do financeiro.

Ferramentas como o n8n ajudam a orquestrar esse caminho; para regras mais específicas, um serviço pequeno em Python resolve melhor. Escrevi sobre isso em exemplos de automação de processos.

Cuidados com dados fiscais

  • LGPD: notas de pessoa física têm CPF e endereço. Trate como dado pessoal: acesso restrito, retenção definida e provedor de IA com termos que excluam uso para treino.
  • Guarda dos XMLs: a legislação exige que a empresa guarde os arquivos fiscais por anos. A automação deve arquivar o original, não só os dados extraídos.
  • Backup: pasta de notas sem backup é problema esperando acontecer. Eu mantenho rotinas de backup do Google Drive para disco local justamente por isso.

Perguntas frequentes

Preciso de IA para extrair dados de nota fiscal eletrônica?

Se você tem o XML, não. Ler o XML é mais rápido, mais barato e sem erro. A IA vale para PDF sem XML, fotos, NFS-e de layouts variados e documentos antigos digitalizados.

A IA consegue ler foto de cupom amassado?

Muitas vezes sim, mas a qualidade da foto faz diferença. Por isso a validação e a fila de revisão existem: o sistema pede ajuda humana quando a leitura não é confiável.

Dá para baixar os XMLs automaticamente?

Em muitos casos, sim, pelos serviços da Sefaz com certificado digital ou por recursos do próprio ERP. Isso costuma eliminar boa parte das notas que hoje chegam só em PDF.

E para emitir nota, também dá para automatizar?

Dá. Tenho um script em Python para emissão de NFS-e, e o mesmo raciocínio vale: dados organizados entram, nota sai sem digitação.

Quer parar de digitar nota?

Se sua equipe ainda lança nota fiscal à mão, esse é um dos processos com melhor relação entre esforço e alívio. Veja como trabalho no serviço de automação com IA, com proposta de escopo, prazo e preço fechado em até 3 dias úteis, ou me chame pelo contato.

Tem uma tarefa que você repete toda semana?

Me conta qual é. Em 20 minutos de conversa eu digo se dá para automatizar, quanto tempo leva e quanto custa — sem compromisso.

WhatsApp