Pular para o conteúdo principal
Este guia mostra como revisar exceções, priorizar o trabalho pela severidade e resolver itens com o nível certo de documentação.

O que é uma exceção?


Uma exceção marca uma transação que precisa da sua revisão. As causas comuns incluem:
  • Nenhum candidato encontrado: nenhuma transação na outra fonte atende aos critérios da regra ativa.
  • 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 não estão 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 OPEN para ASSIGNED. A API não expõe uma operação de remover atribuição. Você deve enviar um assignee não vazio.
  • A correspondência forçada e o ajuste de lançamento definem PENDING_RESOLUTION enquanto a operação está em andamento. Em caso de sucesso, a exceção vai para RESOLVED.
  • A resolução direta move uma exceção OPEN ou ASSIGNED para RESOLVED.
  • O despacho grava um evento de auditoria DISPATCH e emite exception.dispatched. Ele não muda o status da exceção.
Ciclo de vida de 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 única a seguir mudam o ciclo de vida ou registram ações relacionadas. Cada um é identificado pelo exceptionId da exceção no caminho.
O despacho MANUAL confirma a entrega localmente sem chamar um sistema externo.

Exemplo de atribuição

cURL

Exemplo de resolução

cURL

Exemplo de ajuste de lançamento

cURL

Seleção em lote com selectExceptionIDs

cURL
Use os IDs retornados nas operações em lote abaixo.

Severidade da exceção


O Matcher classifica as exceções por severidade para você trabalhar a fila na ordem certa. O valor é o valor absoluto do valor base da transação ou, quando ela não tem valor base, do valor dela. Para um item em aberto envelhecido, é o valor absoluto do saldo em aberto. O Matcher limita uma exceção com motivo FEE_DATA_MISSING a Média, qualquer que seja o valor ou a idade dela. 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

Cada vez que uma execução de correspondência em modo COMMIT encontra uma transação ainda não conciliada, o Matcher recalcula a severidade da exceção não resolvida dessa transação, exceto quando é uma exceção de transação duplicada. A idade conta a partir da data da transação ou, para um item em aberto envelhecido, da data de negócio da obrigação ou do horário de primeira aparição. 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 recalculada escala assim:
  • Uma exceção abaixo de 1.000 começa como Baixa, mas escala para Média depois de 24 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 um resolution obrigatório e um reason opcional quando não é preciso correspondência forçada nem ajuste.

2. Correspondência forçada

Marque a transação da exceção como conciliada e resolva a exceção. A correspondência forçada não coloca a transação em nenhum grupo de correspondência e não a junta a nenhum correspondente. Para juntar duas transações, crie uma correspondência manual com POST /v1/matching/manual. Use a correspondência forçada quando:
  • 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-entry exige um código de moeda ISO 4217 válido.
  • reasonCode deve usar AMOUNT_CORRECTION, CURRENCY_CORRECTION, DATE_CORRECTION ou OTHER.

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
A resposta inclui os arrays succeeded e failed, então você pode tratar falhas parciais de forma controlada.

Despacho em lote

Despache várias exceções:
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
A listagem (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 nova fica OPEN. Fechá-la define WON ou LOST, e os dois resultados são terminais.

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 para ver por que a correspondência falhou.
  • Chame GET /v1/matching/candidates com o contextId do contexto de conciliação e o transactionId da exceção para revisar 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ê aceita a transação como conciliada sem um correspondente.
  • 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. O despacho registra a ação, mas não muda o status da exceção.

Boas práticas


Comece pelos itens Críticos e Altos. Eles carregam o maior risco e os prazos mais apertados.
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
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
Se você usa correspondência forçada com frequência, as 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


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.