Pular para o conteúdo
TRILHA TESOURARIA · NA FILA

A fatura do cartão corporativo em PDF, explodida em lançamento por lançamento, com a soma provada.

A fatura do cartão PJ chega em PDF e alguém digita cada lançamento na planilha para ratear por portador. O Leitor de Fatura de Cartão lê o PDF e devolve data, estabelecimento, valor, parcela, portador e moeda de cada lançamento em CSV ou XLSX, com uma prova de completude: a soma dos lançamentos mais os encargos tem que fechar com o total impresso na fatura, senão ele avisa em vez de fingir que leu tudo.

Quero ser avisado Grátis e aberta quando sair · na fila de abertura
python scripts/ler_fatura.py fatura-01-itau-ok.pdf --formato csv
============================================================
RESUMO DA LEITURA
============================================================
Emissor:            itau
Portadores:         CARLOS EDUARDO LIMA, MARIA SILVA SOUZA
Vencimento:         10/02/2026
Lancamentos:        4
Encargos:           2
Total calculado:    R$ 1603.98
Total da fatura:    R$ 1603.98
------------------------------------------------------------
VEREDICTO: OK
------------------------------------------------------------
Arquivos gerados:
  .csv: fatura-01-itau-ok.csv
============================================================

saída real do motor, num arquivo de teste do repositório.

59

testes automatizados no motor

2

emissores reconhecidos por estilo, mais o genérico de reserva

12

PDFs por lote, no máximo

A fatura do cartão PJ vem em PDF, e alguém digita cada lançamento na planilha para separar por portador e fechar a prestação de contas do mês. Uma linha esquecida ou um valor digitado errado e a soma não bate, mas quase ninguém confere lançamento por lançamento contra o total impresso.

Quanto mais portadores no cartão, mais lançamentos para digitar, e o risco de erro cresce junto.

Como funciona

  1. 1 Lê. Lê o PDF nativo da fatura (texto extraível, sem escaneamento) e detecta o emissor pelo cabeçalho.
  2. 2 Explode. Extrai cada lançamento (data, estabelecimento, valor, parcela, portador, moeda) pelo parser do emissor reconhecido ou, fora deles, pelo genérico de reserva.
  3. 3 Prova. Soma os lançamentos e os encargos e confere contra o total impresso na fatura. Se não fechar, o veredicto avisa em vez de fingir que leu tudo.

As duas formas de resolver isso

Explodir em lançamentos

Digitar na planilha
um por um, na mão
Leitor de Fatura de Cartão (nós)
o motor lê o PDF e devolve pronto

Prova de que a soma fecha

Digitar na planilha
ninguém confere contra o total impresso
Leitor de Fatura de Cartão (nós)
obrigatória: sem ela, o veredicto avisa

Layout fora do banco de sempre

Digitar na planilha
trava quem está digitando
Leitor de Fatura de Cartão (nós)
cai no genérico, com aviso de baixa confiança

Custo

Digitar na planilha
o tempo de quem digita
Leitor de Fatura de Cartão (nós)
grátis e aberto

O dado é seu

O PDF da fatura fica com você.

No terminal, no Claude Code ou no Cowork, o motor lê o PDF no seu computador e o Claude só vê o resumo que ele imprime (emissor, portadores, contagens, totais, veredicto), nunca o CSV ou o XLSX linha a linha. Anexar o PDF numa conversa comum do Claude, na web ou no app, é outra coisa: aí o arquivo sobe para a nuvem da Anthropic.

O que vem

A prova que eu tenho hoje

A prova hoje é de laboratório: 59 testes automatizados contra faturas sintéticas de um banco declaradamente fictício, calibradas para cada estilo estrutural reconhecido. O motor ainda não viu uma fatura real de outra empresa.

Onde isso ainda não chega.

  • Sem OCR nesta versão: só lê PDF nativo, com texto extraível. Fatura escaneada ou foto fica para depois.
  • Sem corpus real ainda. Os parsers reconhecem um estilo estrutural calibrado contra fixtures sintéticas; o motor nunca viu uma fatura de verdade.
  • Layout fora dos emissores reconhecidos cai no genérico de melhor esforço, com teto de baixa confiança.
  • Não categoriza (centro de custo fica de fora), não concilia com o extrato (isso é a Conciliação Bancária) e não é política de aprovação de despesa: quem aprova o gasto é a pessoa.

É para você?

É para você se

  • Quem fecha a prestação de contas do cartão corporativo digitando fatura à mão.
  • Quem tem vários portadores no mesmo cartão e precisa separar o gasto de cada um.

Não é para você se

  • Quem só recebe a fatura escaneada ou em foto, sem o PDF nativo.
  • Quem precisa conciliar o gasto do cartão contra o extrato bancário, não só explodir a fatura.

Antes de instalar: o que você precisa

  • Python 3.12 ou mais no computador.
  • Para usar como skill: Claude Code, ou o Cowork do Claude Desktop (plano pago). Direto no terminal funciona sem Claude nenhum.
  • A fatura do cartão em PDF, com texto extraível (não escaneada).
Na fila Grátis e aberta

Grátis e aberta quando sair da fila.

Leitor de Fatura de Cartão está na fila de abertura e vai sair grátis, com o código aberto. Avisamos você quando sair.

  • O motor em Python (pdfplumber para ler o PDF nativo, openpyxl para o XLSX).
  • O SKILL.md, para o Claude orquestrar o motor sem nunca ler o CSV ou o XLSX linha a linha.
  • As faturas sintéticas de exemplo, com o resultado esperado de cada uma documentado.
  • Os testes, com os PDFs de fixture gerados na hora pelos próprios testes.

Recebe no seu e-mail

Sem spam. Descadastro em 1 clique.

Perguntas frequentes

O PDF da fatura sai da minha máquina?

No terminal, no Claude Code ou no Cowork, não: o motor lê o arquivo aí e o Claude só vê o resumo que ele imprime. Anexar o PDF numa conversa comum do Claude, na web ou no app, é diferente: o arquivo sobe para a nuvem da Anthropic.

Ele prova que leu a fatura inteira?

Sim: a soma dos lançamentos mais os encargos tem que fechar com o total impresso. Sem essa prova, o veredicto avisa em vez de assumir que fechou.

Funciona com qualquer banco?

Reconhece o estilo estrutural de dois emissores; fora deles, cai no parser genérico, com teto de baixa confiança.

Lê fatura escaneada?

Não nesta versão. Só PDF nativo, com texto extraível.