Skip to main content
The five core concepts in Matcher: contexts, sources, field maps, rules, and matches. Understand these and you’ll understand how the entire system works.

Context


A context defines what you reconcile. It is the configuration container for sources and rules. Matcher creates a new context in DRAFT, and its inline sources and rules are optional.
A context answers: what am I matching against what?
You can start with an empty draft. To activate it, configure at least one LEFT source and one RIGHT source, map every source (or declare valid camt053 options, which self-map), and add a match rule. If fee normalization is enabled, add a fee rule too.

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. A draft context can start without sources; an activatable context needs at least one source on each matching side.

Source types

  • LEDGER: Ledger source category
  • BANK: Bank source category
  • GATEWAY: Payment-gateway source category
  • CUSTOM: Custom source category
  • FETCHER: A Fetcher source category

Source setup

Each source requires:
  • Name: Label it (e.g., “Chase Checking”)
  • Type: Category (LEDGER, BANK, GATEWAY, CUSTOM, or FETCHER)
  • Side: Which matching side it feeds (LEFT or RIGHT)
Config is optional. If you omit it, Matcher stores an empty config and uses parser defaults for absent policy keys. Field maps translate each source’s fields into Matcher’s standard schema.

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. When a source config declares camt053 options, Matcher uses its built-in ISO 20022 mapping and ignores a field map; activation treats that source as mapped.

Example mapping

A bank statement exposing TXN_ID, VALUE, CCY, and POST_DATE would be mapped as:

Match rule


A match rule tells Matcher how to compare transactions. Rules run in ascending priority; a transaction claimed by an earlier rule is unavailable to later rules, which still evaluate the remaining transactions.

Rule types

  • EXACT: Compares configured fields exactly. Amount, currency, date (by day), and reference are enabled by default.
  • TOLERANCE: Matches amounts inside the configured absolute and/or percentage tolerance. Omitted amount tolerances and dateWindowDays default to 0, so no drift or date window is allowed until you configure one.
  • DATE_LAG: Matches within a configured day-difference band. minDays and maxDays both default to 0 (same day), not ±3. Like FUZZY, DATE_LAG matches never auto-confirm — they always go to manual review.
  • FUZZY: Grades normalized transaction references. It uses Reference, populated from the transaction’s ExternalID; a field-map description is not a FUZZY input. FUZZY only proposes—it never auto-confirms, so a human reviews every fuzzy link.

Priority order

Lower numbers run first. A rule claims its matching transactions; later rules continue with the remaining transactions.
These priorities and values are illustrative rules, not engine defaults. Configure the values for your reconciliation policy.

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.

N:M match

Multiple transactions on each side are reconciled together. N:M evaluation only executes EXACT and TOLERANCE rules; it considers up to four transactions per side in a group and caps each identity bucket at 40 candidates.

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 records a transaction that needs review, including unmatched transactions and matched transactions with residual conditions such as FX-rate variance.

Exception status

Severity

Matcher auto-classifies exceptions so you know what to prioritize. The classifier evaluates the criteria from top to bottom. When an exception meets the criteria of more than one severity, the highest matching severity applies.

Resolution workflows

  • Resolve: Record a resolution label and optional reason to close an exception.
  • Force match: Resolve an exception by forcing a match with an override reason after manual review.
  • Adjust entry: Resolve an exception by creating an adjustment entry with a reason, notes, positive amount, currency, and effective time.

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, append-only record created by an instrumented workflow. It provides traceability for the actions Matcher records.

Logged events

Only workflows instrumented to emit an audit event create entries. When audit publishing is configured, verified producers include:
  • Context, source, field-map, and rule mutations
  • Exception workflows, including force match and adjust entry

Audit entry contents

Audit logs are append-only. Entries cannot be modified or removed.

Next steps


Architecture

See how these concepts are implemented across bounded contexts.

Quick start

Apply these concepts in a guided, hands-on flow.