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.
============================================================
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 Lê. Lê o PDF nativo da fatura (texto extraível, sem escaneamento) e detecta o emissor pelo cabeçalho.
- 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 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
- 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.
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).
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.