Configura Matcher para conciliar transacciones Pix de cash-in y cash-out entre Midaz Ledger y los extractos de liquidación SPI del BACEN.
Esta guía describe el proceso de conciliación de transacciones Pix entre Midaz Ledger y los datos de liquidación del BACEN (Banco Central de Brasil) utilizando Matcher. Cubre tanto Pix enviado (cash-out) como Pix recibido (cash-in), desde la configuración hasta la operación diaria y el manejo de excepciones.Al final de esta guía, tendrá un contexto de Matcher completamente configurado que concilia automáticamente sus transacciones Pix contra los extractos de liquidación SPI del BACEN de forma diaria.
Comprender cómo fluyen las transacciones Pix a través del sistema es esencial para configurar la conciliación correctamente. Los dos flujos a continuación muestran lo que Matcher necesita conciliar en cada lado.
Pix entrante llega — SPI envía un webhook sincrónico con los datos del Pix entrante.
El plugin valida — El plugin de Pix valida el payload y aprueba la transacción.
Se crea la transacción de crédito — El plugin crea una transacción CREDIT en Midaz para la cuenta del destinatario.
Liquidación confirmada — El webhook de liquidación confirma que la transacción es definitiva.
Matcher concilia — Matcher compara la transacción de crédito en Midaz contra la entrada correspondiente en el extracto de liquidación SPI del BACEN.
En ambos flujos, el endToEndId es el identificador único que vincula la transacción de Midaz con el registro de liquidación del BACEN. Esta es la clave primaria para la conciliación.
Cree un contexto de conciliación para transacciones Pix. Utilice el tipo 1:1 porque cada transacción Pix tiene exactamente una entrada de liquidación correspondiente en el BACEN.
Las transacciones Pix no tienen comisiones intermedias ni liquidaciones parciales. Un Pix de R150,00enMidazdebeaparecerexactamentecomoR 150,00 en el extracto del BACEN. Establezca ambos valores de tolerancia en cero.Establecer autoMatchOnUpload en false le da control sobre cuándo se ejecuta la conciliación, lo cual es importante cuando necesita que ambas fuentes estén ingestadas antes de ejecutar.
Consulte el esquema completo de la solicitud en Crear contexto.
2
Crear las fuentes
Cada contexto necesita dos fuentes: una para las transacciones de Midaz y otra para el extracto de liquidación del BACEN.Fuente A — Midaz (tipo LEDGER):
Cuando Midaz está integrado con Matcher (consulte Integración con Midaz), las transacciones se ingestan automáticamente mediante sincronización basada en eventos. No se necesita carga manual para esta fuente.Fuente B — Extracto SPI del BACEN (tipo CUSTOM):
La fuente del BACEN utiliza el tipo CUSTOM porque el archivo de liquidación SPI se carga manualmente o mediante un pipeline automatizado cada día.
Consulte el esquema completo de la solicitud en Crear fuente.
3
Crear mapeos de campos
Los mapeos de campos le indican a Matcher cómo traducir los campos de cada fuente a los campos canónicos utilizados para la conciliación.La siguiente tabla muestra el mapeo entre los campos canónicos de Matcher y los campos de cada fuente:
Campo de Matcher
Midaz (automático)
Extracto BACEN (mapeo de campos)
transaction_id
id
id_liquidacao
amount
amount
valor
currency
asset_code
moeda
date
created_at
data_liquidacao
reference
metadata.endToEndId
end_to_end_id
Cuando Midaz está integrado con Matcher, los campos estándar se mapean automáticamente. El endToEndId reside en los metadatos de la transacción y requiere una personalización del mapeo de campos en la configuración de la fuente (consulte Integración con Midaz — mapeo de campos personalizado):Fuente Midaz — mapeo de campos con override de endToEndId:
Las reglas de conciliación definen cómo Matcher compara transacciones entre fuentes. Para la conciliación Pix, dos reglas cubren la gran mayoría de los escenarios.Regla 1 — Coincidencia exacta por endToEndId (prioridad 1):
Esta regla resuelve aproximadamente el 95% de los casos. El endToEndId es único por transacción Pix en todo el ecosistema. Cuando la referencia, el monto, la moneda y la fecha coinciden, es una conciliación confirmada con máxima confianza. Note que caseInsensitive está en false porque los valores de endToEndId distinguen mayúsculas y minúsculas, y referenceMustSet está en true para asegurar que ambos lados contengan el endToEndId antes de comparar — esto previene falsos positivos basados solo en monto y fecha.Regla 2 — Tolerancia de fecha como respaldo (prioridad 51):
Un Pix iniciado a las 23:58 puede liquidarse en el BACEN al día calendario siguiente. Esta regla permite una ventana de 1 día para cubrir escenarios de liquidación D+1. El matchScore más bajo de 85 indica que estas coincidencias deben revisarse con un poco más de atención, aunque siguen siendo válidas. Note que esta regla se basa únicamente en la coincidencia de monto y moneda — la comparación del endToEndId se maneja en la Regla 1.
Consulte Crear regla de conciliación para el esquema completo de la solicitud y todos los tipos de regla disponibles.
5
Activar y programar
Una vez que toda la configuración esté lista, active el contexto y cree una programación diaria.Activar el contexto:
Ejecutar a las 07:00 UTC proporciona margen suficiente para que las liquidaciones D+1 aparezcan en el extracto del BACEN y para que el archivo diario se cargue antes de que se ejecute la conciliación.
Este paso puede automatizarse mediante un pipeline que obtenga el archivo SPI y lo cargue antes de la ejecución programada de conciliación.
2
Datos de Midaz disponibles automáticamente
Con la integración de Midaz configurada, las transacciones se ingestan continuamente en Matcher a medida que se confirman. No se necesita carga manual para la Fuente A. Consulte Integración con Midaz para detalles de configuración.
3
Matcher se ejecuta a las 07:00 (o manualmente)
La ejecución programada se realiza automáticamente a las 07:00 UTC. Para ejecutar la conciliación manualmente, utilice el endpoint de ejecución.
Después de que la ejecución se complete, recupere los grupos conciliados para ver los resultados.
curl -X GET "https://api.matcher.example.com/v1/matching/runs/{runId}/groups" \ -H "Authorization: Bearer $TOKEN"
Cada grupo muestra la transacción de Midaz conciliada y su entrada de liquidación correspondiente del BACEN, junto con la regla que las concilió y el puntaje de confianza.
5
Resolver excepciones
Las transacciones no conciliadas aparecen como excepciones. Estas requieren investigación — una transacción presente en una fuente pero no en la otra, o una discrepancia en monto o fecha más allá de la tolerancia configurada.Revise las excepciones, determine la causa raíz y resuélvalas mediante forzar conciliación, ignorar o corregir los datos subyacentes.
Siempre ejecute un DRY_RUN primero al probar nuevas reglas o después de cambios de configuración. Esto previene que coincidencias no deseadas se confirmen.
txn-001 y txn-002: Coincidencia exacta en endToEndId, monto, moneda y fecha. La Regla 1 resolvió estos con puntaje de confianza 100.
txn-003: Pix iniciado a las 23:58, liquidado en el BACEN el 2026-03-18. La Regla 2 (DATE_LAG con ventana de 1 día) resolvió este con puntaje de confianza 85.
txn-004: Presente en Midaz pero ausente en el BACEN. Posible fallo de liquidación o timeout del SPI. Investigue el estado de la transacción a través del plugin de Pix.
liq-8804: Presente en el BACEN pero ausente en Midaz. Un Pix entrante que no fue procesado. Verifique la entrega del webhook o reprocese el mensaje.
Cuando haya confirmado que dos registros representan la misma transacción Pix pero Matcher no pudo conciliarlos automáticamente, utilice forzar conciliación.
curl -X POST "https://api.matcher.example.com/v1/exceptions/{exceptionId}/force-match" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "notes": "Confirmed same Pix via endToEndId lookup in SPI", "overrideReason": "D+2 settlement delay confirmed with BACEN" }'
Las devoluciones Pix generan transacciones inversas que también necesitan conciliación. Cuando se procesa una devolución, el plugin de Pix crea una nueva transacción en Midaz con:
El originalEndToEndId que vincula de vuelta a la transacción Pix original
Un nuevo returnIdentification (rtrId) que identifica de forma única la devolución en el SPI
El extracto de liquidación del BACEN incluye entradas de devolución con ambos identificadores, lo que permite a Matcher conciliarlas contra las transacciones de devolución correspondientes en Midaz.Para volúmenes bajos de devoluciones, estas pueden conciliarse dentro del mismo contexto de Conciliación Diaria Pix. Para volúmenes altos, cree un contexto separado dedicado a la conciliación de devoluciones. Esto simplifica el triaje de excepciones y mantiene las métricas de devoluciones aisladas de las métricas del flujo estándar de Pix.
El plugin de Pix soporta la iniciación de devoluciones mediante POST /v1/transfers/{id}/refunds. Cada devolución lleva el originalEndToEndId y un nuevo returnIdentification para el seguimiento de extremo a extremo.
El endToEndId es el identificador único de Pix en todo el ecosistema — desde la institución iniciadora a través del SPI hasta la institución receptora. Asegúrese de que esté almacenado en los metadatos de la transacción de Midaz y presente en el extracto del BACEN. Sin él, la conciliación recurre a la coincidencia por monto y fecha, lo cual es mucho menos confiable.
Ejecute la conciliación al día siguiente
Las transacciones Pix cercanas al fin del día pueden liquidarse en el BACEN en D+1. Programar Matcher para las 07:00 UTC asegura que todas las liquidaciones del día anterior estén incluidas en el extracto del BACEN antes de que se ejecute la conciliación. Esto elimina excepciones falsas causadas por diferencias de horario.
Separe Pix IN y Pix OUT para alto volumen
Al procesar altos volúmenes de Pix, cree dos contextos separados — uno para cash-out y otro para cash-in. Esto simplifica el triaje de excepciones, proporciona métricas más granulares por flujo y permite programación independiente si es necesario.
Monitoree la tasa de conciliación
Una conciliación Pix saludable alcanza una tasa de conciliación automática superior al 99%. Si la tasa cae por debajo del 95%, investigue problemas sistémicos como fallos del plugin, cambios en el formato del BACEN o metadatos faltantes en las transacciones de Midaz.
Tolerancia cero es el valor por defecto
Pix no tiene comisiones intermedias, liquidaciones parciales ni cargos de procesamiento. Si los montos divergen entre Midaz y el BACEN, indica un problema real — no redondeo. Mantenga tanto feeToleranceAbs como feeTolerancePct en cero.
Previsualice antes de confirmar
Siempre ejecute un DRY_RUN antes de COMMIT, especialmente después de cambios en reglas o mapeos de campos. Esto le permite revisar los resultados de la conciliación y detectar errores de configuración antes de que afecten los datos de producción.