Blog

O que é o formato OFX e porque os ERPs o preferem ao CSV

Equipa StatementBridge15/07/20268 min

Definição

OFX (Open Financial Exchange) é um formato standard de intercâmbio de dados financeiros entre bancos e software, criado em 1997 pela Microsoft, Intuit e CheckFree. Um ficheiro OFX descreve um extrato bancário de forma estruturada: cada movimento leva o tipo (débito ou crédito), a data no formato AAAAMMDD, o montante com sinal explícito e a descrição — e o ficheiro inclui os saldos do período. É hoje o formato mais aceite pelos ERPs para importar movimentos bancários: o PHC (CS e FX) lê OFX nativamente no módulo de movimentos bancários, o Primavera importa-o em Tesouraria > Movimentos > Importar, e o Sage também o aceita. Ao contrário do CSV, o OFX dispensa mapeamento de colunas — o software valida a estrutura automaticamente, eliminando a maior fonte de erros na importação. O StatementBridge gera OFX 1.0.2 a partir de extratos PDF de qualquer banco português suportado.

Como é um ficheiro OFX por dentro

Cada movimento é um bloco estruturado:

<STMTTRN>

<TRNTYPE>CREDIT

<DTPOSTED>20260101

<TRNAMT>500.00

<NAME>TRANSF SEPA EMPRESA X

</STMTTRN>

E o ficheiro inclui o saldo do período:

<LEDGERBAL>

<BALAMT>2624.50

</LEDGERBAL>

Repare nos detalhes que fazem a diferença: a data vem sempre como AAAAMMDD (sem ambiguidade dia/mês), o montante usa ponto decimal e sinal explícito, e o tipo de movimento (CREDIT/DEBIT) é declarado. É por isso que o ERP não precisa de perguntar nada ao utilizador.

Como abrir e validar um ficheiro OFX

Um OFX é texto simples — pode abri-lo em qualquer editor (Bloco de Notas, VS Code). Não o abra no Excel: o Excel não interpreta a estrutura e mostra o conteúdo em bruto.

Para validar um OFX antes de o importar no ERP, verifique quatro pontos:

  • O cabeçalho — deve começar por OFXHEADER:100 (versão 1.x, a mais aceite pelos ERPs portugueses) ou por uma declaração XML (versão 2.x)
  • O número de blocos STMTTRN — deve corresponder ao número de movimentos do extrato original; uma contagem rápida no editor (procurar por "STMTTRN") deteta linhas em falta
  • O saldo em LEDGERBAL — deve bater com o saldo final do extrato em PDF
  • A aritmética — saldo inicial + soma dos TRNAMT = saldo final; é a mesma verificação de saldo que o StatementBridge executa antes de entregar o ficheiro
  • Se os quatro pontos batem, o ficheiro está íntegro e pronto a importar.

    Erros comuns ao importar OFX (e como resolver)

    1. Datas trocadas ou rejeitadas. Algumas ferramentas genéricas escrevem datas em DD/MM/AAAA dentro do OFX — fora do standard. O ERP rejeita o ficheiro ou, pior, troca dia e mês. Solução: abrir o ficheiro e confirmar que DTPOSTED está em AAAAMMDD.

    2. Sinais invertidos. Se o conversor lê um débito como crédito, o movimento entra ao contrário e a reconciliação não fecha. Solução: conferir a cadeia de saldo antes de importar — um sinal invertido produz um desvio de exatamente o dobro do valor do movimento.

    3. Caracteres estranhos nas descrições. Acentos portugueses ("transferência", "comissão") mal codificados indicam um problema de encoding entre o conversor e o ERP. Solução: verificar o charset declarado no cabeçalho do OFX.

    4. Versão OFX não aceite. Muitos ERPs esperam OFX 1.x (SGML) e não aceitam 2.x (XML). É por isso que o StatementBridge gera OFX 1.0.2 — a versão com maior compatibilidade.

    5. Movimentos duplicados. Importar dois OFX com períodos sobrepostos pode duplicar lançamentos. Solução: converter extratos com períodos contíguos e sem sobreposição (ex.: mês a mês).

    OFX vs CSV vs MT940

    Os três formatos que vai encontrar quando trabalha com movimentos bancários, comparados ponto a ponto:

  • Mapeamento de colunas: OFX — não precisa; CSV — manual e diferente por banco; MT940 — não precisa
  • Estrutura: OFX — blocos etiquetados (SGML/XML); CSV — texto tabular simples; MT940 — mensagem SWIFT com campos codificados (:61:, :86:)
  • Datas: OFX — AAAAMMDD standard; CSV — varia (DD/MM, MM/DD…); MT940 — AAMMDD
  • Saldos incluídos: OFX — sim; CSV — nem sempre; MT940 — sim (campos :60F: e :62F:)
  • Legibilidade humana: CSV — alta (abre no Excel); OFX — média; MT940 — baixa
  • Suporte nos ERPs portugueses: OFX — amplo (PHC, Primavera, Sage); CSV — universal mas exige configuração; MT940 — sobretudo software de tesouraria e banca de empresas
  • Melhor uso: OFX — reconciliação bancária no ERP; CSV — análise e trabalho em Excel; MT940 — quando o software só aceita formatos SWIFT
  • Em resumo: para importar movimentos num ERP português, o OFX é quase sempre o caminho mais curto. O CSV continua útil para análise livre, e o MT940 é território de tesouraria corporate.

    Porque é que o teu extrato PDF não é OFX

    Os bancos portugueses entregam extratos em PDF (para leitura humana), e nem todos disponibilizam OFX no homebanking. O StatementBridge faz a ponte: lê o PDF (mesmo digitalizado ou com texto cifrado), extrai os movimentos com verificação de saldo, e gera OFX 1.0.2 pronto a importar.

    Perguntas rápidas

    O OFX ainda é atual? Sim — apesar de criado em 1997, continua a ser o formato de importação bancária mais suportado pelos ERPs. Preciso de pedir o OFX ao banco? Não: se o banco só dá PDF, converte-se o PDF em OFX. E o TOConline? O TOConline não usa OFX para movimentos bancários — para esse caso geramos um template XLSX próprio, pronto a importar. Como sei que o OFX está correto? Pela cadeia de saldo: inicial + movimentos = final; se bate ao cêntimo, a conversão está íntegra.

    Experimenta

    Fase de testes com adesão gratuita — 10 páginas grátis por mês, sem cartão.

    Pronto para poupar horas?

    Começa grátis com 10 páginas. Sem cartão de crédito.

    Criar Conta Grátis