O campo que decide o que já foi visto
Dentro de um arquivo OFX, cada transação carrega um identificador próprio, o <FITID> — abreviação de financial institution transaction id. Ele não descreve nada: não é o valor, não é a data, não é o histórico. É apenas um rótulo que deveria ser único para aquela movimentação, naquela conta, para sempre.
Esse campo é a peça que torna a importação de extratos algo seguro de repetir. Quando você envia um arquivo, o sistema guarda os identificadores que processou. Ao receber um novo arquivo, compara: o que já está na lista é descartado, o que é inédito entra. É por isso que reimportar um período sobreposto — algo que acontece o tempo todo, porque ninguém acerta o corte exato — não faz o caixa dobrar.
A mecânica é simples e funciona bem. Os problemas começam quando a premissa "único para sempre" não se sustenta.
Quando ele se repete: o sumiço silencioso
Suponha um banco que gere o identificador concatenando data e valor. No dia 12, a empresa paga dois boletos de R$ 250,00 para fornecedores diferentes. Os dois lançamentos recebem o mesmo identificador.
O que o sistema faz? Importa o primeiro e descarta o segundo, por acreditar que já o tinha visto. Nenhum erro é exibido — do ponto de vista do programa, ele fez exatamente o que devia.
Este é o modo de falha mais perigoso de toda a importação de extratos, porque não há sintoma imediato. Só aparece depois, como saldo que não fecha por R$ 250,00, e ninguém suspeita de um lançamento que nunca chegou a existir na tela. Quem procura erro entre o que está visível não encontra nada, justamente porque a linha problemática é a ausente.
A pista que denuncia: comparar a quantidade de linhas do extrato original com a quantidade importada. Divergindo, houve descarte.
Quando ele muda: a duplicação
O caso oposto é o do banco que gera identificadores instáveis — que mudam entre uma emissão e outra do mesmo extrato. Isso ocorre quando o identificador embute algo que não pertence à transação, como um número sequencial da geração do arquivo, ou a data em que o documento foi emitido.
Baixando o extrato hoje e de novo amanhã, as mesmas transações vêm com rótulos diferentes. Para o sistema, são movimentações novas. E aí sim o caixa dobra, de forma bem visível.
A diferença prática entre os dois defeitos é que este se percebe na hora, enquanto o anterior pode atravessar o exercício inteiro sem ser notado. Por ironia, o defeito barulhento causa menos prejuízo.
Como é um identificador bom
Um bom identificador tem três propriedades:
- Estável — a mesma transação produz o mesmo rótulo hoje, amanhã e no ano que vem.
- Único dentro da conta — duas movimentações distintas nunca compartilham o rótulo, ainda que tenham data, valor e histórico idênticos.
- Independente do arquivo — não muda conforme o período escolhido no download nem conforme quantas vezes você baixou.
Bancos que expõem um número interno de documento ou de autenticação atendem naturalmente às três. Quando esse número não existe, a alternativa razoável é derivar o identificador de uma combinação de data, valor, histórico e posição da transação dentro do dia — esse último componente é o que resolve o caso dos dois boletos iguais, e é exatamente o que costuma faltar nas implementações ingênuas.
O que fazer quando o arquivo já está errado
Se o extrato veio com identificadores repetidos, importar do jeito que está vai perder lançamentos. Há dois caminhos.
O primeiro é conferir e corrigir antes de subir. Converter o OFX em Excel permite ordenar pela coluna de identificador e enxergar repetições numa olhada; o editor de OFX permite alterar os campos e gerar o arquivo corrigido. Para poucas ocorrências, resolve em minutos.
O segundo é atacar a origem: se o arquivo foi gerado a partir de um PDF, o problema pode estar na geração, e vale rever a fonte. Nos conversores deste site o identificador é derivado do conteúdo de cada lançamento incluindo sua posição, justamente para que dois pagamentos idênticos no mesmo dia não colidam.
Reimportar o mesmo período é seguro?
Com identificadores sadios, sim — e essa é a razão de eles existirem. Não é preciso calcular o dia exato em que a última importação parou: baixe com folga, deixando alguns dias de sobreposição, e o sistema resolve a interseção sozinho.
Essa folga é recomendável por um motivo adicional. Alguns lançamentos entram no extrato com atraso, especialmente os de fim de semana e feriado. Um corte apertado demais deixa de fora movimentações que só apareceram depois, e elas nunca mais serão buscadas, porque a próxima importação começa adiante.
Vale registrar um limite: nem todo sistema implementa a verificação. Ferramentas mais simples de finanças pessoais importam tudo o que recebem, sem consultar histórico. Nelas, a sobreposição duplica mesmo — e a única defesa é o controle manual do período.
Sintomas e causas
- Faltam lançamentos e o saldo não fecha — identificadores repetidos dentro do arquivo causaram descarte.
- Tudo aparece em dobro depois de reimportar — identificadores instáveis, ou sistema que não verifica.
- A importação diz que não havia nada de novo — comportamento correto, se o período já tinha entrado. Confira pelas datas, não pela mensagem.
- Um lançamento específico nunca entra — provável colisão com outro de mesmo rótulo já processado.
Outros sintomas de importação estão em erros comuns ao importar OFX, e a estrutura do formato em o que é o formato OFX.
Uma observação final que poupa discussão com o suporte do banco: identificador ruim não é, tecnicamente, arquivo inválido. O documento cumpre a especificação, abre em qualquer leitor e passa em qualquer validação estrutural — ele apenas descreve mal a realidade. Por isso reclamar de "arquivo com erro" raramente leva a algum lugar; descrever o comportamento concreto, com dois lançamentos distintos carregando o mesmo rótulo, costuma ser mais produtivo. Enquanto a correção não vem, a conferência prévia descrita em como validar um arquivo OFX antes de importar resolve o problema do seu lado.
Converta o extrato do seu banco para OFX, grátis e sem cadastro.
Abrir o conversor