Before you begin
You need:
- The Matcher API address that Lerian gives you
- A valid JWT token for authentication
- Two transaction files to reconcile (CSV, JSON, or XML)
cURL. Replace $TOKEN with your JWT token and https://api.matcher.example.com with the Matcher API address.
Step 1: Create a reconciliation context
A context defines the scope of your reconciliation: what you compare and how.
cURL
type field defines how Matcher pairs transactions:
Save the
id from the response. You will use it in every subsequent step.
The context starts in DRAFT status. It moves to ACTIVE when you are ready to run reconciliation.
Step 2: Add data sources
To run a match, configure at least two sources: the systems whose transactions you want to compare.
Create a bank source
cURL
Create a ledger source
cURL
id values. Every source needs a side (LEFT or RIGHT): the context reconciles its LEFT sources against its RIGHT sources.
Source types
Step 3: Map source fields
Your source files probably use different column names than Matcher expects. Field maps translate them into Matcher’s standard schema.
Map the bank source
cURL
Map the ledger source
cURL
Required fields
Every transaction must have these fields after mapping:
Optional:
description, fee_amount, fee_currency, and direction. Each mapping key is a Matcher field. Each value is the column name in your file, except for direction. Its value is an object {column, debit, credit} for a file that marks each row as debit or credit in a separate column. A debit row imports with a negative amount, and a credit row with a positive one.
Step 4: Create match rules
Rules define how Matcher compares transactions. Start with an exact rule, which is the most precise.
Create an exact rule
cURL
Add a tolerance rule as fallback
Catch small differences like bank fees or rounding:cURL
Rule types
Step 5: Activate the context
Move the context from DRAFT to ACTIVE:
cURL
409 Conflict and code MTCH-0103. The errors array of the response lists each missing requirement. Setup progress lists the missing requirements and the next call to make.
Step 6: Upload transaction files
Upload one file per source. Matcher accepts CSV, JSON, and XML formats via multipart form upload.
Upload bank transactions
cURL
Upload ledger transactions
cURL
cURL
COMPLETED status before running the match.
Step 7: Run matching
Start with a dry run to preview results without persisting:
cURL
runId. A dry run saves no match groups. To review its results, read the aggregate statistics of the run with Get match run.
When satisfied, run with COMMIT to persist matches:
cURL
runId from the COMMIT response. You use it in Step 8.
Step 8: Review results
View match groups
cURL
Undo an incorrect match
Use the unmatch endpoint to reject aPROPOSED match group or revoke a CONFIRMED one. Matcher returns the group’s transactions to the unmatched pool for the next run:
cURL
Step 9: Handle exceptions
Exceptions are transactions that Matcher could not match automatically. Matcher classifies each exception by severity:
List exceptions
cURL
Next steps
Contexts and sources
Full guide to context and source configuration.
Match rules
All rule types and config options in detail.
Confidence scoring
How Matcher calculates scores and what they mean.
Resolving exceptions
Handle unmatched transactions.

