Context
A context defines what you’re reconciling. It’s the container that holds your sources, rules, and results.
A context answers: what am I matching against what?
Context types
Example
A context named “Chase Bank vs ERP System” would:- Define Chase Bank as one reconciliation source
- Define your ERP system as another source
- Specify the rules used to reconcile transactions between them
Source
A source is where transactions come from. Every context needs at least two sources—that’s what you’re reconciling.
Source types
- LEDGER: Internal ledger systems (including Midaz)
- BANK: Bank statement feeds
- GATEWAY: Payment gateway settlements (Stripe, Adyen, PayPal)
- CUSTOM: Bespoke, user-defined feeds
- FETCHER: Sources pulled automatically by the discovery engine (aggregator connections)
Source setup
Each source requires:- Name: Label it (e.g., “Chase Checking”)
- Type: Category (
LEDGER,BANK,GATEWAY,CUSTOM, orFETCHER) - Side: Which matching side it feeds (
LEFTorRIGHT) - Config: Source-specific connection and parsing settings
Field map
A field map translates external field names into Matcher’s standard schema. Every system calls things differently—field maps normalize that.
Standard fields
The canonical vocabulary is closed — a field map that declares any other key is rejected.
Example mapping
A bank statement exposingTXN_ID, VALUE, CCY, and POST_DATE would be mapped as:
Match rule
A match rule tells Matcher how to compare transactions. Rules run in priority order—first match wins.
Rule types
- EXACT: Fields must match exactly (amount, date, reference)
- TOLERANCE: Allow small differences (0.5% variance, $10 absolute)
- DATE_LAG: Match within a date window (±3 days). Like FUZZY, DATE_LAG matches never auto-confirm — they always go to manual review.
- FUZZY: Graded similarity on references/descriptions (normalized, substring, or similarity-scored). FUZZY only proposes—it never auto-confirms, so a human reviews every fuzzy link.
Priority order
Lower numbers run first. Matcher stops at the first matching rule.Rule parameters
Match
A match is when transactions from different sources are reconciled together. It’s the end goal.
Match status
Match patterns
1:1 match
One transaction from each source is reconciled.1:N match
One transaction is reconciled against multiple transactions.N:1 match
Multiple transactions are reconciled against a single transaction.Match items
Each match group contains match items, which record transaction participation and allocation. This enables partial reconciliation in split and aggregation scenarios.Exception
An exception is a transaction that didn’t match. It needs manual review.
Exception status
Severity
Matcher auto-classifies exceptions so you know what to prioritize.Resolution types
- Force match: Manually reconcile transactions
- Adjustment: Record a compensating adjustment
- Write-off: Close the exception with justification
Confidence score
A confidence score indicates the reliability of an automated match on a 0–100 scale. Higher scores represent stronger alignment between transactions.
Score calculation
Confidence tiers
Confidence weights and tier thresholds are fixed by the engine and are not configurable.
Audit log
An audit log is an immutable record of all system actions. It provides full traceability for operational review, audits, and regulatory compliance.
Logged events
Audit entries are created for:- Context, source, and rule changes
- File ingestion and processing
- Match confirmations and rejections
- Exception resolution and overrides
Audit entry contents
Next steps
Architecture
See how these concepts are implemented across bounded contexts.
Quick start
Apply these concepts in a guided, hands-on flow.

