Skip to main content
Después de ejecutar un trabajo de conciliación, necesitas revisar los resultados. Esta guía explica cómo interpretar los resultados, entender las puntuaciones de confianza y rechazar grupos propuestos o revocar grupos confirmados.

Ciclo de vida del estado de la coincidencia


Las coincidencias avanzan a través de un ciclo de vida definido:
  • Cuando el motor de conciliación encuentra un par de transacciones que pertenecen juntas, crea una coincidencia en estado PROPOSED.
  • Las coincidencias elegibles creadas por el motor (puntuación 90 o superior) de las reglas EXACT y TOLERANCE se auto-confirman de inmediato. Las coincidencias manuales se crean con estado CONFIRMED. Las coincidencias FUZZY y DATE_LAG permanecen en PROPOSED y nunca se auto-confirman.
  • Las coincidencias que no se confirman automáticamente permanecen en PROPOSED. La API pública de grupos de coincidencias no expone una confirmación manual, pero puedes rechazar un grupo propuesto mediante la operación unmatch y un motivo obligatorio.
  • Rechazar un grupo PROPOSED devuelve sus transacciones al pool de no coincididas. Solo puedes revocar un grupo CONFIRMED cuando Matcher también puede revertir cada efecto residual/de partida abierta que aplicó esa confirmación; si tiene éxito, esos cambios y la devolución de las transacciones ocurren de forma atómica.
Las coincidencias FUZZY y DATE_LAG nunca se auto-confirman. La auto-confirmación con puntuación ≥ 90 aplica a coincidencias elegibles EXACT y TOLERANCE creadas por el motor. Una coincidencia manual se crea con estado CONFIRMED. Una coincidencia producida por una regla FUZZY o DATE_LAG permanece en PROPOSED, sin importar su puntuación — incluso una coincidencia FUZZY con puntuación 90+. Puedes rechazarla mediante la operación unmatch; no existe una operación pública de confirmación manual. Consulta Puntuación de confianza.
Ciclo de vida del estado de una coincidencia

Ciclo de vida del estado de una coincidencia.

Definiciones de estado

Niveles de confianza


Matcher asigna una puntuación de confianza (0-100) a cada coincidencia propuesta. La puntuación determina cómo se maneja la coincidencia.

Niveles de confianza

Entender la puntuación

La puntuación de confianza se calcula a partir de componentes ponderados: Ejemplo de desglose de puntuación:

Entender las variaciones


Cuando las coincidencias tienen diferencias, revisa los detalles de la variación:

Variación de monto

Causas comunes de variación de monto:
  • Comisiones bancarias
  • Diferencias de conversión de moneda
  • Diferencias de redondeo
  • Pagos parciales

Variación de fecha

Causas comunes de variación de fecha:
  • Tiempo de liquidación
  • Diferencias de zona horaria
  • Fecha de contabilización vs. fecha de la transacción
  • Procesamiento de fin de semana/feriado

Candidatos de coincidencia, partidas abiertas y ajustes


A medida que trabajas una cola de revisión, tres preguntas surgen una y otra vez: ¿por qué el motor propuso este emparejamiento?, ¿qué queda sin resolver después de una coincidencia parcial? y ¿cómo registro una pequeña diferencia para que ambos lados cuadren? Matcher responde cada una con una superficie dedicada — candidatos de coincidencia, partidas abiertas y ajustes.

Listar candidatos de coincidencia

Recupera las propuestas de candidatos clasificadas que el motor consideró para una transacción — el “porqué” detrás de una coincidencia propuesta, incluyendo las contribuciones por componente.
cURL
GET /v1/matching/candidates acepta los parámetros de consulta contextId, transactionId y limit, y devuelve un CandidateProposalsResponse. El valor predeterminado de limit es 50 y acepta valores de 1 a 200. El selector de candidatos examina como máximo 5000 transacciones no coincidentes del lado opuesto y devuelve solo candidatos 1:1. Aplica el puntuador compartido a los datos sin procesar, sin la normalización de comisiones en tiempo de ejecución ni la coincidencia por banda de variación de FX que usa una ejecución de conciliación.

Listar partidas abiertas

Las partidas abiertas son saldos residuales que quedan cuando una transacción solo se compensa parcialmente. Rastréalas para sacar a la luz montos que aún necesitan liquidarse o que han superado su umbral de antigüedad.
cURL
GET /v1/matching/contexts/{contextId}/open-items admite un filtro status, además de paginación limit/cursor.

Estados de partida abierta

El ciclo de vida normal fluye OPENPARTIALLY_CLEAREDCLEARED, y cualquier partida aún abierta puede pasar a AGED una vez que supera el umbral de antigüedad. Un unmatch exitoso de un grupo confirmado revierte los efectos residuales de ese grupo. Si no queda ninguna contribución activa detrás de la obligación, la partida termina en WITHDRAWN: fue retirada, no compensada ni envejecida.

Crear un ajuste

