Fluxos de transações Pix
Os dois fluxos abaixo mostram o que o Matcher precisa conciliar em cada lado.
Pix enviado (saída de caixa)
Fluxo de saída de caixa: da iniciação pelo cliente, passando pela liquidação no SPI, até a conciliação no Matcher.
- Cliente inicia o Pix: o usuário final dispara um pagamento Pix pelo app ou pela API.
- Plugin cria a iniciação: o plugin Pix cria um registro de iniciação e resolve a conta de destino por consulta ao DICT.
- Plugin processa o pagamento: o plugin debita a conta do cliente no Midaz (transação em status
pending) e envia a instrução de pagamento ao SPI. - Liquidação confirmada: o SPI envia um webhook confirmando a liquidação. A transação no Midaz é efetivada.
- Matcher concilia: o Matcher compara a transação efetivada no Midaz com a entrada correspondente no extrato de liquidação do SPI do BACEN.
Pix recebido (entrada de caixa)
Fluxo de entrada de caixa: da notificação recebida do SPI, passando pelo crédito no Midaz, até a conciliação no Matcher.
- Pix recebido chega: o SPI envia um webhook síncrono com os dados do Pix recebido.
- Plugin valida: o plugin Pix valida o payload e aprova a transação.
- Transação de crédito criada: o plugin cria uma transação CREDIT no Midaz para a conta do recebedor.
- Liquidação confirmada: o webhook de liquidação confirma que a transação é final.
- Matcher concilia: o Matcher compara a transação de crédito do Midaz com a entrada correspondente no extrato de liquidação do SPI do BACEN.
Configuração passo a passo
Crie o contexto
1:1 porque cada transação Pix tem exatamente uma entrada de liquidação correspondente no BACEN."0".Definir autoMatchOnUpload como false dá a você o controle de quando a correspondência roda. Esse controle importa quando você precisa das duas fontes ingeridas antes de a execução rodar.Crie as fontes
LEDGER):LEDGER é a categoria do Matcher para dados internos de ledger. Não é um conector ativo do Midaz. Você exporta as transações Pix do dia a partir do Midaz, incluindo o metadado endToEndId como coluna plana. Depois você sobe a exportação para esta fonte, na mão ou por um pipeline automatizado. Veja Matcher e Midaz para o fluxo de exportação e importação.Fonte B, extrato SPI do BACEN (tipo CUSTOM):CUSTOM porque você sobe o arquivo de liquidação do SPI na mão ou por um pipeline automatizado todo dia.Cada fonte deve declarar um side (LEFT ou RIGHT). Um contexto concilia a fonte LEFT dele contra a fonte RIGHT dele. Atribua um lado ao Midaz e o outro ao BACEN. Mantenha a atribuição consistente nas duas fontes.Crie os mapas de campo
{ "<canonicalKey>": "<sourceColumn>" }. As chaves vêm do vocabulário canônico fechado do Matcher (external_id, amount, currency, date e, opcionais, description, fee_amount, fee_currency). Os valores são os nomes brutos das colunas em cada fonte. As buscas são planas. Um valor de mapeamento deve nomear uma coluna de primeiro nível na linha. Por isso a exportação do Midaz deve carregar endToEndId como uma coluna plana própria (veja Matcher e Midaz — mapeamento de campos personalizado).A tabela a seguir mostra como cada campo canônico mapeia para a coluna em cada fonte:Crie as regras de correspondência
endToEndId é único por transação Pix em todo o ecossistema. Uma correspondência por referência, valor, moeda e data dá uma conciliação confirmada com confiança máxima. A regra define caseInsensitive como false porque os valores de endToEndId diferenciam maiúsculas de minúsculas. A regra define referenceMustSet como true, então os dois lados devem carregar o endToEndId antes da comparação. Isso evita falsos positivos apenas por valor e data.Regra 2 (alternativa com tolerância de data, prioridade 51):endToEndId.Ative e agende
Operação diária
Depois de configurado, o workflow diário de conciliação segue cinco passos.
Suba o extrato do BACEN
Suba a exportação do Midaz
endToEndId como coluna plana. Suba a exportação para a fonte Midaz do mesmo jeito. Em geral o mesmo pipeline automatiza este passo. Veja Matcher e Midaz para o fluxo de exportação e importação.O Matcher roda às 07:00 (ou na mão)
DRY_RUN primeiro para ver os resultados sem commitá-los. Quando estiver satisfeito, rode de novo com COMMIT:Revise os resultados
Resolva as exceções
Exemplo prático: um dia de dados
O exemplo a seguir ilustra uma execução completa de conciliação de 17 de março de 2026.
Transações do Midaz (Fonte A)
Extrato SPI do BACEN (Fonte B)
Resultados da correspondência
Análise
- txn-001 e txn-002: correspondência exata por endToEndId, valor, moeda e data. A Regra 1 resolveu essas correspondências com pontuação de confiança 100.
- txn-003: Pix iniciado às 23:58, liquidado no BACEN em 2026-03-18. A Regra 2 (DATE_LAG com janela de 1 dia) pareou este com pontuação de confiança 85. Correspondências por defasagem de data nunca são autoconfirmadas. O par vai para a fila de revisão para uma pessoa confirmar.
- txn-004: presente no Midaz mas ausente no BACEN. Possível falha de liquidação ou timeout do SPI. Investigue o status da transação pelo plugin Pix.
- liq-8804: presente no BACEN mas ausente no Midaz. Este Pix recebido não chegou ao ledger. Confira a entrega do webhook ou reprocesse a mensagem.
Tratando exceções de Pix
A tabela a seguir cobre os cenários mais comuns de exceção de Pix e as ações recomendadas.
Correspondência forçada
Quando você confirmou que dois registros representam a mesma transação Pix mas o Matcher não conseguiu correspondência automática, use a correspondência forçada.Ignorar transação
Quando você deve excluir uma transação da conciliação (por exemplo, um lançamento duplicado ou um Pix já estornado), marque-a como ignorada.Devoluções de Pix (refunds)
As devoluções de Pix geram transações reversas que também precisam de conciliação. Quando o plugin Pix processa uma devolução, ele cria uma nova transação no Midaz com:
- O
originalEndToEndIdque aponta de volta para a transação Pix original - Um novo
returnIdentification(rtrId) que identifica a devolução de forma única no SPI
POST /v1/transfers/{id}/refunds é um endpoint do plugin Pix, não um endpoint do Matcher. O Matcher não inicia transferências nem devoluções. Ele apenas concilia as transações resultantes. Cada devolução carrega o originalEndToEndId e um novo returnIdentification para rastreio ponta a ponta, que o Matcher então usa para corresponder a devolução com o extrato de liquidação do BACEN. Para iniciar devoluções, veja a documentação do plugin Pix.Boas práticas
Use o endToEndId como referência principal
Use o endToEndId como referência principal
endToEndId é o identificador único do Pix em todo o ecossistema, da instituição que inicia, passando pelo SPI, até a instituição que recebe. Guarde-o nos metadados da transação no Midaz e garanta que o extrato do BACEN o carregue. Sem ele, a conciliação cai para a correspondência por valor e data, que é bem menos confiável.Rode a conciliação no dia seguinte
Rode a conciliação no dia seguinte
Separe Pix IN e Pix OUT em alto volume
Separe Pix IN e Pix OUT em alto volume
Monitore a taxa de correspondência
Monitore a taxa de correspondência
Tolerância zero é o padrão
Tolerância zero é o padrão
feeToleranceAbs e feeTolerancePct, em zero.Veja a prévia antes de commitar
Veja a prévia antes de commitar
DRY_RUN antes do COMMIT, principalmente depois de mudanças de regra ou de mapa de campo. Isso permite revisar os resultados de correspondência e pegar erros de configuração antes de eles afetarem os dados de produção.Métricas principais
Acompanhe estas métricas para monitorar a saúde do seu processo de conciliação de Pix.

