Pular para o conteúdo
B
Bradata
financeiroOpen FinanceERPautomação

Conciliação bancária automatizada: Open Finance, OFX e integração com ERP no Brasil

Como automatizar conciliação bancária no Brasil: importação OFX, APIs Open Finance, algoritmos de matching, Pix e projeção de fluxo de caixa.

Por Bradata··11 min de leitura

O gargalo financeiro que consome horas toda semana

Toda empresa brasileira que emite mais de 50 boletos por mês conhece o ritual: baixar o extrato bancário, abrir a planilha de contas a receber, comparar linha por linha quais pagamentos foram recebidos, marcar os boletos como pagos, identificar diferenças de valores (juros, multas, descontos), registrar pagamentos não identificados e, no final, torcer para que o saldo bata.

Esse processo, a conciliação bancária, consome em média 8 a 15 horas por semana em empresas de médio porte com 200-500 boletos mensais. Em empresas com múltiplas contas bancárias, a conta multiplica.

O problema não é apenas tempo. É risco: conciliação manual tem taxa de erro entre 2-5%, e cada erro pode significar cobrança indevida a um cliente, receita não contabilizada ou divergência contábil que só aparece no fechamento mensal.

Este post detalha como automatizar a conciliação bancária de ponta a ponta, da captura do extrato ao matching inteligente, passando por Open Finance, OFX e integração com ERP.

Como funciona a conciliação bancária na prática

A conciliação bancária é o processo de comparar os registros financeiros internos (contas a pagar, contas a receber, lançamentos contábeis) com os extratos bancários reais para garantir que tudo está correto.

O fluxo básico

Extrato Bancário          Sistema Interno (ERP)
─────────────────         ─────────────────────
Crédito R$ 1.500,00       Boleto #123 - R$ 1.500,00 (Empresa X)
Crédito R$ 2.300,50       Boleto #124 - R$ 2.300,00 (Empresa Y)
Crédito R$ 800,00         ??? (não encontrado)
Débito  R$ 3.200,00       NF Fornecedor #456 - R$ 3.200,00
                          Boleto #125 - R$ 950,00 (Empresa Z) ← não recebido

A conciliação precisa resolver:

  1. Match exato: crédito de R$ 1.500,00 = boleto #123 de R$ 1.500,00 → conciliado
  2. Match com diferença: crédito de R$ 2.300,50 vs boleto #124 de R$ 2.300,00 → juros de R$ 0,50
  3. Crédito sem match: R$ 800,00 recebido sem boleto correspondente → pagamento não identificado
  4. Boleto sem crédito: boleto #125 não aparece no extrato → pagamento pendente

Captura de dados: OFX, CNAB e Open Finance

O primeiro passo da automação é eliminar a captura manual do extrato bancário. Três formas:

OFX (Open Financial Exchange)

O formato OFX é o padrão de exportação de extratos bancários suportado por praticamente todos os bancos brasileiros. É um arquivo XML que contém:

<STMTTRN>
  <TRNTYPE>CREDIT</TRNTYPE>
  <DTPOSTED>20260603</DTPOSTED>
  <TRNAMT>1500.00</TRNAMT>
  <FITID>2026060300001</FITID>
  <MEMO>PAG BOLETO - EMPRESA X LTDA</MEMO>
</STMTTRN>

Vantagens: disponível em todos os bancos, formato padronizado, fácil de parsear.

Limitações: requer download manual do internet banking (ou automação via RPA), não é real-time, o campo MEMO não é estruturado (cada banco formata diferente).

CNAB (Centro Nacional de Automação Bancária)

Arquivos de retorno CNAB 240 e CNAB 400 são usados para conciliação de boletos registrados. Quando a empresa usa boleto registrado (obrigatório no Brasil desde 2018), o banco envia um arquivo de retorno com os pagamentos recebidos.

Arquivo de Retorno CNAB 240:
- Header do lote
- Registro de cada boleto pago (nosso número, valor pago, data, juros, desconto)
- Trailer com totais

Arquivo de Retorno CNAB 400:
- Formato legado, mais simples
- Ainda usado por alguns bancos e ERPs antigos

Vantagens: dado estruturado com identificação exata do boleto (nosso número), juros e multa discriminados.

Limitações: específico para boletos (não cobre Pix, TED, débito), formato posicional (column-based) que varia entre bancos.

