Saltar al contenido principal
Las excepciones son transacciones que Matcher no puede conciliar automáticamente. Esta guía muestra cómo revisar excepciones, priorizar el trabajo según severidad y resolver elementos con el nivel adecuado de documentación.

¿Qué es una excepción?


Una excepción se crea cuando una transacción de una fuente no tiene contraparte válida en otra fuente. Las causas comunes incluyen:
  • Sin candidato encontrado: ninguna transacción en la otra fuente cumple los criterios de la regla activa.
  • Por debajo del umbral de confianza: existen candidatos, pero puntúan por debajo de la confianza mínima (por defecto: 60).
  • Rechazo por duplicado: una coincidencia previa fue rechazada y no queda candidato alternativo.
  • Desbalance de fuente: una fuente contiene transacciones que faltan en la otra.

Ciclo de vida de una excepción


Las excepciones avanzan a través de un flujo de trabajo simple:
  • Cuando Matcher no puede conciliar una transacción, crea una excepción en estado OPEN.
  • Desde ahí, la excepción se asigna a un analista para investigación (ASSIGNED).
  • Si la resolución depende de un sistema externo —como un issue despachado a JIRA o un callback de webhook— la excepción pasa a PENDING_RESOLUTION hasta que llega la respuesta externa.
  • Una vez que el analista resuelve la excepción (forzar coincidencia, ajuste o callback externo), transiciona a RESOLVED. La resolución no depende del despacho: una excepción puede pasar a RESOLVED desde OPEN, ASSIGNED o PENDING_RESOLUTION.
Ciclo de vida de la excepción del Matcher

El ciclo de vida de una excepción en Matcher

Definiciones de estado

Endpoints de la máquina de estados

Los siguientes endpoints de excepción individual impulsan las transiciones del ciclo de vida anterior. Cada uno se direcciona mediante el exceptionId de la excepción en la ruta.

Ejemplo de asignación

cURL

Ejemplo de resolución

cURL

Ejemplo de ajuste de asiento

cURL

Selección en lote con selectExceptionIDs

cURL
Alimenta los IDs devueltos en las operaciones en lote más abajo.

Severidad de las excepciones


Matcher clasifica las excepciones por severidad para que puedas trabajar la cola en el orden correcto.

Escalamiento de severidad

La severidad se reevalúa a medida que una excepción envejece. La clasificación usa lógica OR: basta con el monto o con el umbral de antigüedad para activar una severidad mayor:
  • Una excepción con monto menor a 1,000 comienza como Baja, pero escala a Media después de 24 horas.
  • Una excepción con monto menor a 10,000 escala a Alta después de 72 horas.
  • Cualquier excepción no resuelta escala a Crítica después de 120 horas.

Métodos de resolución


Puedes resolver una excepción de cuatro maneras.

1. Forzar coincidencia

Vincula manualmente transacciones cuando has confirmado que pertenecen juntas, pero el sistema no pudo conciliarlas. Usa Forzar coincidencia cuando:
  • La contraparte correcta existe, pero las variaciones bloquearon la coincidencia automática.
  • Puedes explicar y documentar claramente la justificación.
  • La variación es esperada (comisiones, tiempo, redondeo).

2. Crear ajuste

Crea un asiento de ajuste para contabilizar una variación o equilibrar un elemento no conciliado. Tipos comunes de ajuste: Reglas de validación:
  • Los montos de ajuste deben ser positivos. Una solicitud con monto cero o negativo devuelve un error 400 Bad Request.
  • Los códigos de moneda deben seguir el formato ISO 4217.
  • Los códigos de razón deben usar un valor predefinido válido: AMOUNT_CORRECTION, CURRENCY_CORRECTION, DATE_CORRECTION u OTHER.

3. Cancelación (write-off)

Cancela una transacción que no tiene contraparte válida. Esto debería ser poco frecuente y típicamente requiere aprobación. Razones de cancelación:

4. Dividir transacción

Usa la división cuando una transacción debe coincidir con múltiples contrapartes.

Requisitos de auditoría


Cada resolución crea un registro de auditoría. Algunos tipos de resolución requieren evidencia y aprobaciones más sólidas.

Documentación requerida por tipo de resolución

