Pular para o conteúdo principal
Este guia apresenta um fluxo completo de conciliação usando o Matcher. Você irá definir um contexto de conciliação, configurar fontes e regras, ingerir dados de transações, executar jobs de matching e revisar os resultados.

Pré-requisitos


Antes de começar, certifique-se de ter:
Matcher instalado e em execução (Guia de instalação)
Acesso à API do Matcher com um token de autenticação válido
Arquivos de transações de exemplo (fornecidos abaixo)

Dados de exemplo


Este exemplo concilia um extrato bancário contra registros internos do ledger usando dois arquivos CSV.

Bank_statement.csv

transaction_id,amount,currency,date,reference
BANK-001,1000.00,USD,2024-01-15,Invoice payment
BANK-002,250.50,USD,2024-01-16,Subscription fee
BANK-003,500.00,USD,2024-01-17,Consulting services
BANK-004,75.00,USD,2024-01-18,Office supplies

Ledger_transactions.csv

transaction_id,amount,currency,date,reference
LED-001,1000.00,USD,2024-01-15,Invoice payment
LED-002,250.50,USD,2024-01-16,Monthly subscription
LED-003,500.00,USD,2024-01-17,Consulting services
LED-005,120.00,USD,2024-01-19,Travel expenses
Resultado esperado:
  • Três pares de transações são conciliados
  • Uma transação bancária e uma transação do ledger permanecem não conciliadas
  • Transações não conciliadas são criadas como exceções

Passo 1: criar um contexto de conciliação


Crie um contexto de conciliação para definir o escopo da conciliação.

Request

cURL
curl -X POST "https://api.matcher.example.com/v1/config/contexts" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "name": "Banco vs Ledger - Janeiro 2024",
   "type": "1:1",
   "interval": "daily"
 }'

Response

{
  "id": "969a11cd-6b7d-4e71-b82b-0828e0603149",
  "tenantId": "11111111-1111-1111-1111-111111111111",
  "name": "Banco vs Ledger - Janeiro 2024",
  "type": "1:1",
  "interval": "daily",
  "status": "ACTIVE",
  "feeToleranceAbs": "0",
  "feeTolerancePct": "0",
  "createdAt": "2024-01-20T10:00:00Z",
  "updatedAt": "2024-01-20T10:00:00Z"
}
Referência da API: Criar contexto
Guarde o ID do contexto. Ele é necessário nas etapas seguintes.

Passo 2: adicionar fontes de dados


Anexe as fontes de dados que serão conciliadas dentro deste contexto.

Fonte bancária

Request

cURL
curl -X POST "https://api.matcher.example.com/v1/config/contexts/{contextId}/sources" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "name": "Extrato Banco Chase",
   "type": "BANK"
 }'

Response

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "contextId": "969a11cd-6b7d-4e71-b82b-0828e0603149",
  "name": "Extrato Banco Chase",
  "type": "BANK",
  "config": {},
  "createdAt": "2024-01-20T10:01:00Z",
  "updatedAt": "2024-01-20T10:01:00Z"
}
Referência da API: Criar fonte

Fonte do ledger

Request

cURL
curl -X POST "https://api.matcher.example.com/v1/config/contexts/{contextId}/sources" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "name": "Ledger Principal",
   "type": "LEDGER"
 }'

Response

{
  "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "contextId": "969a11cd-6b7d-4e71-b82b-0828e0603149",
  "name": "Ledger Principal",
  "type": "LEDGER",
  "config": {},
  "createdAt": "2024-01-20T10:02:00Z",
  "updatedAt": "2024-01-20T10:02:00Z"
}
Referência da API: Criar fonte

Passo 3: criar uma regra de match


Defina como as transações são comparadas durante a conciliação. Este exemplo aplica um match exato em valor, moeda e data.

Request

cURL
curl -X POST "https://api.matcher.example.com/v1/config/contexts/{contextId}/rules" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "type": "EXACT",
   "priority": 1,
   "config": {
     "fields": ["amount", "currency", "date"]
   }
 }'

Response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "contextId": "969a11cd-6b7d-4e71-b82b-0828e0603149",
  "type": "EXACT",
  "priority": 1,
  "config": {
    "fields": ["amount", "currency", "date"]
  },
  "createdAt": "2024-01-20T10:03:00Z",
  "updatedAt": "2024-01-20T10:03:00Z"
}
Referência da API: Criar regra de match

Passo 4: fazer upload dos arquivos de transações


Faça upload dos dados de transações para cada fonte configurada.
Aguarde até que ambos os jobs de ingestão sejam concluídos antes de iniciar o job de matching.

Passo 5: executar o job de matching


Comece com um dry run para visualizar os resultados da conciliação sem persistir as alterações.

Dry run

cURL
curl -X POST "https://api.matcher.example.com/v1/matching/contexts/{contextId}/run" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "mode": "DRY_RUN"
 }'
Referência da API: Executar match

Revisar resultados

O dry run retorna:
  • Matches propostos com scores de confiança
  • Transações não conciliadas classificadas como exceções
  • Um resumo da efetividade da conciliação

Passo 6: confirmar resultados


Se os resultados visualizados estiverem corretos, execute o job novamente usando o modo COMMIT para finalizar a conciliação.
cURL
curl -X POST "https://api.matcher.example.com/v1/matching/contexts/{contextId}/run" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "mode": "COMMIT"
 }'
Referência da API: Executar match

Entendendo os resultados


Após a conciliação:
  • Matches de alta confiança são automaticamente confirmados
  • Transações não conciliadas são registradas como exceções
  • Todas as ações são persistidas no log de auditoria
Agora você pode revisar, rotear ou resolver exceções conforme necessário.

Resumo


Este início rápido cobriu o ciclo de vida completo da conciliação:
1

Contexto definido

Escopo da conciliação estabelecido
2

Fontes adicionadas

Fontes bancárias e do ledger configuradas
3

Regras criadas

Lógica de matching exato aplicada
4

Dados ingeridos

Arquivos de transações enviados
5

Matching executado

Dry run revisado e resultados confirmados
6

Exceções identificadas

Transações não conciliadas isoladas

Próximos passos