Open Finance Brasil

O Open Finance (evolução do Open Banking) permite que a empresa autorize o acesso programático aos seus dados bancários via API. Desde a fase 4 do Open Finance Brasil, é possível:

  • Consultar extratos em tempo real via API
  • Receber webhooks quando novos lançamentos aparecem
  • Acessar dados de múltiplos bancos com uma única integração
  • Iniciar pagamentos (Pix, TED) programaticamente
GET /accounts/{accountId}/transactions
Authorization: Bearer <consent-token>

Response:
{
  "data": [
    {
      "transactionId": "abc-123",
      "type": "CREDITO",
      "amount": 1500.00,
      "transactionDate": "2026-06-03",
      "creditDebitType": "CREDITO",
      "completedAuthorisedPaymentType": "BOLETO",
      "payerCpfCnpj": "12.345.678/0001-90",
      "remittanceInformation": "Boleto ref NF-2026-001"
    }
  ]
}

Vantagens: real-time, estruturado, multi-banco com API única, dados ricos (CPF/CNPJ do pagador).

Limitações: exige que a empresa autorize via consentimento (fluxo de autenticação), nem todos os bancos implementaram todas as fases, necessidade de certificação ICP-Brasil para a instituição que consome.

Estratégia híbrida que recomendamos

Na Bradata, o módulo financeiro do ERP implementa uma estratégia de captura em cascata:

  1. Open Finance como fonte primária (real-time, dados ricos)
  2. CNAB de retorno para conciliação de boletos (dado mais preciso para boletos)
  3. OFX como fallback para bancos ou contas sem Open Finance
  4. Importação manual como último recurso (upload de arquivo pelo usuário)

Algoritmos de matching: do exato ao inteligente

Com os dados do extrato e do sistema interno em mãos, o próximo passo é o matching: encontrar correspondência entre cada lançamento bancário e cada registro financeiro.

Nível 1: Match exato

A forma mais simples: comparar valor e identificador.

Regra: extrato.valor == boleto.valor AND extrato.nossoNumero == boleto.nossoNumero
Confiança: 100%
Ação: conciliar automaticamente

Funciona bem para boletos registrados processados via CNAB, onde o "nosso número" identifica unicamente cada boleto.

Nível 2: Match por valor + tolerância

Quando não há identificador direto (pagamentos via Pix ou TED), o matching usa valor com tolerância:

Regra: abs(extrato.valor - titulo.valor) <= tolerancia
        AND extrato.data >= titulo.vencimento - 5 dias
        AND extrato.data <= titulo.vencimento + 30 dias
Confiança: 85-95%
Ação: conciliar com flag de revisão se diferença > 0

A diferença de valor pode ser juros (pagamento após vencimento), desconto (pagamento antecipado) ou erro de digitação.

Nível 3: Match por CPF/CNPJ do pagador

Com dados do Open Finance ou Pix, é possível identificar o pagador:

Regra: extrato.cpfCnpjPagador == cliente.cpfCnpj
        AND abs(extrato.valor - titulo.valor) <= tolerancia
Confiança: 95-99%
Ação: conciliar automaticamente

Nível 4: Match fuzzy por descrição

Para pagamentos onde nenhum critério estruturado funciona, o sistema analisa o campo de descrição/memo do extrato:

Regra: similaridade(extrato.memo, titulo.referencia) > 0.7
        AND abs(extrato.valor - titulo.valor) <= tolerancia
Confiança: 60-80%
Ação: sugerir match para aprovação manual

A similaridade pode ser calculada com algoritmos como Levenshtein distance, trigram matching ou, em implementações mais avançadas, embeddings de texto.

Nível 5: Match por agrupamento

Às vezes um cliente paga múltiplos boletos em uma única transferência:

Regra: extrato.valor == sum(titulos.valor) 
        WHERE titulos.clienteId == mesmo cliente
        AND titulos estão em aberto
Confiança: 80-90%
Ação: sugerir agrupamento para aprovação manual

Pipeline de matching

O sistema executa os níveis em ordem de confiança, removendo itens já conciliados a cada nível:

