Cómo funcionan las reglas
Cuando empieza una ejecución de coincidencia, Matcher evalúa las reglas en orden de prioridad.
- Las reglas se evalúan desde el número de prioridad más bajo hasta el más alto.
- Cada regla crea todas las coincidencias que puede a partir de las transacciones que las reglas de mayor prioridad todavía no usaron.
- Después de que se ejecutan todas las reglas, cada transacción que sigue sin conciliar se convierte en una excepción.
Tipos de regla
Exacta
Requiere una coincidencia estricta en los campos configurados.- Mejor para: coincidencias determinísticas donde los valores deben alinearse 1:1.
Tolerancia
Permite varianza controlada en la coincidencia de montos.- Mejor para: patrones de varianza conocidos como comisiones, redondeo o diferencias de FX.
Desfase de fecha
Permite diferencias de fecha entre transacciones. DATE_LAG siempre propone una coincidencia para revisión y nunca la confirma automáticamente, sea cual sea su puntuación.- Mejor para: demoras de contabilización entre sistemas.
Difusa
Reemplaza la igualdad exacta de referencias por una puntuación de similitud de cadenas normalizadas. Las compuertas de monto, moneda y fecha requieren igualdad exacta de forma predeterminada, peromatchAmount, matchCurrency y matchDate controlan de forma independiente si cada compuerta aplica. FUZZY siempre propone una coincidencia para revisión y nunca la confirma automáticamente.
- Mejor para: IDs externos truncados o reformateados, donde el ID varía, pero las compuertas financieras habilitadas siguen alineadas.
Crear reglas de coincidencia
Regla exacta
cURL
Referencia de configuración
Boolean
predeterminado:"true"
Exige coincidencia exacta de monto
Boolean
predeterminado:"true"
Exige coincidencia exacta de moneda
Boolean
predeterminado:"true"
Exige coincidencia exacta de fecha
Boolean
predeterminado:"true"
Exige coincidencia exacta de referencia
String
predeterminado:"DAY"
Precisión de la comparación de fechas:
DAY o TIMESTAMPBoolean
predeterminado:"true"
Comparación de referencias sin distinguir mayúsculas y minúsculas
Boolean
predeterminado:"false"
Exige que la referencia esté presente en ambos lados
Boolean
predeterminado:"false"
Exige montos base (convertidos) iguales, además de la verificación de
matchAmountBoolean
predeterminado:"false"
Exige la misma moneda base, además de la verificación de
matchCurrencyInteger
predeterminado:"100"
Aceptado y validado, pero inerte. No cambia la puntuación de confianza calculada (ver la nota más abajo)
Integer
predeterminado:"90"
Aceptado y validado, pero inerte. No cambia la puntuación de confianza calculada (ver la nota más abajo)
matchScore y matchBaseScore son inertes. Se aceptan y validan en la configuración de la regla, pero el motor de puntuación los ignora: la confianza siempre se calcula a partir de los pesos internos fijos de los componentes (monto 40, moneda 30, fecha 20, referencia 10). Definirlos no altera la puntuación de confianza ni el comportamiento de confirmación automática. Consulta Puntuación de confianza.id asignado y sus marcas de tiempo.
Regla de tolerancia
cURL
Referencia de configuración
Decimal
Umbral porcentual aplicado a
percentageBase (0.005 = 0.5%). De forma predeterminada es 0. Matcher compara este umbral con absTolerance y usa el mayorDecimal
Umbral de monto absoluto. De forma predeterminada es
0. Matcher lo compara con el umbral porcentual y usa el mayorInteger
Cantidad de días permitidos entre las fechas de las transacciones
Integer
Decimales para el redondeo
String
Estrategia de redondeo:
HALF_UP, BANKERS, FLOOR, CEIL o TRUNCATEString
predeterminado:"MAX"
Base para el cálculo del porcentaje:
MAX, MIN, AVERAGE, LEFT o RIGHTBoolean
predeterminado:"true"
Exige coincidencia de moneda
Boolean
predeterminado:"true"
Exige coincidencia de referencia
Boolean
predeterminado:"true"
Comparación de referencias sin distinguir mayúsculas y minúsculas
Boolean
predeterminado:"false"
Exige que la referencia esté presente en ambos lados
Boolean
predeterminado:"false"
Coincide por monto base (convertido)
Boolean
predeterminado:"false"
Coincide por moneda base
Integer
predeterminado:"85"
Aceptado y validado, pero inerte. No cambia la puntuación de confianza calculada
Integer
predeterminado:"80"
Aceptado y validado, pero inerte. No cambia la puntuación de confianza calculada
- Transacción A: $1,000.00
- Transacción B: $1,005.00
- Diferencia de monto: $5.00
- Umbral porcentual: $1,005.00 × 0.5% = $5.025 (
percentageBase: MAX) - Umbral absoluto: $0.50
- Umbral efectivo:
MAX($5.025, $0.50)= $5.025 → Coincide
Regla difusa
cURL
Referencia de configuración
Decimal
predeterminado:"0.80"
Similitud mínima normalizada de la referencia (0–1) requerida para pasar como coincidencia
Boolean
predeterminado:"true"
Cuando es
true, exige una coincidencia exacta de montoBoolean
predeterminado:"true"
Cuando es
true, exige una coincidencia exacta de monedaBoolean
predeterminado:"true"
Cuando es
true, exige una coincidencia exacta de fechaString
predeterminado:"DAY"
Precisión de la comparación de fechas:
DAY o TIMESTAMPBoolean
predeterminado:"true"
Exige una referencia no vacía en ambos lados
Integer
predeterminado:"70"
Aceptado y con valor predeterminado
70, pero inerte. No limita ni cambia la confianza calculada ni el comportamiento de confirmación automáticaFUZZY reemplaza la igualdad de referencias por similitud. De forma predeterminada, también exige coincidencias exactas de monto, moneda y fecha. Deshabilita cada compuerta de forma independiente con
matchAmount, matchCurrency o matchDate. FUZZY siempre propone coincidencias para revisión humana y nunca las confirma automáticamente.Regla de desfase de fecha
cURL
Referencia de configuración
Integer
Cantidad máxima de días de diferencia permitida
Integer
predeterminado:"0"
Cantidad mínima de días de diferencia requerida
Boolean
predeterminado:"true"
Si los días de los límites son inclusivos
String
predeterminado:"ABS"
Cómo medir el desfase:
ABS (absoluto), LEFT_BEFORE_RIGHT o RIGHT_BEFORE_LEFTDecimal
predeterminado:"0"
Diferencia de monto permitida para contabilizar las comisiones
Integer
predeterminado:"80"
Aceptado y validado, pero inerte. No cambia la puntuación de confianza calculada. Las reglas DATE_LAG siempre puntúan el componente de referencia como 0, lo que limita la puntuación máxima a 90
Boolean
predeterminado:"true"
Exige coincidencia de moneda
Ajustes de asignación (todos los tipos de regla)
Todos los tipos de regla aceptan ajustes de asignación adicionales para coincidencia dividida y agregada:Prioridad de las reglas
Las reglas se evalúan por prioridad. Los números más bajos corren primero. Cada prioridad es un entero de 1 a 1000 y es única dentro del contexto. Matcher rechaza una prioridad que otra regla ya usa con
409 (MTCH-0102).
Estrategia de prioridad
Reordenar reglas
Puedes reordenar las reglas al entregar los IDs de las reglas en el orden deseado:cURL
Probar las reglas
Prueba las reglas en modo dry run antes de confirmar coincidencias.
cURL
runId y status. No crea excepciones, pero Matcher completa y persiste el MatchRun con estadísticas y emite su evento de finalización. Lee las estadísticas con GET /v1/matching/runs/{runId}.
Gestionar las reglas
Listar reglas
cURL
Respuesta
Cada elemento es la regla completa, con la misma forma que la respuesta de creación, incluidoconfig.
Actualizar una regla
cURL
config reemplaza toda la configuración almacenada. Matcher no la combina con la anterior, así que una clave que omites vuelve a su valor predeterminado.
Eliminar una regla
cURL
409 (MTCH-0118) mientras un grupo de coincidencia confirmado que creó esta regla todavía tenga una excepción adjunta.
Mejores prácticas
Empieza estricto y luego afloja
Empieza estricto y luego afloja
Pon primero las reglas exactas. Agrega reglas de tolerancia solo para la varianza que puedas justificar y explicar.
Haz dry run de cada cambio
Haz dry run de cada cambio
Trata las actualizaciones de reglas como cambios de producción. Valida las tasas de coincidencia y el volumen de excepciones antes de confirmar.
Revisa el resultado de las reglas con el tiempo
Revisa el resultado de las reglas con el tiempo
Si una regla nunca coincide, puede ser innecesaria. Si coincide demasiado seguido, puede ser demasiado amplia.
Mantén las reglas laxas en prioridad baja
Mantén las reglas laxas en prioridad baja
Una tolerancia alta aumenta los falsos positivos. Úsala como respaldo y revisa los resultados con cuidado.
Próximos pasos
Enrutamiento de excepciones
Configura la clasificación, la asignación y el escalamiento de las transacciones no conciliadas.
Puntuación de confianza
Entiende cómo se calculan las puntuaciones y cómo los umbrales impactan la automatización.