Operaciones en lote


Cuando se manejan grandes volúmenes de excepciones, los endpoints en lote permiten procesar hasta 100 excepciones en una sola solicitud.

Asignación en lote

Asigna múltiples excepciones a un miembro del equipo de una sola vez:
cURL

Resolución en lote

Resuelve múltiples excepciones con una resolución compartida:
cURL
La respuesta incluye los arrays succeeded y failed, para que puedas manejar fallas parciales de forma elegante.

Despacho en lote

Despacha múltiples excepciones a un sistema externo:
cURL

Comentarios de excepciones


Los comentarios dan a cada excepción un registro de auditoría de notas de investigación y discusión del equipo, invaluable cuando alguien más debe retomar o revisar el caso más adelante. Agrega un comentario a medida que un analista trabaja un elemento:
cURL
El listado (GET) devuelve el hilo del más reciente al más antiguo con paginación mediante cursor/limit, y un comentario puede eliminarse por su commentId.

Disputas


Cuando una excepción necesita una investigación formal o involucra a una parte externa —un contracargo, una consulta bancaria— escálala a una disputa. Las disputas rastrean evidencia, cambios de estado y el resultado final. Lista las disputas con GET /v1/disputes (filtra por state, por ejemplo OPEN) o recupera una por su disputeId.

Estados y transiciones de disputa

Una disputa tiene cinco estados: DRAFT, OPEN, PENDING_EVIDENCE, WON y LOST. El flujo no es estrictamente lineal:
  • PENDING_EVIDENCE es opcional: una disputa OPEN puede pasar directamente a WON o LOST sin recolectar evidencia.
  • Una disputa LOST puede reabrirse de vuelta a OPEN.
  • WON es terminal.
El conjunto completo de transiciones válidas:

Flujo de trabajo de resolución de excepciones


Usa este flujo para mantener revisiones consistentes y aptas para auditoría.
1

Triaje

Revisa la cola por severidad y SLA. Comienza con Crítica y Alta.
2

Investigar

Usa el payload de la excepción para entender qué falló y qué candidatos existen.
  • Lee reason_details para ver por qué falló la coincidencia.
  • Revisa candidates en busca de coincidencias cercanas por debajo del umbral.
  • Busca patrones (misma contraparte, formatos de referencia recurrentes).
3

Resolver

Elige la resolución que mejor refleje la realidad y la política.
  • Forzar coincidencia: encontraste la contraparte correcta.
  • Ajustar: necesitas un asiento de ajuste para la variación.
  • Dividir: una transacción mapea a múltiples contrapartes.
  • Cancelación (write-off): no existe contraparte y la política lo permite (se requiere aprobación).
4

Documentar

Captura suficiente detalle para que alguien más pueda reproducir tu decisión más adelante:
  • Qué verificaste
  • Qué concluiste
  • Enlaces o IDs de evidencia de soporte
5

Despachar si es necesario

Si la excepción requiere gestión externa, despáchala a JIRA o a un endpoint de webhook. La excepción pasa a PENDING_RESOLUTION hasta que un callback confirme el resultado.

Buenas prácticas


Comienza con los elementos Críticos y Altos. Conllevan el mayor riesgo y los plazos más ajustados.
Las notas no son opcionales. Trátalas como parte de la resolución:
  • Qué verificaste
  • Por qué esta resolución es correcta
  • Cualquier ID de ticket, extractos o confirmaciones
Las excepciones repetidas suelen apuntar a problemas de configuración:
  • Misma contraparte → normaliza nombres o mapeo
  • Misma ventana de fechas → valida la completitud de la ingesta
  • Misma fuente → revisa el mapeo de campos y las convenciones de signo
Si fuerzas coincidencias con regularidad, tus reglas o tolerancias necesitan atención.
Usa reglas de asignación para reducir el tiempo de triaje y mantener clara la propiedad.
Si cancelas con frecuencia, revisa los umbrales, el alcance del contexto o la calidad de los datos upstream.

Próximos pasos


Generando Reportes

Crea reportes de conciliación, exporta resultados y da soporte a auditorías.

Enrutamiento de Excepciones

Configura reglas de severidad, SLAs y asignación automática.