Extrato bruto (100 lançamentos)
    │
    ▼ Nível 1: Match exato por nosso número
    70 conciliados automaticamente
    │
    ▼ Nível 2: Match por valor + tolerância
    15 conciliados com flag
    │
    ▼ Nível 3: Match por CPF/CNPJ
    8 conciliados automaticamente
    │
    ▼ Nível 4: Match fuzzy
    4 sugeridos para revisão
    │
    ▼ Nível 5: Match por agrupamento
    1 sugerido para revisão
    │
    ▼ Restante: 2 não conciliados → fila de análise manual

Resultado: 97-98% de conciliação automática em empresas com dados bem estruturados.

Conciliação de Pix: o desafio mais recente

O Pix trouxe agilidade para pagamentos, mas complicou a conciliação porque:

  • Não tem "nosso número" como o boleto
  • O pagador pode usar qualquer valor (não necessariamente o valor do boleto)
  • A chave Pix do recebedor pode ser CPF, CNPJ, e-mail, telefone ou chave aleatória
  • O campo de descrição é livre (e frequentemente vazio ou genérico)

Estratégias para conciliação Pix

Pix com QR Code vinculado: ao gerar a cobrança, o sistema cria um QR Code Pix com o txid (identificador da transação). Quando o pagamento é recebido, o txid permite match exato.

{
  "calendario": { "expiracao": 3600 },
  "devedor": { "cnpj": "12345678000190", "nome": "Empresa X" },
  "valor": { "original": "1500.00" },
  "chave": "financeiro@empresa.com.br",
  "txid": "FATURA202606001234"
}

Pix Cobrança via API: usando a API Pix do banco (padrão Bacen), o sistema cria cobranças com txid e recebe webhooks quando o pagamento é confirmado. Conciliação instantânea e automática.

Pix sem QR Code (transferência direta): quando o cliente faz Pix manual, o matching depende de valor + CPF/CNPJ do pagador + data. É o cenário mais desafiador.

Integração com ERP: o fluxo completo

A conciliação bancária não existe isolada. Ela precisa se integrar com o restante do sistema financeiro:

Contas a receber

Boleto emitido → Aguardando pagamento
    │
    ▼ Pagamento identificado na conciliação
Baixa automática do título
    │
    ▼ Diferença de valor?
    SIM → Lançamento de juros/multa ou desconto
    NÃO → Título quitado
    │
    ▼ Atualização do saldo do cliente

Contas a pagar

NF do fornecedor lançada → Pagamento agendado
    │
    ▼ Débito identificado na conciliação
Baixa automática do pagamento
    │
    ▼ Atualização do fluxo de caixa

Contabilidade

Cada conciliação gera automaticamente os lançamentos contábeis:

EventoDébitoCrédito
Recebimento de boletoBanco c/cClientes a receber
Juros recebidosBanco c/cReceita financeira
Desconto concedidoDescontos concedidosClientes a receber
Pagamento fornecedorFornecedores a pagarBanco c/c
Tarifa bancáriaDespesas bancáriasBanco c/c

Projeção de fluxo de caixa: do passado para o futuro

Com a conciliação automatizada alimentando dados confiáveis, o próximo passo é projetar o fluxo de caixa futuro:

Fontes de dados para projeção

  • Contas a receber em aberto: boletos emitidos ainda não pagos, com probabilidade de pagamento baseada no histórico do cliente
  • Contas a pagar agendadas: pagamentos a fornecedores, folha de pagamento, impostos
  • Receitas recorrentes: contratos SaaS, mensalidades, assinaturas
  • Sazonalidade histórica: meses com maior/menor faturamento nos últimos 12-24 meses

Modelo de projeção

Saldo projetado (dia D) = 
  Saldo atual
  + Σ Recebimentos esperados até D × probabilidade de pagamento
  - Σ Pagamentos agendados até D
  ± Ajuste de sazonalidade

A probabilidade de pagamento é calculada por cliente com base no histórico:

  • Clientes que pagam em dia nos últimos 6 meses: 95%
  • Clientes com atrasos ocasionais (1-15 dias): 85%
  • Clientes com atrasos frequentes (15-30 dias): 60%
  • Clientes com atrasos graves (30+ dias): 30%

Cenários

O sistema gera três cenários de fluxo de caixa:

  • Otimista: todos os recebimentos esperados + receitas extras projetadas
  • Realista: recebimentos ponderados pela probabilidade + pagamentos confirmados
  • Pessimista: apenas recebimentos já confirmados + todos os pagamentos agendados

