Ciclo de vida do status da correspondência
As correspondências avançam por um ciclo de vida definido:
- Quando o motor de correspondência encontra um par de transações que pertencem juntas, ele cria uma correspondência com status
PROPOSED. - Correspondências elegíveis criadas pelo motor (pontuação 90 ou acima) pelas regras EXACT e TOLERANCE são confirmadas automaticamente de imediato. Correspondências manuais são criadas com status
CONFIRMED. Correspondências FUZZY e DATE_LAG permanecem emPROPOSEDe nunca são confirmadas automaticamente. - Correspondências que não são confirmadas automaticamente permanecem em
PROPOSED. A API pública de grupos de correspondência não expõe confirmação manual, mas você pode rejeitar um grupo proposto por meio da operação unmatch e de um motivo obrigatório. - Rejeitar um grupo
PROPOSEDdevolve suas transações ao pool de não correspondidas. Um grupoCONFIRMEDsó pode ser revogado quando o Matcher também consegue reverter cada efeito residual/de item em aberto aplicado por essa confirmação; se tiver êxito, essas mudanças e a devolução das transações ocorrem de forma atômica.
Correspondências FUZZY e DATE_LAG nunca são confirmadas automaticamente. A confirmação automática com pontuação ≥ 90 se aplica a correspondências elegíveis EXACT e TOLERANCE criadas pelo motor. Uma correspondência manual é criada com status
CONFIRMED. Uma correspondência produzida por uma regra FUZZY ou DATE_LAG permanece em PROPOSED, independentemente de sua pontuação — mesmo uma correspondência FUZZY com pontuação 90+. Você pode rejeitá-la por meio da operação unmatch; não existe uma operação pública de confirmação manual. Veja Pontuação de confiança.Ciclo de vida do status de uma correspondência.
Definições de status
Níveis de confiança
O Matcher atribui uma pontuação de confiança (0-100) a cada correspondência proposta. A pontuação determina como a correspondência é tratada.
Níveis de confiança
Entendendo a pontuação
A pontuação de confiança é calculada a partir de componentes ponderados:
Exemplo de detalhamento da pontuação:
Entendendo variações
Quando correspondências têm diferenças, revise os detalhes da variação:
Variação de valor
Causas comuns de variação de valor:- Taxas bancárias
- Diferenças de conversão de moeda
- Diferenças de arredondamento
- Pagamentos parciais
Variação de data
Causas comuns de variação de data:- Tempo de liquidação
- Diferenças de fuso horário
- Data de lançamento vs. data da transação
- Processamento em finais de semana/feriados
Candidatos a correspondência, itens em aberto e ajustes
À medida que você trabalha uma fila de revisão, três perguntas surgem repetidamente: por que o motor propôs esse pareamento?, o que ainda está pendente após uma correspondência parcial? e como eu lanço uma pequena diferença para que ambos os lados se equilibrem? O Matcher responde a cada uma delas com uma superfície dedicada — candidatos a correspondência, itens em aberto e ajustes.
Listar candidatos a correspondência
Recupere as propostas de candidatos ranqueadas que o motor considerou para uma transação — o “porquê” por trás de uma correspondência proposta, incluindo as contribuições por componente.cURL
GET /v1/matching/candidates aceita os parâmetros de consulta contextId, transactionId e limit, e retorna um CandidateProposalsResponse. O valor padrão de limit é 50 e ele aceita valores de 1 a 200.
O seletor de candidatos examina no máximo 5.000 transações não correspondidas do lado oposto e retorna apenas candidatos 1:1. Ele aplica o mecanismo de pontuação compartilhado aos dados brutos, sem a normalização de tarifas em tempo de execução nem a correspondência por faixa de variação cambial usadas por uma execução de correspondência.
Listar itens em aberto
Itens em aberto são saldos residuais deixados quando uma transação é apenas parcialmente compensada. Acompanhe-os para expor valores que ainda precisam ser liquidados ou que envelheceram além do seu limite.cURL
GET /v1/matching/contexts/{contextId}/open-items suporta um filtro status, além da paginação limit/cursor.
Status de itens em aberto
O ciclo de vida normal flui
OPEN → PARTIALLY_CLEARED → CLEARED, com qualquer item ainda em aberto podendo se tornar AGED assim que ultrapassa o limite de envelhecimento. Um unmatch bem-sucedido de grupo confirmado reverte os efeitos residuais daquele grupo. Se não restar nenhuma contribuição ativa por trás da obrigação, o item termina em WITHDRAWN: ele foi retirado, não compensado nem envelhecido.
Criar um ajuste
Lance um ajuste contábil para contabilizar uma variação (taxa bancária, diferença de câmbio, arredondamento, baixa contábil e assim por diante) contra um grupo de correspondência ou transação.cURL
POST /v1/matching/adjustments requer o parâmetro de consulta contextId. Campos do corpo:
String
obrigatório
Valor do ajuste
String
obrigatório
String de moeda não vazia. O Matcher não valida a associação ao padrão ISO 4217 para esse ajuste.
String
obrigatório
DEBIT ou CREDITString
obrigatório
BANK_FEE, FX_DIFFERENCE, ROUNDING, WRITE_OFF ou MISCELLANEOUSString
obrigatório
Motivo de negócio para o ajuste
String
obrigatório
Descrição legível por humanos
UUID
Grupo de correspondência ao qual o ajuste se aplica
UUID
Transação à qual o ajuste se aplica
matchGroupId ou transactionId é obrigatório.
Rejeitando ou revogando grupos de correspondência
Use a operação unmatch para rejeitar um grupo
PROPOSED ou revogar um grupo CONFIRMED. Após uma operação bem-sucedida, o Matcher devolve as transações do grupo ao status UNMATCHED para que elas possam ser correspondidas novamente.
Use DELETE /v1/matching/groups/{matchGroupId} com o parâmetro de consulta obrigatório contextId e um reason no corpo da solicitação (operationId unmatch):
cURL
reason é obrigatório (não vazio). Para um grupo CONFIRMED, o Matcher verifica a reversão de residuais/itens em aberto antes de alterar o grupo ou suas transações; uma operação bem-sucedida adiciona de forma atômica as entradas compensatórias no ledger, revoga o grupo e devolve suas transações para UNMATCHED.
Quando rejeitar ou revogar
Cenários comuns para rejeitar ou revogar um grupo:- Correspondência incorreta confirmada: A correspondência foi aprovada mas as transações na verdade pertencem a registros diferentes
- Nova informação: Dados adicionais mostram que a correspondência está errada
- Correção na origem: O sistema de origem emitiu uma correção ou reversão
- Transação duplicada: Uma das transações era uma duplicata que deveria ser removida
O que acontece após unmatch
Quando a correspondência de um grupo é desfeita:- Os residuais confirmados são verificados primeiro: O Matcher verifica se cada efeito residual/de item em aberto de um grupo
CONFIRMEDpode ser revertido. Se uma entrada posterior ou uma obrigação mais recente em conflito bloquear a reversão, a operação retorna409 Conflicte deixa o grupo, as transações e os itens em aberto inalterados. - O status da correspondência muda: Um grupo
CONFIRMEDpassa aREVOKED; um grupo ainda emPROPOSEDpassa aREJECTED. - Transações retornadas: Em caso de sucesso, todas as transações associadas retornam ao status
UNMATCHED. - Os efeitos de itens em aberto são revertidos: Em um unmatch de grupo confirmado, as entradas compensatórias do ledger retiram os efeitos residuais do grupo na mesma transação. Se não restar contribuição ativa por trás de uma obrigação, ela passa ao status terminal
WITHDRAWNe não é carregada para a próxima execução. - Motivo registrado: O grupo armazena o motivo fornecido para rejeição ou revogação.
- Evento de streaming emitido: Um evento
match_group.unmatchedé emitido apenas quando o grupo estava previamente emCONFIRMED. - Nova correspondência possível: As transações podem ser correspondidas novamente na próxima execução após um unmatch bem-sucedido.
Melhores práticas
Comece pelas correspondências de menor confiança
Comece pelas correspondências de menor confiança
Revise primeiro as correspondências com as menores pontuações de confiança. Estas são mais propensas a estar incorretas e precisam de mais atenção.
Entenda os limites de confiança fixos
Entenda os limites de confiança fixos
Os limites de confiança são fixos no sistema. Correspondências elegíveis EXACT e TOLERANCE criadas pelo motor com pontuações de 90 ou acima são confirmadas automaticamente. Correspondências manuais são criadas
CONFIRMED. Pontuações entre 60 e 89 permanecem em PROPOSED, e pontuações abaixo de 60 se tornam exceções. Esses valores não são configuráveis por contexto. As correspondências FUZZY e DATE_LAG são a exceção: elas nunca são confirmadas automaticamente e permanecem em PROPOSED, independentemente da pontuação. Use o ajuste de regras (prioridade, valores de tolerância) para influenciar quantas correspondências caem em cada faixa.Forneça um motivo claro
Forneça um motivo claro
Forneça um motivo específico ao rejeitar um grupo proposto ou revogar um grupo confirmado. A operação unmatch exige esse motivo e o armazena com o grupo.
Rejeite apenas depois de conferir os dados de origem
Rejeite apenas depois de conferir os dados de origem
Revise o grupo e suas transações de origem antes de usar a operação unmatch. O Matcher expõe essa operação por grupo; ele não expõe confirmação em lote.
Revise correspondências de alto valor cuidadosamente
Revise correspondências de alto valor cuidadosamente
Independentemente da pontuação de confiança, dê atenção extra a correspondências de alto valor. O impacto de uma correspondência incorreta é proporcional ao valor.
Próximos passos
Resolvendo exceções
Lide com transações que não puderam ser correspondidas automaticamente.
Pontuação de confiança
Aprofunde-se em como as pontuações de confiança são calculadas.

