Skip to main content
Exceções são transações que o Matcher não consegue reconciliar automaticamente. Este guia mostra como revisar exceções, priorizar o trabalho com base na severidade e resolver itens com o nível adequado de documentação.

O que é uma exceção?


Uma exceção é criada quando uma transação de uma fonte não possui uma contrapartida válida em outra fonte. Causas comuns incluem:
  • Nenhum candidato encontrado: Nenhuma transação na outra fonte atende aos critérios da regra ativa.
  • Abaixo do limite de confiança: Candidatos existem, mas pontuam abaixo da confiança mínima (padrão: 60).
  • Rejeição por duplicidade: Uma correspondência anterior foi rejeitada e nenhum candidato alternativo permanece.
  • Desbalanceamento de fonte: Uma fonte contém transações que estão ausentes na outra.

Ciclo de vida da exceção


Exceções passam por um fluxo de trabalho simples:
  • Quando o Matcher não consegue reconciliar uma transação, ele cria uma exceção com status OPEN.
  • A atribuição move a exceção de OPEN para ASSIGNED. A API não expõe uma operação para remover a atribuição; assignee é obrigatório e não pode estar vazio.
  • Forçar correspondência e ajustar lançamento mantêm PENDING_RESOLUTION somente enquanto a operação está em andamento. Em caso de sucesso, a exceção passa para RESOLVED; em caso de falha, retorna ao status anterior, OPEN ou ASSIGNED.
  • A resolução direta move uma exceção OPEN ou ASSIGNED para RESOLVED.
  • O despacho envia a requisição ao conector, grava um evento de auditoria DISPATCH e emite exception.dispatched. Ele não altera o status da exceção.
Ciclo de vida da exceção do Matcher

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 individual a seguir alteram o ciclo de vida ou registram ações relacionadas. Cada um é endereçado pelo exceptionId da exceção no caminho.
O Matcher oferece despacho por WEBHOOK, JIRA, SERVICENOW e MANUAL. WEBHOOK exige uma URL fornecida pelo deployment e, quando payloads assinados são obrigatórios, um segredo compartilhado. JIRA e ServiceNow exigem a configuração dos respectivos conectores. MANUAL confirma o despacho localmente sem chamar um sistema externo. Um conector não configurado retorna MTCH-0509; um despacho não confirmado retorna MTCH-0514, então verifique o destino antes de tentar novamente porque um registro pode já existir lá. Consulte 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
Alimente os IDs retornados nas operações em lote abaixo.

Severidade da exceção


O Matcher classifica exceções por severidade para que você possa trabalhar na fila na ordem correta. Esses limites repriorizam a exceção; eles não criam uma data de vencimento de SLA. Um callback recebido pode fornecer dueAt, e os agregados do dashboard medem a conformidade dessas datas de vencimento fornecidas externamente. Defina a política de tempo de resposta no sistema externo que envia o callback.

Escalação de severidade

A severidade é reavaliada conforme a exceção envelhece. A classificação usa lógica OU — o valor ou o tempo decorrido é suficiente para acionar uma severidade mais alta:
  • Uma exceção abaixo de 1.000 começa como Baixa, mas escala para Média após 24 horas.
  • Uma exceção abaixo de 10.000 escala para Alta após 72 horas.
  • Qualquer exceção não resolvida escala para Crítica após 120 horas.

Métodos de resolução


O Matcher expõe três ações para resolver exceções.

1. Resolver diretamente

Feche uma exceção com resolution obrigatório e reason opcional quando não for necessário forçar uma correspondência nem criar um ajuste.

2. Forçar correspondência

Vincule manualmente transações quando você confirmou que elas pertencem juntas, mas o sistema não conseguiu correspondê-las. Use Forçar correspondência quando:
  • A contrapartida correta existe, mas variações bloquearam a correspondência automática.
  • Você pode explicar e documentar claramente a justificativa.
  • A variação é esperada (taxas, timing, arredondamento).

3. Criar ajuste

Crie um lançamento de ajuste para contabilizar uma variação ou equilibrar um item não correspondido. Códigos de motivo do ajuste: Regras de validação:
  • Valores de ajuste devem ser positivos. Uma requisição com valor zero ou negativo retorna um erro 400 Bad Request.
  • Códigos de moeda devem seguir o formato ISO 4217.
  • reasonCode deve usar AMOUNT_CORRECTION, CURRENCY_CORRECTION, DATE_CORRECTION ou OTHER.

