NFS-e e NF-e para CSV de carga com o Claude
Como extrair NFS-e e NF-e (XML, PDF ou foto) e montar o CSV de carga do seu ERP com o Claude, os 5 prompts literais e as checagens antes de importar.
TL;DR
- Cole o XML da nota (NF-e ou NFS-e) no Claude e peça os campos-chave em tabela, é o caminho de maior confiança, o XML é determinístico.
- Só veio PDF ou foto? O Claude lê por visão, mas aí a conferência humana é obrigatória (o Prompt 3 força marcar confiança por campo).
- Junte a pilha do mês num CSV de carga pro ERP com 1 prompt, e rode as checagens de sanidade antes de importar (a de duplicata sozinha já paga o esforço).
- Ganho real que medi: uma pilha que eu lançava em ~3 horas vira ~20 minutos de conferência das exceções.
- Pré-requisito não-óbvio: vencimento a nota fiscal não traz, quem traz é o boleto ou o pedido. Se a IA preencheu, ela inventou.
Dá pra extrair NFS-e e NF-e e montar o CSV de carga do seu ERP colando a nota no Claude e pedindo os campos em tabela. O XML é o caminho de maior confiança; PDF e foto funcionam por leitura visual, com conferência humana. No fim, um prompt junta a pilha inteira num arquivo único de importação.
O que dá pra fazer (e o ganho real)
A maioria dos analistas de contas a pagar ainda abre nota por nota, copia CNPJ, número, valor e vencimento na mão, e reza pra não trocar um dígito. Eu fazia isso. Uma pilha de fechamento me tomava umas 3 horas, e o erro que escapava não era o comum: era o caro, um CNPJ com um dígito trocado que manda o pagamento pro fornecedor errado.
O que mudou foi parar de digitar e passar a conferir. Você joga a nota no Claude, ele lê e devolve os campos em tabela; você confere e monta o arquivo de carga. A mesma pilha virou uns 20 minutos, e o tempo agora vai pra olhar as notas que ele marcou como duvidosas, não pras 90% que estão certas.
Uma coisa que aprendi construindo isso de forma séria (rodei um motor de leitura contra 375 casos de notas reais, de várias prefeituras e layouts): o Claude lê os quatro formatos que caem na sua caixa, XML, PDF gerado no sistema, PDF escaneado e foto de celular. A confiança muda muito entre eles, e este tutorial trata cada um de forma diferente por isso.
Pré-requisitos
- Claude (Desktop ou web). Para colar XML e PDF na conversa, qualquer plano serve; você não precisa de execução de código pra esse fluxo manual.
- As suas notas. O XML (o anexo que o fornecedor é obrigado a te mandar) é o melhor caminho. PDF ou foto servem de fallback.
- O modelo de CSV do seu ERP em mente (as colunas que o Omie, ContaAzul ou o genérico esperam na importação). Uso um layout enxuto no Prompt 4 abaixo; adapte as colunas às do seu sistema.
⚠️ Governança (leia antes de subir dado real). Isto mexe com contas a pagar de verdade.
- O XML fica na sua máquina se você quiser. Colar a nota no chat sobe o CNPJ, os valores e a discriminação de serviço do seu fornecedor pra nuvem, na sua própria sessão. Pra maioria das operações isso é aceitável; se a sua política diz “dado fiscal não sai”, esse caminho manual não é o seu, e eu falo do porquê no fim. Escrevi o raciocínio de risco em a IA é segura para os seus dados financeiros?.
- A conferência humana não é dispensada. A IA lê e aponta; quem lança e paga é você. Isso vale ainda mais no PDF, onde a leitura é probabilística.
- Valide o fluxo com o TI/Compliance antes de rodar com nota de terceiro em volume.
Como fazer (passo a passo)
Os cinco prompts abaixo são os que eu uso. Todos assumem o padrão de saída BR: separador ;, data dd/mm/aaaa, decimal com vírgula, sem R$.
1. XML de NF-e (produto, modelo 55)
Quando o fornecedor mandou o XML da NF-e de produto. XML é determinístico, é o caminho de maior confiança. Cole o arquivo e o prompt:
Anexei o XML de uma NF-e (modelo 55). Extraia e me devolva em tabela:
- chave de acesso (44 dígitos), número da NF, série, data de emissão
- emitente: razão social e CNPJ (formatado XX.XXX.XXX/XXXX-XX)
- destinatário: razão social e CNPJ
- valor total da NF (vNF), valor dos produtos (vProd), ICMS destacado, IPI se houver
- natureza da operação (natOp) e a descrição do primeiro item
Leia os valores EXATAMENTE como estão nas tags; não recalcule nem arredonde.
Se alguma tag não existir no XML, escreva "ausente" (não invente).
O que esperar: uma tabela limpa. A linha não recalcule nem arredonde é o que impede o modelo de “consertar” um valor que ele acha estranho, você quer o número que está na nota, não o que o modelo deduziu.
2. XML de NFS-e (serviço, nacional ou ABRASF)
Nota de serviço em XML. Aqui tem uma pegadinha que me custou tempo: os nomes das tags variam por prefeitura. Manaus não chama o campo igual a Belo Horizonte. Por isso o prompt manda procurar pelo conteúdo, não pelo rótulo:
Anexei o XML de uma NFS-e. Os nomes das tags variam por prefeitura, então procure pelo
conteúdo, não pelo rótulo exato. Extraia em tabela:
- número da nota, data de emissão, código de verificação (se houver)
- prestador: razão social e CNPJ
- tomador: razão social e CNPJ
- valor dos serviços, base de cálculo, alíquota de ISS, valor do ISS
- ISS retido? (nos padrões ABRASF, IssRetido=1 significa SIM e 2 significa NÃO)
- retenções federais se destacadas: IRRF, PIS, COFINS, CSLL, INSS
- discriminação do serviço (resumida em 1 linha)
Não recalcule nada; transcreva o que está nas tags. Campo ausente = "ausente".
O que esperar: repare no flag de ISS retido. Nos padrões ABRASF 1 é SIM e 2 é NÃO, e trocar esses dois muda quem recolhe o imposto. É o campo que eu confiro primeiro numa NFS-e.
3. PDF ou foto (DANFE, nota escaneada)
Quando só veio o PDF, ou pior, uma foto da nota. O Claude lê por visão, e lê bem, mas agora é probabilístico: aqui a conferência humana é obrigatória, sem exceção. Este é o caminho da nota escaneada:
Anexei o PDF de uma nota fiscal (pode ser DANFE de NF-e ou NFS-e de prefeitura).
1. Primeiro me diga QUE documento é (NF-e produto, NFS-e serviço, ou outro) e por quê.
2. Extraia em tabela: número da nota, data de emissão, CNPJ e razão social do emitente,
CNPJ e razão social do destinatário/tomador, valor total, impostos destacados
(ISS ou ICMS/IPI, conforme o tipo), e a chave de acesso se estiver visível.
3. Para CADA campo, marque a confiança: ALTA (texto nítido), MÉDIA (li mas o layout
confunde) ou BAIXA (borrado/ambíguo). Campo que você não leu com clareza = "ilegível",
nunca um chute.
O que esperar: o passo 3 do prompt é o que salva. Todo campo MÉDIA ou BAIXA você confere no documento original antes de digitar. E valor total e CNPJ do emitente você confere sempre, mesmo em ALTA, porque são os dois que custam caro errados.
4. Montar o CSV de carga da pilha inteira (o lote)
Aqui é o pulo do gato do fechamento. Em vez de extrair nota por nota, anexe várias de uma vez (XML e PDF misturados) e peça o arquivo único:
Anexei [N] notas fiscais (XML e/ou PDF). Monte UM CSV de carga com exatamente estas
colunas, nesta ordem, separadas por ponto e vírgula:
fornecedor;cnpj;numero_nf;data_emissao;valor_total;iss_retido;descricao;vencimento
Regras:
- 1 linha por nota; data dd/mm/aaaa; decimal com vírgula; sem símbolo R$
- cnpj formatado XX.XXX.XXX/XXXX-XX
- iss_retido = SIM, NAO ou N/A (N/A para NF-e de produto)
- descricao = 1 linha curta do serviço/produto principal
- vencimento: a nota fiscal NÃO traz vencimento; preencha "A PREENCHER" (vem do
boleto ou do pedido, não invente)
- nota que você não conseguiu ler por inteiro NÃO entra no CSV; liste no final em
"EXCEÇÕES" com o motivo
Me devolva o CSV em bloco de código, pronto para salvar.
Salve a saída como .csv e importe no ERP. O layout esperado é este (as duas linhas são fictícias, mas o formato é o que o seu import lê):
fornecedor;cnpj;numero_nf;data_emissao;valor_total;iss_retido;descricao;vencimento
Alfa Consultoria Contabil Ltda;12.345.678/0001-95;2026/447;02/07/2026;4500,00;SIM;Servicos de consultoria contabil ref jun/2026;A PREENCHER
Beta Suprimentos de Escritorio SA;98.765.432/0001-10;18734;28/06/2026;1287,45;N/A;Material de escritorio (NF-e 55, 12 itens);A PREENCHER
O que esperar: confira que número de linhas + exceções = número de notas que você anexou. Nenhuma nota pode sumir em silêncio. E olhe a coluna vencimento: se veio “A PREENCHER” em todas, ótimo; se o modelo cravou uma data, ele inventou, apague.
5. Checagens de sanidade antes de importar
Sempre, no CSV pronto, seja o desta conversa ou um de qualquer origem, antes de subir no ERP:
Anexei um CSV de carga de notas fiscais. Rode estas checagens e me devolva um relatório
curto (só o que falhou; se tudo passou, diga "tudo OK"):
1. CNPJ: todos no formato XX.XXX.XXX/XXXX-XX e com 14 dígitos.
2. Duplicata: mesmo cnpj + numero_nf aparecendo em mais de uma linha (se houver chave
de acesso, duplique a checagem por chave).
3. Valores: nenhum valor_total zerado, negativo ou com ponto decimal (padrão BR é vírgula).
4. Datas: data_emissao válida e não futura; vencimento anterior à emissão = alerta.
5. Campos vazios: liste linha e coluna de todo campo obrigatório em branco.
Não corrija nada sozinho; só aponte, que a correção é minha.
O que esperar: a checagem 2, a de duplicata, é a que mais paga esse prompt. Nota importada duas vezes vira pagamento em dobro, e é um erro que passa fácil numa pilha grande.
Como verificar se deu certo
Três conferências rápidas e você fecha com segurança:
- A conta bate. Numa NFS-e,
base × alíquotatem que dar perto do valor do ISS (centavos de diferença são arredondamento; reais de diferença são erro de leitura). - Ninguém sumiu. Linhas do CSV + exceções = total de notas anexadas.
- O caro está certo. Valor total e CNPJ do emitente, olhados no documento original, para toda nota que veio de PDF ou foto e para as de valor alto.
Armadilhas e quando NÃO usar
Sou honesto sobre os limites, porque errar em contas a pagar sai caro:
- PDF e foto são probabilísticos. O Prompt 3 te obriga a marcar confiança, mas o modelo não valida
ISS = base × alíquotacom aritmética de verdade, ele lê e transcreve. Se você não confere o MÉDIA/BAIXA, uma leitura errada entra no ERP. É o mesmo risco que expliquei em o que é alucinação de IA e onde ela te pega em finanças. - O ZIP de 50 notas não roda numa conversa. Colar 8, 10 notas por vez funciona. Quando a pilha é a caixa inteira do mês, você acaba pastoreando a conversa arquivo por arquivo, e aí o “atalho” virou o novo trabalho chato. Esse é o teto do método manual.
- Vencimento não existe na nota. Já disse, mas repito porque é o campo que mais gente deixa a IA inventar. Ele vem do boleto ou do pedido, não da nota fiscal.
- Dado sensível é decisão sua. Se a sua empresa não deixa nota de terceiro subir pra nuvem, o caminho manual do chat não serve, e o certo é um leitor que roda na sua máquina.
Onde o “colar no chat” para de servir
Esse método é ótimo pra sentir na mão o quanto a extração automática economiza, e pra volume baixo ele resolve. Mas ele tem um teto, e o teto tem três nomes: a pasta inteira do mês não roda numa conversa; o XML sobe pra nuvem toda vez; e a validação fiscal é leitura, não cálculo (o Claude transcreve o ISS, ele não confere base × alíquota com aritmética de verdade).
Foi exatamente esse teto que me fez construir o Leitor de Notas Fiscais da Trilha Tesouraria.
Deixa a ferramenta fazer o lote
O Leitor é um motor que roda na sua máquina. Você aponta a pasta (ou joga o ZIP de até 50 notas), e ele:
- lê o lote inteiro e monta o CSV de carga nos perfis Omie, ContaAzul e genérico, com as exceções já separadas numa lista à parte;
- valida o fiscal por cálculo (confere se o ISS bate com base × alíquota, se o total fecha), não por leitura, que é onde o método manual pode passar batido;
- dá uma confiança de 0 a 100% por nota e auto-separa as duvidosas, pra você conferir só elas, não a pilha toda;
- não sobe o XML pra lugar nenhum: o dado fica local, o Claude só orquestra e vê o resumo. É o fosso de privacidade que colar nota no chat não te dá.
O que você acabou de aprender resolve a nota de hoje. O Leitor resolve a rotina, sem você pastorear a conversa arquivo por arquivo.
Preço de fundador: R$47 (o preço cheio é R$97), com garantia de 7 dias: roda na sua pilha real e, se não bater, você pede o dinheiro de volta. Requer Claude Desktop Pro+ e Python na sua máquina, o mesmo ambiente que roda os prompts deste tutorial, agora com o motor por trás.
👉 Pegar o Leitor no preço de fundador (R$47)
Não é a hora de comprar? Deixa seu e-mail no formulário aqui embaixo que eu te aviso quando sair conteúdo novo de contas a pagar. Você já sai daqui com os 5 prompts, então de qualquer forma o dia de hoje está resolvido.
Perguntas relacionadas
Qual a diferença de colar o XML e colar o PDF da nota?
O XML é determinístico: as tags têm o valor exato, então a leitura é de alta confiança. O PDF (e a foto) o Claude lê por visão, o que funciona bem mas é probabilístico, por isso o prompt de PDF te obriga a marcar a confiança por campo e conferir os duvidosos. Sempre que existir o XML, use o XML.
O Claude lê NFS-e de qualquer prefeitura?
Na prática sim, porque o prompt manda procurar pelo conteúdo e não pelo nome da tag, e o conteúdo fiscal (valor, base, alíquota, ISS) é o mesmo em todo lugar. O que muda por prefeitura é o rótulo, e é aí que o “procure pelo conteúdo” resolve.
Dá pra ler a pilha inteira do mês de uma vez?
Dá até um ponto. Anexar 8 a 10 notas por mensagem e pedir o CSV funciona bem. Quando o volume é a caixa inteira (dezenas ou centenas de notas num ZIP), colar arquivo por arquivo deixa de ser economia de tempo, e aí o certo é um leitor local que processa o lote sozinho.
Isso substitui um leitor de notas fiscais dedicado?
Não. O método manual é perfeito pra volume baixo e pra experimentar. Quando você precisa do dado não saindo da máquina, da validação fiscal por cálculo e do lote de ZIP processado sem babá, o certo é o motor local, que é outra ferramenta.
Para se aprofundar
- A IA é segura para os seus dados financeiros?, pra decidir o que pode ou não subir pra nuvem.
- O que é alucinação de IA, por que a conferência do PDF não é opcional.
Gostou? Entra na lista.
Mais peças como essa. Sem spam, só o que funciona no Brasil real.