Registra un ajuste contable para dar cuenta de una variación (comisión bancaria, diferencia de FX, redondeo, cancelación (write-off), etc.) contra un grupo de coincidencia o una transacción.
cURL
POST /v1/matching/adjustments requiere el parámetro de consulta contextId. Campos del cuerpo:
String
requerido
Monto del ajuste
String
requerido
Cadena de moneda no vacía. Matcher no valida la pertenencia a ISO 4217 para este ajuste.
String
requerido
DEBIT o CREDIT
String
requerido
BANK_FEE, FX_DIFFERENCE, ROUNDING, WRITE_OFF o MISCELLANEOUS
String
requerido
Motivo de negocio del ajuste
String
requerido
Descripción legible para humanos
UUID
Grupo de coincidencia al que aplica el ajuste
UUID
Transacción a la que aplica el ajuste
Se requiere al menos uno de los campos matchGroupId o transactionId.

Rechazar o revocar grupos de coincidencias


Usa la operación unmatch para rechazar un grupo PROPOSED o revocar uno CONFIRMED. Después de una operación exitosa, Matcher devuelve las transacciones del grupo al estado UNMATCHED para que puedan volver a coincidirse. Usa DELETE /v1/matching/groups/{matchGroupId} con el parámetro de consulta obligatorio contextId y un reason en el cuerpo de la solicitud (operationId unmatch):
cURL
Un unmatch exitoso devuelve 204 No Content. El campo reason es obligatorio (no vacío). Para un grupo CONFIRMED, Matcher verifica la reversión residual/de partidas abiertas antes de cambiar el grupo o sus transacciones; una operación exitosa agrega de forma atómica los asientos compensatorios del ledger, revoca el grupo y devuelve sus transacciones a UNMATCHED.
La operación unmatch requiere un motivo no vacío. Para un grupo confirmado, o bien revierte los efectos residuales/de partidas abiertas junto con el grupo y sus transacciones, o devuelve 409 Conflict antes de cambiar nada. Una entrada posterior aún activa sobre el residual bloquea la reversión anterior; una obligación más reciente y activa con la misma identidad también la bloquea cuando restaurar una partida terminal causaría un conflicto.

Cuándo rechazar o revocar

Escenarios comunes para rechazar o revocar un grupo:
  • Coincidencia incorrecta confirmada: La coincidencia fue aprobada pero las transacciones en realidad pertenecen a registros diferentes
  • Nueva información: Datos adicionales muestran que la coincidencia está mal
  • Corrección de origen: El sistema de origen emitió una corrección o reversión
  • Transacción duplicada: Una de las transacciones era un duplicado que debe eliminarse

Qué sucede después de unmatch

Cuando se deshace la coincidencia de un grupo:
  1. Primero se verifican los residuales confirmados: Matcher verifica que cada efecto residual/de partida abierta de un grupo CONFIRMED pueda revertirse. Si una entrada posterior o una obligación más reciente en conflicto lo bloquea, la operación devuelve 409 Conflict y deja sin cambios el grupo, las transacciones y las partidas abiertas.
  2. El estado de la coincidencia cambia: Un grupo CONFIRMED pasa a REVOKED; un grupo aún en PROPOSED pasa a REJECTED.
  3. Transacciones devueltas: Si tiene éxito, todas las transacciones asociadas vuelven al estado UNMATCHED.
  4. Se revierten los efectos de partidas abiertas: En un unmatch de un grupo confirmado, los asientos compensatorios del ledger retiran los efectos residuales del grupo en la misma transacción. Si no queda una contribución activa detrás de una obligación, pasa al estado terminal WITHDRAWN y no se lleva hacia adelante.
  5. Motivo registrado: El grupo almacena el motivo de rechazo o revocación proporcionado.
  6. Evento de streaming emitido: Se emite un evento match_group.unmatched solo cuando el grupo estaba previamente en CONFIRMED.
  7. Reconciliación posible de nuevo: Las transacciones pueden volver a coincidirse en la siguiente ejecución después de un unmatch exitoso.

Mejores prácticas


Revisa primero las coincidencias con las puntuaciones de confianza más bajas. Estas son las más propensas a ser incorrectas y necesitan más atención.
Los umbrales de confianza son fijos en el sistema. Las coincidencias elegibles EXACT y TOLERANCE creadas por el motor con puntuaciones de 90 o superior se auto-confirman. Las coincidencias manuales se crean CONFIRMED. Las puntuaciones entre 60 y 89 permanecen en PROPOSED, y las puntuaciones menores a 60 se convierten en excepciones. Estos valores no son configurables por contexto. Las coincidencias FUZZY y DATE_LAG son la excepción: nunca se auto-confirman y permanecen en PROPOSED, sin importar la puntuación. Usa el ajuste de reglas (prioridad, valores de tolerancia) para influir en cuántas coincidencias caen en cada nivel.
Proporciona un motivo específico al rechazar un grupo propuesto o revocar uno confirmado. La operación unmatch lo exige y lo almacena con el grupo.
Revisa el grupo y sus transacciones de origen antes de usar la operación unmatch. Matcher expone esta operación por grupo; no expone una confirmación masiva.
Independientemente de la puntuación de confianza, presta atención extra a las coincidencias de alto valor. El impacto de una coincidencia incorrecta es proporcional al monto.

Próximos pasos


Resolver excepciones

Maneja las transacciones que no pudieron coincidirse automáticamente.

Puntuación de confianza

Profundiza en cómo se calculan las puntuaciones de confianza.