O problema não é o seu arquivo
O extrato de demonstração do site converte redondo. Você envia o seu, do mesmo banco, e volta vazio — ou com metade dos lançamentos e um saldo que não fecha. Parece arquivo corrompido, ou ferramenta ruim.
Quase nunca é isso. "O extrato do Itaú" não é um documento — é uma família de documentos. O mesmo banco, no mesmo mês, para a mesma conta, entrega arquivos com colunas diferentes conforme o lugar onde você clicou: o do celular não é o do computador, o da conta PJ não é o da pessoa física, e o relatório de pagamentos não é o extrato, embora se pareça com um.
A prova: os nomes que demos aos leitores do Santander
Dá para discutir isso em tese, ou olhar por dentro. Os leitores do Santander, aqui, não são numerados: têm o nome do canal que gerou o arquivo — foi assim que a realidade chegou:
Classic— o extrato tradicional de conta correnteApp— o "Aplicativo Santander Empresas"IbEmpresarial— o Internet Banking Empresarial impressoDiario— o "Resumo Diário", do mesmo internet bankingInteligente,InteligentePj,PjBasico,Consolidado— os quatro templates PJ em A4ExtratoConta,ExtratoLista— o "EXTRATO DE CONTA — CONSOLIDADO"Cartao— a fatura do cartão de créditoEmpresasOcr,EmpresasOcrLinha,InteligenteOcr,PlanilhaOcr— as versões que chegam escaneadas
São quinze, e nenhum é capricho: cada um existe porque um extrato real apareceu e nenhum leitor soube lê-lo. Repare no que os nomes contam sozinhos — a variação não é por banco, é por canal. O logotipo é idêntico; o documento embaixo dele, não.
E não é exclusividade do Santander: somando só as oito maiores — BB, Caixa, Santander, Bradesco, Sicoob, Itaú, Sicredi e Nubank —, são 109 leitores de layout.
O que realmente muda de um para o outro
Se todos mostram data, histórico e valor, por que um leitor só não dá conta? Porque quase nada ali é padronizado, a começar pelo campo mais importante. Não existe uma convenção brasileira para marcar débito e crédito — há pelo menos oito, todas em uso:
| Como o sinal aparece no PDF | Onde se vê |
|---|---|
312.158,05 C — a letra C ou D depois do valor | Banco do Brasil |
60.273,93C — a mesma letra, colada no número | Sicoob, extrato de aplicações |
400,00 C 147,60 — uma coluna "D-C" só para isso | Santander, "Extrato de Conta" |
-150,00 — sinal negativo no próprio número | Itaú PJ |
-R$ 2.500,00 — o sinal antes do símbolo | Santander, Internet Banking Empresarial |
1.234,56- — um traço depois do valor | Santander, template PJ Inteligente |
APLICACAO CONTAMAX DEBITO R$ 445,03 — a palavra | Santander, Resumo Diário |
| duas colunas, Débitos e Créditos — o sinal é a posição | Bradesco, CrediSIS |
Um leitor que aprendeu a procurar o "C" ou o "D" no fim da linha, diante de -150,00, não acha nenhum dos dois — e assume crédito. Data certa, valor certo, sinal invertido: o erro mais caro da categoria, porque não tem cara de erro.
E o sinal é só o começo. Também variam:
- O ano da data, quando existe. Muitos templates PJ imprimem só
DD/MMe deixam o ano no cabeçalho — que ainda precisa virar quando o extrato cruza dezembro. - A quantidade de colunas de data. O BB imprime "Dt. balancete" e "Dt. movimento"; a XP, "Movimentação" e "Liquidação". Pegar a errada joga lançamentos para fora do período.
- O histórico, que quebra em várias linhas — ou não. No Itaú, uma descrição longa se espalha por linhas soltas que flutuam entre as linhas com data. Em outro layout do mesmo Itaú, cada movimento cabe numa linha só.
E tem os que nem são conta corrente
Boa parte dos "extratos que não convertem" não é de conta corrente — é outro documento que o banco também chama de extrato:
- Extrato de aplicação. O Sicredi emite o do SICREDINVEST; o BB, o do fundo "BB Rende Fácil"; o Sicoob, o "EXTRATO DE APLICAÇÕES" do RDC Automático. O valor vem sempre positivo e o sinal está na palavra: "Resgates" tira dinheiro dali, "Rendimentos" põe — e sempre na ótica da aplicação, não da conta.
- Relatório de recebíveis. O "Relatório — Títulos por Período" do Sicoob lista os boletos que você emitiu: título, sacado e valor a receber — sem saldo nem lançamento.
- Demonstrativo de adquirência. O "Extrato Mensal" da Vero/Banrisul traz "Dt. Prev. Liquid", valor da transação, taxa administrativa (MDR) e valor líquido. As datas estão no futuro e não há saldo — não existe conta para ter saldo.
O alerta é fácil: se não há uma coluna de saldo que evolui linha a linha, provavelmente não é o extrato da conta. Qual usar na conciliação é outra conversa — o passo a passo da conversão tem uma seção para isso.
Como saber qual você tem em mãos
Não precisa adivinhar: o PDF quase sempre se identifica, em três lugares que ninguém lê.
- O título, no alto da primeira página. Mais literal do que parece: "EXTRATO CONSOLIDADO INTELIGENTE", "EXTRATO CONSOLIDADO" e "EXTRATO DE CONTA — CONSOLIDADO" são três documentos distintos do Santander. A palavra a mais não é enfeite.
- O rodapé. É onde mora o nome do modelo: o extrato PJ básico do Santander carrega ali, escrito,
Extrato_PJ_A4_Basico— o arquivo-template, vazado para o cliente. O BB imprime o número do formulário:Mod. 0.50.817-2. - A linha de cabeçalho das colunas. A mais útil, porque descreve a estrutura:
Dt. contábil * Hist. Descrição Nº doc. Valor D-C Saldoé um Santander;Data Lançamento Razão Social CPF/CNPJ Valor (R$) Saldo (R$)é um Itaú PJ. Copie a linha inteira — é a impressão digital do layout.
Com essas três linhas mais o canal, você descreve o seu extrato sem precisar mostrá-lo.
Por que isso derruba um conversor genérico
Agora a pergunta do começo se responde sozinha. Quem escreve um conversor genérico teve acesso a um extrato — a amostra que o banco publica, ou a que ele tinha em casa. O código nasce colado nesse arquivo, e a demonstração roda sobre o mesmo PDF: funciona sempre. O seu saiu de outro canal, e é o segundo, o quinto, o décimo formulário do mesmo banco.
Não há atalho: quando um layout marca débito com uma letra no fim da linha e o outro com a posição numa tabela, só se resolve com um leitor por layout. Sem ele, o resultado é zero transações — ou, pior, algumas linhas certas e o sinal do resto errado.
Como o leitor certo é escolhido aqui
A escolha se dá em duas etapas, e nenhuma confia no nome do banco impresso no papel.
Primeiro, qual instituição: cada banco declara assinaturas — trechos de estrutura, como o cabeçalho de colunas, o número do formulário ou o CNPJ da emissora no rodapé. O documento pontua contra todas, e o maior placar leva. No empate, a resposta é null: nenhuma. Parece desistência, é proteção — um extrato lido pelo parser errado sai plausível e falso.
Depois, qual layout: um detector testa os candidatos em ordem e o primeiro que reconhece o documento assume. A ordem importa — o "Extrato Consolidado Inteligente" tem de ser avaliado antes do "Extrato Consolidado" simples, senão o segundo engole o primeiro. Por isso o campo de banco na tela é uma dica, não uma ordem: se você errar, o documento ganha e a conversão é reencaminhada sozinha.
E a parte honesta: isso tem limite. Um layout inédito não tem assinatura nem leitor — cai no genérico, que costuma gerar um OFX utilizável, sem a garantia de um dedicado. Banco troca template e lança conta nova o tempo todo, e cada mudança quebra tudo até alguém trazer o arquivo.
Se o seu extrato não converteu
Antes de tudo, tente o outro canal: o PDF do internet banking e o do aplicativo são documentos diferentes, e o do computador costuma ser mais completo — vários bancos só liberam meses antigos por lá.
Se continuar falhando, nos avise — foi assim, um extrato por vez, que os 109 leitores nasceram, e cada um passa a valer para quem usa aquele canal. Três informações bastam:
- O banco e, se for cooperativa, a singular.
- O tipo de conta — corrente, poupança, PJ, aplicação, adquirência.
- O canal — app, internet banking, e-mail, papel escaneado — e, se puder, a linha de cabeçalho das colunas.
E se o arquivo saiu quase certo — um histórico truncado, um lançamento sobrando —, o editor de OFX resolve na hora, e abrir o OFX em planilha confere o total contra o rodapé do extrato.
Converta o extrato do seu banco para OFX, grátis e sem cadastro.
Abrir o conversor