Por que editar em vez de gerar o arquivo de novo
Converter o extrato outra vez não resolve quando o problema não está no extrato. O PDF do banco traz o que aconteceu na conta; o que o seu ERP recusa costuma ser um metadado — o código do banco, o número da conta, o tipo, o período. Gerar um segundo arquivo devolve exatamente o mesmo valor no mesmo campo.
Os casos que aparecem com mais frequência são quatro:
- O ERP não reconhece o banco. O sistema espera um código específico em
<BANKID>e ignora (ou rejeita) qualquer outro. - O
<ACCTID>não bate com a conta cadastrada. Muitos sistemas casam o arquivo com a conta pelo número. Se você cadastrou12345-6e o arquivo diz123456, a importação não encontra a conta de destino. - O período está fora do esperado.
<DTSTART>e<DTEND>anunciam o intervalo do extrato. Um sistema que valida o intervalo contra as transações reclama quando eles não fecham. - O histórico ficou truncado ou ilegível. Vale corrigir um memo à mão em vez de refazer tudo.
Em todos eles, a correção é de um campo. Editar leva segundos; reconverter não muda nada.
O que cada campo do OFX significa
Um OFX de extrato tem duas camadas: os dados da conta, que aparecem uma vez, e a lista de lançamentos, que se repete. Estes são os campos que o editor lê e reescreve:
| Campo | O que é |
|---|---|
<BANKID> | Código numérico do banco (COMPE). Não é o nome. |
<ACCTID> | Número da conta. Precisa bater com o que o ERP tem cadastrado. |
<ACCTTYPE> | Tipo da conta: CHECKING (corrente) ou SAVINGS (poupança). |
<CURDEF> | Moeda padrão do arquivo — no Brasil, BRL. |
<DTSTART> / <DTEND> | Início e fim do período, no formato AAAAMMDD. |
<STMTTRN> | O bloco que envolve um lançamento. |
<TRNTYPE> | CREDIT (entrada) ou DEBIT (saída). |
<DTPOSTED> | Data do lançamento. |
<TRNAMT> | Valor, com ponto decimal e sinal. |
<FITID> | Identificador único da transação. |
<MEMO> | Histórico/descrição. |
Se algum desses nomes ainda soa estranho, o guia o que é o formato OFX explica a estrutura com calma antes de você mexer no arquivo.
BANKID é um número, não o nome do banco
Este é o erro que mais faz importação falhar sem explicação. <BANKID> não aceita Itaú, itau nem Banco Itaú S.A. — ele espera o código COMPE, o número de três dígitos que o Banco Central usa para identificar a instituição. É o mesmo número que aparece no seu comprovante de transferência.
Os códigos dos bancos mais pedidos:
| Banco | BANKID |
|---|---|
| Banco do Brasil | 001 |
| Santander | 033 |
| Caixa Econômica Federal | 104 |
| Bradesco | 237 |
| Itaú | 341 |
| Nubank | 260 |
| Inter | 077 |
| Sicoob | 756 |
| Sicredi | 748 |
Repare que o zero à esquerda faz parte do código: é 077, não 77. Alguns sistemas comparam o texto exato e não reconhecem a versão sem o zero.
Uma pista de que você está mesmo lidando com o número, e não com o nome: ao baixar um arquivo aberto no editor, ele vem batizado com esse código — um OFX do Itaú sai como extrato-341.ofx.
FITID: o campo que decide se sua importação vai duplicar
O <FITID> é a identidade de cada lançamento. Quando você importa um extrato, o ERP guarda os FITIDs que já viu; na importação seguinte, tudo que chega com um FITID conhecido é descartado como repetido. É por isso que dá para importar períodos sobrepostos sem bagunçar o caixa.
Esse mecanismo tem um efeito colateral que pega muita gente: dois lançamentos com o mesmo FITID no mesmo arquivo fazem o segundo sumir. Não aparece erro — o ERP simplesmente entende que já registrou aquilo e ignora. Você fecha o mês com uma transação a menos e o saldo não bate, sem nenhuma mensagem apontando a causa.
O oposto também acontece: se você trocar o FITID de um lançamento já importado, ele deixa de ser reconhecido e entra de novo, agora duplicado.
Por isso, editar FITID à mão é a operação mais arriscada do editor. A regra é conservadora: mexa neles apenas quando estiverem realmente repetidos, e mude o mínimo — acrescentar um sufixo (-2) a um dos duplicados basta e não afeta os demais. Se o lançamento já foi importado antes, deixe o FITID como está.
CHECKING, SAVINGS e CURDEF: recusas silenciosas
<ACCTTYPE> só tem dois valores úteis num extrato bancário: CHECKING para conta corrente e SAVINGS para poupança. Traduções (CORRENTE) ou variações inventadas não são reconhecidas. Quando o campo vem vazio, o editor assume CHECKING, que é o caso da esmagadora maioria dos extratos — mas se a conta cadastrada no ERP for poupança e o arquivo disser corrente, o sistema pode recusar o vínculo mesmo com todo o resto correto.
<CURDEF> é a moeda padrão do arquivo, e no Brasil é sempre BRL. Um ERP configurado em reais que recebe um OFX marcado como USD rejeita a importação ou converte valores por uma cotação que você não pediu. Vale conferir esse campo em arquivos gerados por ferramentas estrangeiras.
Como o editor monta o arquivo (e o que isso muda para você)
Vale saber três comportamentos antes de editar, porque eles explicam resultados que parecem bugs:
- Quem manda no sinal é o tipo, não o valor. Ao mexer na tabela, o arquivo é remontado com o valor negativo quando o tipo é
DEBITe positivo quando éCREDIT. Digitar um menos no campo de valor não transforma uma entrada em saída — para inverter um lançamento, troque o tipo. - Data em branco vira 01/01/1970. Um campo de data vazio não gera erro: ele produz uma data mínima válida, que passa despercebida no arquivo e aparece como um lançamento perdido em 1970 dentro do ERP.
- O histórico é cortado em 255 caracteres e caracteres como
&e<viram entidades no arquivo final — é o que mantém o OFX válido. Você escreve normalmente; a codificação é feita na saída.
Há ainda um detalhe que evita perda de dados: sempre que você mexe no formulário ou na tabela, o texto é remontado com os campos listados aqui. Se o seu OFX original trouxer etiquetas fora dessa lista — saldo, número de cheque, dados do favorecido —, edite direto na caixa de texto bruto e não volte ao formulário depois, senão a remontagem descarta o que ela não conhece.
Tamanho, privacidade e o que fazer depois
O editor aceita arquivos .ofx de até 5 MB — folga enorme para um extrato, que raramente passa de algumas centenas de KB mesmo com milhares de lançamentos, já que OFX é texto puro. O arquivo é processado em memória: ele não é gravado no disco do servidor. O resultado da edição fica disponível por tempo limitado (uma hora, por padrão) e depois é descartado sozinho, então baixe o arquivo corrigido na mesma sessão.
Não é preciso criar conta nem informar e-mail para usar o editor.
Com o arquivo ajustado, o caminho natural é importar. Se o seu sistema continuar recusando, o guia de erros comuns ao importar OFX cobre as causas que não estão nos metadados, e o de importação no Conta Azul, Bling e Omie mostra onde fica a tela de cada um. Se o que você tem ainda é o PDF do banco, comece pelo conversor de extrato para OFX — e, para conferir os números em planilha antes de importar, gere um Excel a partir do OFX.