Fluxos de transação Pix
Entender como as transações Pix fluem pelo sistema é essencial para configurar a conciliação corretamente. Os dois fluxos abaixo mostram o que o Matcher precisa conciliar em cada lado.
Pix enviado (cash-out)
Fluxo de cash-out: da iniciação pelo cliente, passando pela liquidação SPI, até a conciliação no Matcher.
- Cliente inicia o Pix — O usuário final dispara um pagamento Pix via app ou API.
- Plugin cria a iniciação — O plugin Pix cria um registro de iniciação e resolve a conta de destino via 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 é confirmada.
- Matcher concilia — O Matcher compara a transação confirmada no Midaz contra a entrada correspondente no extrato de liquidação SPI do BACEN.
Pix recebido (cash-in)
Fluxo de cash-in: da notificação SPI de entrada, passando pelo crédito no Midaz, até a conciliação no Matcher.
- Pix de entrada chega — O SPI envia um webhook síncrono contendo 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 de CRÉDITO no Midaz para a conta do destinatário.
- 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 no Midaz contra a entrada correspondente no extrato de liquidação SPI do BACEN.
Configuração passo a passo
Criar o contexto
1:1 porque cada transação Pix tem exatamente uma entrada correspondente de liquidação no BACEN."0".Definir autoMatchOnUpload como false dá a você controle sobre quando o matching é executado, o que é importante quando você precisa que ambas as fontes sejam ingeridas antes da execução.Criar as fontes
LEDGER):LEDGER é a categoria do Matcher para dados de ledger interno — não é um conector direto com o Midaz. Você exporta as transações Pix do dia do Midaz (incluindo o metadado endToEndId como coluna plana) e envia a exportação para esta fonte, manualmente ou por um pipeline automatizado. Veja Matcher e Midaz para o fluxo de exportação/importação.Fonte B — Extrato SPI do BACEN (tipo CUSTOM):CUSTOM porque o arquivo de liquidação SPI é carregado manualmente ou via pipeline automatizado a cada dia.Cada fonte deve declarar um side (LEFT ou RIGHT). Um contexto concilia sua fonte LEFT contra sua fonte RIGHT, então atribua um lado ao Midaz e o outro ao BACEN, e mantenha a atribuição consistente em ambas as fontes.Criar mapas de campos
{ "<canonicalKey>": "<sourceColumn>" }. As chaves vêm do vocabulário canônico fechado do Matcher (external_id, amount, currency, date e os opcionais description, fee_amount, fee_currency); os valores são os nomes de coluna brutos em cada fonte. As buscas são planas — o valor de um mapeamento precisa nomear uma coluna de nível superior da linha, então a exportação do Midaz precisa trazer o endToEndId como coluna plana própria (veja Matcher e Midaz — mapeamento de campos customizado).A tabela a seguir mostra como cada campo canônico é mapeado para a coluna em cada fonte:Criar regras de match
endToEndId é único por transação Pix em todo o ecossistema. Quando a referência, o valor, a moeda e a data coincidem, é uma conciliação confirmada com confiança máxima. Note que caseInsensitive está definido como false porque os valores de endToEndId são case-sensitive, e referenceMustSet é true para garantir que ambos os lados possuam o endToEndId antes da comparação — isso previne falsos positivos baseados apenas em valor e data.Regra 2 — Fallback com tolerância de data (prioridade 51):endToEndId é tratada pela Regra 1.Ativar e agendar
Operação diária
Uma vez configurado, o fluxo de conciliação diária segue cinco passos.
Carregar o extrato do BACEN
Envie a exportação do Midaz
endToEndId como coluna plana — e envie a exportação para a fonte do Midaz da mesma forma. Este passo costuma ser automatizado pelo mesmo pipeline. Veja Matcher e Midaz para o fluxo de exportação/importação.Matcher executa às 07:00 (ou manualmente)
DRY_RUN primeiro para visualizar os resultados sem confirmá-los. Quando estiver satisfeito, execute novamente com COMMIT:Revisar resultados
Resolver exceções
Exemplo prático — um dia de dados
O exemplo a seguir ilustra uma execução completa de conciliação para 17 de março de 2026.
Transações Midaz (Fonte A)
Extrato SPI do BACEN (Fonte B)
Resultados do matching
Análise
- txn-001 e txn-002: Match exato por endToEndId, valor, moeda e data. A Regra 1 resolveu estes com score 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 score de confiança 85. Matches de date-lag nunca são confirmados automaticamente — o par vai para a fila de revisão para confirmação humana.
- txn-004: Presente no Midaz mas ausente do BACEN. Possível falha de liquidação ou timeout SPI. Investigue o status da transação via plugin Pix.
- liq-8804: Presente no BACEN mas ausente do Midaz. Um Pix de entrada que não foi processado. Verifique a entrega do webhook ou reprocesse a mensagem.
Tratamento de exceções Pix
A tabela a seguir cobre os cenários de exceção Pix mais comuns e as ações recomendadas.
Force match
Quando você confirmou que dois registros representam a mesma transação Pix mas o Matcher não conseguiu conciliá-los automaticamente, use force match.Ignorar transação
Quando uma transação deve ser excluída da conciliação (por exemplo, uma entrada duplicada ou um Pix já estornado), marque-a como ignorada.Devoluções Pix
Devoluções Pix geram transações reversas que também precisam de conciliação. Quando uma devolução é processada, o plugin Pix cria uma nova transação no Midaz com:
- O
originalEndToEndIdvinculando à transação Pix original - Um novo
returnIdentification(rtrId) que identifica unicamente a devolução 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 ou devoluções — ele apenas concilia as transações resultantes. Cada devolução carrega o originalEndToEndId e um novo returnIdentification para rastreabilidade ponta a ponta, que o Matcher então usa para conciliar a devolução contra o extrato de liquidação do BACEN. Para a iniciação de 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 Pix único em todo o ecossistema — da instituição iniciadora, passando pelo SPI, até a instituição recebedora. Garanta que ele esteja armazenado nos metadados da transação no Midaz e presente no extrato do BACEN. Sem ele, a conciliação recai em matching por valor e data, que é muito menos confiável.Execute a conciliação no dia seguinte
Execute a conciliação no dia seguinte
Separe Pix IN e Pix OUT para alto volume
Separe Pix IN e Pix OUT para alto volume
Monitore a taxa de match
Monitore a taxa de match
Tolerância zero é o padrão
Tolerância zero é o padrão
feeToleranceAbs quanto feeTolerancePct em zero.Visualize antes de confirmar
Visualize antes de confirmar
DRY_RUN antes do COMMIT, especialmente após alterações em regras ou mapas de campos. Isso permite revisar os resultados do matching e identificar erros de configuração antes que afetem os dados de produção.Métricas-chave
Acompanhe estas métricas para monitorar a saúde do seu processo de conciliação Pix.

