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
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 definem
PENDING_RESOLUTIONenquanto a operação está em andamento. Em caso de sucesso, a exceção vai paraRESOLVED. - A resolução direta move uma exceção
OPENouASSIGNEDparaRESOLVED. - O despacho 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 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
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 modoCOMMIT 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 umresolution 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 comPOST /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-entryexige um código de moeda ISO 4217 válido.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: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 nova ficaOPEN. 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
reasonpara ver por que a correspondência falhou. - Chame
GET /v1/matching/candidatescom ocontextIddo contexto de conciliação e otransactionIdda 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
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.