Registros de resolução


O Matcher registra as ações de resolução aceitas no histórico da exceção e no fluxo de auditoria. O Matcher não expõe contratos de resolução para dividir exceções nem para dar baixa de forma independente, e não impõe limites de aprovação baseados em valor para essas ações. Aplique requisitos adicionais 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 múltiplas exceções a um membro da equipe de uma vez:
cURL

Resolução em lote

Resolva múltiplas exceções com uma resolução compartilhada:
cURL
A resposta inclui os arrays succeeded e failed, para que você possa lidar com falhas parciais de forma elegante.

Despacho em lote

Despache múltiplas exceções para um sistema externo:
cURL

Comentários de exceções


Comentários dão a cada exceção uma trilha de auditoria com notas de investigação e discussão da equipe — algo inestimável quando outra pessoa precisa assumir ou revisar o caso mais tarde. Adicione um comentário conforme um analista trabalha um item:
cURL
A listagem (GET) retorna a discussão completa ordenada do mais antigo para o mais recente. Você não pode adicionar comentários depois que uma exceção é resolvida. Somente o autor pode excluir o comentário, que 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. Disputas rastreiam evidências, mudanças de estado e o resultado final. Liste disputas com GET /v1/disputes (filtre por state, por exemplo OPEN) ou recupere uma pelo seu disputeId.

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 disputa OPEN pode ir diretamente para WON ou LOST sem nunca coletar evidências.
  • Uma disputa LOST pode ser reaberta de volta para OPEN.
  • WON é terminal.
O conjunto completo de transições válidas:

Fluxo de trabalho de resolução de exceções


Use este fluxo para manter revisões consistentes e amigáveis para auditoria.
1

Triagem

Revise a fila por severidade e SLA. Comece com Crítica e Alta.
2

Investigar

Use o payload da exceção para entender o que falhou e quais candidatos existem.
  • Leia reason_details para ver por que a correspondência falhou.
  • Revise candidates para correspondências próximas abaixo do limite.
  • Procure por padrões (mesma contrapartida, formatos de referência recorrentes).
3

Resolver

Escolha a resolução que melhor reflete a realidade e a política.
  • Resolver diretamente: Você pode encerrar a exceção sem forçar uma correspondência nem criar um ajuste.
  • Forçar correspondência: Você encontrou a contrapartida correta.
  • Ajustar: Você precisa de um lançamento de ajuste para variação.
4

Documentar

Capture detalhes suficientes para que outra pessoa possa reproduzir sua decisão depois:
  • O que você verificou
  • O que você concluiu
  • Links ou IDs para evidências de suporte
5

Despachar se necessário

Se a exceção exigir tratamento externo, despache-a por um conector configurado. O despacho registra a ação, mas não altera o status da exceção. WEBHOOK exige uma URL fornecida pelo deployment; JIRA e ServiceNow exigem a configuração dos respectivos conectores. Se um conector retornar MTCH-0514, verifique o destino antes de tentar novamente porque um registro pode já existir lá.

Boas práticas


Comece com itens Crítica e Alta. Eles carregam o maior risco e os prazos mais apertados.
Notas não são opcionais. Trate-as como parte da resolução:
  • O que você verificou
  • Por que esta resolução está correta
  • Quaisquer IDs de tickets, extratos ou confirmações
Exceções repetidas geralmente apontam para problemas de configuração:
  • Mesma contrapartida → Normalize nomes ou mapeamento
  • Mesma janela de datas → Valide completude da ingestão
  • Mesma fonte → Revise mapeamento de campos e convenções de sinal
Se você força correspondências regularmente, suas regras ou tolerâncias precisam de atenção.
Atribua as exceções pelos endpoints de atribuição. O Matcher não aplica regras de atribuição automaticamente.

Próximos passos


Gerando Relatórios

Crie relatórios de reconciliação, exporte resultados e suporte auditorias.

Roteamento de Exceções

Revise os conceitos de severidade, SLA e roteamento de exceções.