Visão geral
O Matcher permite quatro padrões de correspondência:
| Padrão | Descrição | Exemplo |
|---|---|---|
| 1:1 | Uma origem para um destino | Pagamento de fatura única |
| 1:N | Uma origem para vários destinos | Pagamento em lote cobrindo faturas |
| N:1 | Várias origens para um destino | Depósitos consolidados no banco |
| N:M | Várias origens para vários destinos | Compensação complexa |
Habilitando correspondência complexa
Configuração de contexto
Habilite a correspondência dividida e agregada no nível do contexto:cURL
Resposta
Configurações de correspondência
| Configuração | Tipo | Padrão | Descrição |
|---|---|---|---|
allow_split | Boolean | false | Habilita correspondência 1:N |
allow_aggregate | Boolean | false | Habilita correspondência N:1 |
allow_many_to_many | Boolean | false | Habilita correspondência N:M |
max_transactions_per_group | Integer | 10 | Máximo de transações em um grupo |
require_full_allocation | Boolean | true | Requer alocação de 100% |
partial_match_threshold | Decimal | 0.95 | Alocação mínima para parcial (95%) |
Correspondência dividida 1:N
Uma transação de origem corresponde a múltiplas transações de destino.
Casos de uso comuns
- Pagamento em lote: Uma única transferência cobrindo múltiplas faturas
- Folha de pagamento: Um débito bancário para múltiplos pagamentos de salário
- Liquidação: Um pagamento de gateway para múltiplos pedidos
Exemplo: pagamento de faturas em lote
Origem (Extrato Bancário):| ID | Valor | Referência |
|---|---|---|
| bank_001 | $15.000,00 | BULK-PAY-2024-001 |
| ID | Valor | Fatura |
|---|---|---|
| inv_001 | $5.000,00 | INV-2024-001 |
| inv_002 | $7.500,00 | INV-2024-002 |
| inv_003 | $2.500,00 | INV-2024-003 |
API: criar correspondência dividida
cURL
Resposta
Correspondência agregada N:1
Múltiplas transações de origem correspondem a uma transação de destino.
Casos de uso comuns
- Depósitos bancários: Múltiplos cheques depositados como um único crédito
- Liquidações de cartão: Lote diário de transações como um único depósito
- Consolidação de caixa: Múltiplos recebimentos de caixa registradora para um depósito
Exemplo: depósito consolidado
Origens (Ponto de Venda):| ID | Valor | Caixa |
|---|---|---|
| pos_001 | $1.250,00 | REG-01 |
| pos_002 | $980,00 | REG-02 |
| pos_003 | $1.770,00 | REG-03 |
| ID | Valor | Referência |
|---|---|---|
| bank_002 | $4.000,00 | DEPOSIT-20240120 |
API: criar correspondência agregada
cURL
Resposta
Correspondência N:M muitos-para-muitos
Múltiplas transações de origem correspondem a múltiplas transações de destino. Este é o padrão mais complexo e requer o solucionador de grafo.
Casos de uso comuns
- Compensação intercompany: Múltiplas faturas compensadas contra múltiplos pagamentos
- Liquidações de negociação: Compensação complexa com preenchimentos parciais
- Reconhecimento de receita: Múltiplas entregas contra múltiplos adiantamentos
Exemplo: compensação intercompany
Origens (Contas a Pagar da Empresa A):| ID | Valor | Referência |
|---|---|---|
| pay_001 | $10.000,00 | IC-PAY-001 |
| pay_002 | $8.000,00 | IC-PAY-002 |
| ID | Valor | Referência |
|---|---|---|
| rec_001 | $12.000,00 | IC-REC-001 |
| rec_002 | $6.000,00 | IC-REC-002 |
API: criar correspondência N:M
cURL
Rastreamento de alocação
O Matcher rastreia quanto de cada transação foi alocado para correspondências.
Status de alocação de transação
| Status | Descrição |
|---|---|
UNALLOCATED | Sem alocação (0%) |
PARTIALLY_ALLOCATED | Alocação parcial (1-99%) |
FULLY_ALLOCATED | Alocação completa (100%) |
Visualizar alocação de transação
Consulte grupos de correspondência para visualizar detalhes de alocação para transações dentro de uma execução de correspondência.cURL
Resposta (exemplo de alocação)
Exemplo de alocação parcial
Transação com valor não alocado restante:Correspondências parciais
Por padrão, o Matcher requer alocação total. Habilite correspondência parcial para cenários onde a correspondência completa não é possível.
Habilitar correspondência parcial
Comportamentos de correspondência parcial
| Comportamento | Descrição |
|---|---|
propose_with_residual | Criar correspondência, rastrear residual |
create_exception | Criar exceção para porção não correspondida |
hold_for_review | Reter até chegarem transações adicionais |
Resposta de correspondência parcial
Solucionador de grafo
Para cenários N:M complexos, o Matcher usa um solucionador de grafo bipartido para encontrar correspondências ótimas.
Como funciona
- Construir Grafo: Criar grafo bipartido com origens e destinos como nós
- Pesos das Arestas: Calcular confiança de correspondência como pesos das arestas
- Resolver: Encontrar correspondência de peso máximo
- Alocar: Distribuir valores entre pares correspondidos
Configuração do solucionador de grafo
Algoritmos do solucionador
| Algoritmo | Melhor Para | Complexidade |
|---|---|---|
hungarian | Grafos pequenos (<100 nós) | O(n³) |
auction | Grafos médios (<1000 nós) | O(n² log n) |
greedy | Grafos grandes (>1000 nós) | O(n log n) |
Executar solucionador de grafo
O solucionador de grafo é executado automaticamente durante a correspondência quando a correspondência N:M está habilitada. Acione uma execução de correspondência para invocar o solucionador:cURL
Resposta
Regras de tolerância
Configure como a tolerância se aplica a correspondências divididas e agregadas.
Modos de tolerância
| Modo | Descrição | Caso de Uso |
|---|---|---|
residual | Aplicar ao valor final não correspondido | Padrão, mais comum |
per_item | Aplicar a cada transação | Correspondência rigorosa |
total | Aplicar à soma de todas as transações | Correspondência flexível |
Configurar modo de tolerância
Exemplos de tolerância
Modo Residual (Padrão):- Origem: $10.000,00
- Destinos: $9.980,00 total
- Residual: $20,00 (0,2%)
- Tolerância: 1% = $100,00
- Resultado: Correspondência (residual dentro da tolerância)
- Origem: $10.000,00
- Destino 1: $5.010,00 (0,2% de variância)
- Destino 2: $4.980,00 (0,4% de variância)
- Cada um dentro da tolerância de 1%
- Resultado: Correspondência (todos os itens dentro da tolerância)
Descoberta automática
O Matcher pode descobrir automaticamente padrões divididos e agregados.
Habilitar descoberta automática
Heurísticas de descoberta
| Heurística | Descrição |
|---|---|
| Soma de valores | Encontrar combinações que somam ao destino |
| Padrões de referência | Corresponder com base em referências comuns |
| Agrupamento temporal | Agrupar transações por proximidade de data |
| Agrupamento por contraparte | Agrupar pela mesma contraparte |
Visualizar grupos descobertos
Grupos descobertos aparecem como correspondências propostas nos resultados da execução de correspondência:cURL
Resposta
Relatórios
Resumo de correspondência de grupo
cURL
Melhores práticas
Comece com 1:N e N:1 antes de N:M
Comece com 1:N e N:1 antes de N:M
A correspondência muitos-para-muitos é complexa. Comece com padrões mais simples e habilite N:M apenas quando necessário.
Defina limites razoáveis de tamanho de grupo
Defina limites razoáveis de tamanho de grupo
Grupos grandes são mais difíceis de verificar. Limite o tamanho do grupo com base nos seus requisitos de auditoria.
Use descoberta automática com revisão
Use descoberta automática com revisão
Habilite a descoberta automática para encontrar padrões, mas exija revisão humana antes de confirmar correspondências complexas.
Monitore residuais
Monitore residuais
Acompanhe os valores residuais ao longo do tempo. Residuais crescentes podem indicar problemas sistemáticos de correspondência.
Documente regras de alocação
Documente regras de alocação
Quando múltiplas estratégias de alocação são possíveis, documente por que alocações específicas foram escolhidas.
Teste o solucionador de grafo com dados de amostra
Teste o solucionador de grafo com dados de amostra
Antes de habilitar o solucionador de grafo em produção, teste com dados representativos para verificar os resultados.