Gestores financeiros usam o cenário pessimista para decisões de curto prazo (próximos 30 dias) e o realista para planejamento de médio prazo (60-90 dias).

Dashboard financeiro: visibilidade em tempo real

O módulo financeiro do ERP Bradata consolida todas essas informações em um dashboard executivo:

Indicadores em tempo real

  • Saldo consolidado: soma de todas as contas bancárias com atualização via Open Finance
  • Conciliação pendente: quantos lançamentos ainda precisam de revisão manual
  • Taxa de conciliação automática: percentual do mês corrente
  • Inadimplência: aging por faixas (em dia, 1-15, 16-30, 31-60, 60+ dias)
  • Fluxo de caixa projetado: gráfico com os três cenários para os próximos 90 dias
  • DRE simplificado: receitas, despesas e resultado do mês corrente vs orçado

Alertas automáticos

  • Saldo bancário abaixo do mínimo definido
  • Pagamento de alto valor não conciliado há mais de 24h
  • Inadimplência acima do limiar para um cliente específico
  • Fluxo de caixa projetado negativo nos próximos 15 dias
  • Divergência entre saldo do sistema e saldo bancário acima de R$ 100

Segurança e auditoria em operações financeiras

Dados financeiros exigem controles rigorosos:

Controle de acesso

  • Segregação de funções: quem emite boleto não é quem concilia, que não é quem aprova pagamentos
  • Alçada de aprovação: pagamentos acima de determinado valor exigem aprovação de um segundo usuário
  • Autenticação em dois fatores obrigatória para operações financeiras
  • Logs imutáveis: toda alteração em registros financeiros é logada com usuário, data, hora e valor anterior/novo

Trilha de auditoria

Cada conciliação mantém registro completo:

{
  "conciliacaoId": "CON-2026-06-001234",
  "tipo": "automatica",
  "nivelMatch": 1,
  "confianca": 1.0,
  "extratoRef": "FITID-2026060300001",
  "tituloRef": "BOL-2026-001234",
  "valorExtrato": 1500.00,
  "valorTitulo": 1500.00,
  "diferenca": 0.00,
  "usuario": "sistema",
  "dataHora": "2026-06-03T10:30:00Z",
  "aprovadoPor": null,
  "observacao": "Match exato por nosso número"
}

Implementação gradual: roteiro para empresas

A automação da conciliação bancária pode ser implementada em fases:

Fase 1, Importação de extrato (2-3 semanas):

  • Importação de arquivos OFX e CNAB de retorno
  • Parser configurável por banco
  • Visualização do extrato no sistema

Fase 2, Matching básico (3-4 semanas):

  • Match exato por nosso número (CNAB)
  • Match por valor + data
  • Fila de revisão para itens não conciliados

Fase 3, Matching avançado (4-6 semanas):

  • Match por CPF/CNPJ
  • Match fuzzy por descrição
  • Match por agrupamento
  • Regras configuráveis por empresa

Fase 4, Open Finance + Pix (6-8 semanas):

  • Integração com APIs Open Finance
  • Pix Cobrança com QR Code e webhook
  • Conciliação real-time

Fase 5, Projeção e dashboard (2-3 semanas):

  • Fluxo de caixa projetado com cenários
  • Dashboard financeiro consolidado
  • Alertas automáticos

Conclusão: conciliação bancária é infraestrutura, não tarefa

Empresas que ainda conciliam manualmente estão usando o tempo mais caro da equipe financeira (profissionais qualificados) para um trabalho que algoritmos fazem melhor, mais rápido e sem erros.

A automação da conciliação bancária não é um projeto de tecnologia isolado. É uma mudança de paradigma: o financeiro deixa de ser operacional (conferir dados) para ser estratégico (analisar fluxo de caixa, tomar decisões de investimento, negociar com fornecedores com base em dados confiáveis).

Com Open Finance amadurecendo no Brasil, Pix dominando os pagamentos e ERPs modernos integrando essas fontes nativamente, o custo de não automatizar cresce a cada mês, em horas desperdiçadas, erros acumulados e oportunidades financeiras perdidas.

Precisa de um talento tech agora?

Fale com a Bradata e receba uma proposta em 24 horas úteis.