O que é uma exceção?
Uma exceção é criada quando uma transação de uma fonte não tem correspondente válido em outra fonte. As causas comuns incluem:
- Nenhum candidato encontrado: nenhuma transação na outra fonte atende aos critérios da regra ativa.
- Abaixo do limiar de confiança: existem candidatos, mas eles pontuam abaixo da confiança mínima (padrão: 60).
- Rejeição de duplicata: uma correspondência anterior foi rejeitada e não sobrou candidato alternativo.
- Desequilíbrio entre fontes: uma fonte contém transações que faltam na outra.
Ciclo de vida da exceção
As exceções seguem um workflow simples:
- Quando o Matcher não consegue conciliar uma transação, ele cria uma exceção com status
OPEN. - Ao atribuir a exceção, ela passa de
OPENparaASSIGNED. A API não expõe uma operação de remover atribuição. Você deve enviar umassigneenão vazio. - A correspondência forçada e o ajuste de lançamento mantêm
PENDING_RESOLUTIONapenas enquanto a operação está em andamento. Em caso de sucesso, a exceção vai paraRESOLVED. Em caso de falha, ela volta ao statusOPENouASSIGNEDanterior. - A resolução direta move uma exceção
OPENouASSIGNEDparaRESOLVED. - O despacho envia a requisição ao conector, grava um evento de auditoria
DISPATCHe emiteexception.dispatched. Ele não muda o status da exceção.
O ciclo de vida de uma exceção no Matcher
Definições de status
Endpoints da máquina de estados
Os endpoints de exceção única a seguir mudam o ciclo de vida ou registram ações relacionadas. Cada um é identificado peloexceptionId da exceção no caminho.
O Matcher aceita despacho
WEBHOOK, JIRA, SERVICENOW e MANUAL. WEBHOOK exige uma URL fornecida pelo deploy e, quando payloads assinados são obrigatórios, um segredo compartilhado. JIRA e ServiceNow exigem a configuração do conector deles. MANUAL confirma o despacho localmente sem chamar um sistema externo. Um conector ausente retorna MTCH-0509. Um despacho não confirmado retorna MTCH-0514, então verifique o destino antes de tentar de novo, porque um registro de destino pode já existir. Veja Roteamento de exceções para o contrato completo de despacho.Exemplo de atribuição
cURL
Exemplo de resolução
cURL
Exemplo de ajuste de lançamento
cURL
Seleção em lote com selectExceptionIDs
cURL
Severidade da exceção
O Matcher classifica as exceções por severidade para você trabalhar a fila na ordem certa.
Esses limiares repriorizam a exceção. Eles não criam um prazo de SLA. Um callback de entrada pode informar
dueAt, e os agregados do dashboard medem o cumprimento desses prazos fornecidos externamente. Defina a política de tempo de resposta no sistema externo que envia o callback.
Escalonamento de severidade
A severidade é reavaliada conforme a exceção envelhece. A classificação usa lógica OU. Basta o limiar de valor ou o limiar de idade para disparar uma severidade maior:- Uma exceção abaixo de 1.000 começa como Baixa, mas escala para Média depois de 24 horas.
- Uma exceção abaixo de 10.000 escala para Alta depois de 72 horas.
- Qualquer exceção não resolvida escala para Crítica depois de 120 horas.
Métodos de resolução
O Matcher expõe três ações de resolução de exceção.
1. Resolver diretamente
Feche uma exceção com umresolution obrigatório e um reason opcional quando não é preciso correspondência forçada nem ajuste.
2. Correspondência forçada
Vincule transações manualmente quando você confirmou que elas formam um par, mas o sistema não conseguiu fazer a correspondência. Use a correspondência forçada quando:- O correspondente correto existe, mas variações bloquearam a correspondência automática.
- Você consegue explicar e documentar a justificativa com clareza.
- A variação é esperada (tarifas, tempo, arredondamento).
3. Criar ajuste
Crie um lançamento de ajuste para registrar uma variação ou equilibrar um item não conciliado. Códigos de motivo do ajuste:
Regras de validação:
- Os valores de ajuste devem ser positivos. Uma requisição com valor zero ou negativo retorna um erro
400 Bad Request. POST /v1/exceptions/{exceptionId}/adjust-entryexige um código de moeda ISO 4217 válido.POST /v1/matching/adjustmentsaceita qualquer string de moeda não vazia e não valida se ela pertence à ISO 4217.reasonCodedeve usarAMOUNT_CORRECTION,CURRENCY_CORRECTION,DATE_CORRECTIONouOTHER.
Registros de resolução
O Matcher registra no histórico da exceção e no stream de auditoria as ações de resolução que têm suporte.
O Matcher não expõe contratos de resolução para divisão de exceção nem para baixa independente, e não aplica limiares de aprovação por valor nessas ações. Aplique qualquer exigência adicional de aprovação pelos controles da sua organização.
Operações em lote
Ao lidar com grandes volumes de exceções, os endpoints em lote permitem processar até 100 exceções em uma única requisição.
Atribuição em lote
Atribua várias exceções a um membro do time de uma vez:cURL
Resolução em lote
Resolva várias exceções com uma resolução compartilhada:cURL
succeeded e failed, então você pode tratar falhas parciais de forma controlada.
Despacho em lote
Despache várias exceções para um sistema externo:cURL
Comentários da exceção
Os comentários dão a cada exceção uma trilha de auditoria com notas de investigação e discussão do time. Adicione um comentário conforme o analista trabalha um item:
cURL
GET) retorna a thread completa, do mais antigo para o mais novo. Você não pode adicionar comentários depois que uma exceção é resolvida. Apenas o autor do comentário pode excluí-lo, e o comentário deve pertencer à exceção identificada na URL.
Disputas
Quando uma exceção precisa de investigação formal ou envolve uma parte externa (um chargeback, uma consulta ao banco), escale-a para uma disputa. As disputas acompanham evidências, mudanças de estado e o resultado final. Liste as disputas com
GET /v1/disputes (filtre por state, por exemplo OPEN) ou obtenha uma pelo disputeId dela.
Estados e transições de disputa
Uma disputa tem cinco estados:DRAFT, OPEN, PENDING_EVIDENCE, WON e LOST. O fluxo não é estritamente linear:
PENDING_EVIDENCEé opcional. Uma disputaOPENpode ir direto paraWONouLOSTsem nunca coletar evidências.- Uma disputa
LOSTpode ser reaberta paraOPEN. WONé terminal.
Workflow de resolução de exceções
Use este fluxo para manter as revisões consistentes e auditáveis.
1
Triagem
Revise a fila por severidade e SLA. Comece pelas Críticas e Altas.
2
Investigar
Use o payload da exceção para entender o que falhou e quais candidatos existem.
- Leia
reason_detailspara ver por que a correspondência falhou. - Revise
candidatesem busca de correspondências próximas abaixo do limiar. - Procure padrões (mesma contraparte, formatos de referência recorrentes).
3
Resolver
Escolha a resolução que melhor reflete a realidade e a política.
- Resolver diretamente: você pode fechar a exceção sem correspondência forçada nem ajuste.
- Correspondência forçada: você encontrou o correspondente correto.
- Ajustar: você precisa de um lançamento de ajuste para a variação.
4
Documentar
Registre detalhe suficiente para outra pessoa refazer a sua decisão depois:
- O que você verificou
- O que você concluiu
- Links ou IDs das evidências de apoio
5
Despachar se necessário
Se a exceção exige tratamento externo, despache-a por um conector configurado. O despacho registra a ação, mas não muda o status da exceção.
WEBHOOK exige uma URL fornecida pelo deploy. JIRA e ServiceNow exigem a configuração do conector deles. Se um conector retorna MTCH-0514, verifique o destino antes de tentar de novo, porque um registro de destino pode já existir.Boas práticas
Trabalhe por severidade e SLA
Trabalhe por severidade e SLA
Comece pelos itens Críticos e Altos. Eles carregam o maior risco e os prazos mais apertados.
Torne as decisões auditáveis
Torne as decisões auditáveis
As notas não são opcionais. Trate-as como parte da resolução:
- O que você verificou
- Por que essa resolução está correta
- Quaisquer IDs de ticket, extratos ou confirmações
Corrija padrões na origem
Corrija padrões na origem
Exceções que se repetem costumam apontar problemas de configuração:
- Mesma contraparte → Normalize nomes ou mapeamento
- Mesma janela de datas → Valide se a ingestão está completa
- Mesma fonte → Revise o mapeamento de campos e as convenções de sinal
Trate as correspondências forçadas como exceções à regra
Trate as correspondências forçadas como exceções à regra
Se você usa correspondência forçada com frequência, as suas regras ou tolerâncias precisam de atenção.
Atribua o trabalho explicitamente
Atribua o trabalho explicitamente
Atribua as exceções pelos endpoints de atribuição. O Matcher não aplica regras de atribuição automaticamente.
Próximos passos
Geração de relatórios
Crie relatórios de conciliação, exporte resultados e apoie auditorias.
Roteamento de exceções
Revise os conceitos de severidade, SLA e roteamento de exceções.

