¿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_RESOLUTIONhasta 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 aRESOLVEDdesdeOPEN,ASSIGNEDoPENDING_RESOLUTION.
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 elexceptionId 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
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_CORRECTIONuOTHER.
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
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
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_EVIDENCEes opcional: una disputaOPENpuede pasar directamente aWONoLOSTsin recolectar evidencia.- Una disputa
LOSTpuede reabrirse de vuelta aOPEN. WONes terminal.
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_detailspara ver por qué falló la coincidencia. - Revisa
candidatesen 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
Trabaja por severidad y SLA
Trabaja por severidad y SLA
Comienza con los elementos Críticos y Altos. Conllevan el mayor riesgo y los plazos más ajustados.
Haz que las decisiones sean auditables
Haz que las decisiones sean auditables
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
Corrige los patrones en la fuente
Corrige los patrones en la fuente
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
Trata las coincidencias forzadas como excepciones a la regla
Trata las coincidencias forzadas como excepciones a la regla
Si fuerzas coincidencias con regularidad, tus reglas o tolerancias necesitan atención.
Enruta el trabajo automáticamente
Enruta el trabajo automáticamente
Usa reglas de asignación para reducir el tiempo de triaje y mantener clara la propiedad.
Las cancelaciones son decisiones de política
Las cancelaciones son decisiones de política
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.

