Skip to content
Bankautomation

Automated reconciliation software for banks: auto-match and auto-close under approved rules

Automated reconciliation software for banks matches statement, settlement and ledger records without manual ticking, under tolerances your controller approves, and closes only what those rules can defend. Every vendor in this category quotes a match rate. The number is close to meaningless on its own, because a match rate can be bought with a loose tolerance, and a loose tolerance is a control you gave away.

Run the demo

camt.053 · NOSTRO USD · value date 03 sep 2026

Nostro cash break, sample data

Match rate

75.0%

Breaks

4

At risk

$533.9k

Oldest

4d

Date ±1d
Amount

This console matches the first rows a side. It left out statement and ledger , so anything in them is not counted below. To run a full file, .

BRK-001

Aged 0d

$219,105.40

2026-09-03 · both sides

REF//FX/SPOT/7741 · INTERBANK FX DESK

Amount differs by 164.80 USD (0.075%)

Re-price the ledger leg on the correspondent rate source for the value date and post 164.80 USD to FX variance.

FX RATE SOURCE

→ Treasury Ops

BRK-002

Aged 4d

$187,650.00

2026-08-30 · ledger

PAY/90012/R · KESTREL LOGISTICS

Second ledger entry for 187,650.00 USD against REF//PAY/90012

Confirm the original entry REF//PAY/90012 cleared, then reverse this posting under maker-checker and note the reversal on the original item.

DUPLICATE POSTING

→ Finance

BRK-003

Aged 0d

$123,760.00

2026-09-03 · both sides

REF//TRF/554121 · HALCYON TRADING

Statement 61,880.00 vs ledger 123,760.00 (50% short)

Split the ledger posting and match the settled leg; leave the residual 61,880.00 USD open against the same reference.

PARTIAL SETTLEMENT

→ Payments Ops

BRK-004

Aged 0d

$3,410.00

2026-09-03 · statement

REF//CHG/Q3FEES · CORRESPONDENT CHARGES

On the statement, nothing in the ledger

Post 3,410.00 USD to the charges account for the period and add it to the standing accrual so it stops surfacing as a break.

FEE NOT ACCRUED

→ Finance

Everything matched under these tolerances.

Tighten the date or amount tolerance to see the breaks it was absorbing.

Correspondent statement

camt.053 · NOSTRO USD

Value date Reference Amount
2026-09-02 REF//NONREF/2026090301 1,284,500.00
2026-09-02 REF//INV/88231 96,400.00
2026-09-03 REF//TRF/554120 452,180.25
2026-09-03 REF//FX/SPOT/7741 218,940.60
2026-09-01 REF//SEPA/33421 74,220.00
2026-09-03 REF//CHG/Q3FEES 3,410.00
2026-09-03 REF//TRF/554121 61,880.00
2026-09-02 REF//PAY/90012 187,650.00
2026-09-02 REF//INV/88245 242,015.00
2026-09-03 REF//TRF/554133 18,905.50
2026-09-01 REF//PAY/90044 505,300.00
2026-09-03 REF//INV/88260 132,640.75

Internal nostro ledger

Core banking export

Value date Reference Amount
2026-09-02 NONREF/2026090301 1,284,500.00
2026-09-02 INV/88231 96,400.00
2026-09-03 TRF/554120 452,180.25
2026-09-03 FX/SPOT/7741 219,105.40
2026-08-31 SEPA/33421 74,220.00
2026-09-02 PAY/90012 187,650.00
2026-09-03 TRF/554121 123,760.00
2026-08-30 PAY/90012/R 187,650.00
2026-09-02 INV/88245 242,015.00
2026-09-03 TRF/554133 18,905.50
2026-09-01 PAY/90044 505,300.00
2026-09-03 INV/88260 132,640.75
Matched pairs are tinted on both sides. Breaks carry the brass left rule and appear in the worklist.

Sample data only. Matching runs in your browser; classification is written by the model when you press Run. Matching done in your browser. Writing classifications… Classifications written by the model on this run. Decision support, not a compliance determination. The classification model was unavailable, so the built-in rule classifier wrote these. Same matching, same numbers. This console classifies up to 12 runs a minute and this run went over, so the built-in rule classifier wrote these. Same matching, same numbers. Wait a minute for the model, or . The model wrote the first 8 classifications; the rule classifier wrote the remaining .

Open the full resolver

How a match rate is manufactured

Widen the value date window to five days, set the amount tolerance to one percent and normalize references aggressively, and almost anything will match something. The break count drops, the dashboard turns green, and the differences that mattered are now inside the tolerance where nobody will ever look at them again.

The honest way to read a match rate is together with three other numbers: how much of the match came from the exact pass rather than the tolerance pass, what value sits inside the tolerances, and how old the oldest unresolved item is.

Exact

Matched on reference, amount and value date, no judgement required

Tolerance

Matched by an approved rule, with the rule recorded on the item

Break

Not matched, classified, owned and aged

Aged

Open beyond its threshold, escalated rather than absorbed

Auto-match is fine. Auto-close is where banks get hurt

Automatically pairing two records that agree under an approved rule is exactly what the software is for. Automatically closing an item that does not agree, because it is small or old or awkward, is a write-off, and a write-off is a decision that needs a person, a reason code and an approver.

Bankautomation draws that line in the product. Matching is automatic. Closing an unmatched item is an action, taken by a named user, approved by a second one where the amount or type requires it, with the reason attached to the item forever.

What actually raises a real match rate

  1. 01Reference normalization that understands payment references rather than stripping characters at random.
  2. 02A value date window set per account, because a correspondent in a different time zone is not the same case as an internal transfer.
  3. 03Fee and charge handling, so deducted amounts stop presenting as amount mismatches every single day.
  4. 04Duplicate detection on the ledger side, so a re-presented payment does not consume the wrong statement line.
  5. 05Feeding resolved breaks back into rules, so a difference you explained once stops arriving as a surprise.

The two pass matcher, and why order matters

Step 01

Pass one: exact key

Normalised reference, amount to the cent and value date all agree. No tolerance, no judgement. On healthy data this clears the overwhelming majority and it should be the number you watch.

Step 02

Pass two: tolerance

What is left is matched under approved rules, with the rule that fired recorded on the match. Because pass one has already run, tolerance is never applied to a pair that would have matched exactly.

Step 03

Grouping and splitting

Many to one for batched postings and one to many for split settlements, with every leg consumed by the match recorded against it.

Step 04

Residue

Whatever remains becomes an exception with a classification, an age, an owner and a suggested action.

Running tolerance first is a common and damaging shortcut. It produces a higher headline match rate and a lower quality result, because a pair that would have matched exactly can be consumed by a looser rule against the wrong counterpart. Order is not a preference here, it is a correctness requirement.

Grouped and split matches, where the volume hides

Two structural cases account for a surprising share of unmatched items and neither is a tolerance question. A batched posting is one entry on one side and many items on the other. A split settlement is one instructed item settled in parts. If the matcher can only pair one to one, both arrive as breaks every single day, and widening a tolerance makes the population worse rather than better because it starts consuming the wrong counterparts.

The handling that works is explicit many to one and one to many matching, with every leg consumed by the match recorded against it so the audit trail shows which items formed the group. A residual left over from a split should stay open against the original reference rather than being absorbed, because that residual is the outstanding exposure.

Re-running a reconciliation without rewriting history

Reconciliations get re-run. A statement is redelivered, a ledger export was incomplete, a rule was corrected. What must not happen is that the re-run silently replaces the earlier result, because somebody may already have worked items from it and an auditor may later ask what was known on the day.

  • A re-run is a new run with its own timestamp, not an overwrite of the previous one.
  • Actions taken on items from the earlier run survive and are carried forward, with their actor and reason intact.
  • The rule version that produced each match is recorded on the match, so an old result stays explainable under an old rule.
  • A redelivered file is detected as a redelivery rather than ingested as new activity, which is the same duplicate detection that stops a statement being loaded twice.

Straight through processing, honestly defined

Straight through processing is often quoted as a percentage without saying what it counts. Two definitions are in common use and they can differ by twenty points on the same data: the proportion of items that matched without human intervention, and the proportion of items that reached a final state without human intervention. The second is the meaningful one, because an item that matched automatically and then required a person to release it did not go straight through anything. When comparing tools or reporting internally, state which definition is in use, once, and then keep using it.

See both numbers move

The resolver reports exact matches and tolerance matches separately, on purpose. Change a tolerance and watch which number moves. If only the tolerance number is moving, you did not improve the reconciliation, you improved the report about it.

Questions about automated reconciliation software

What is a realistic match rate?

It depends entirely on the account, the counterparty discipline and the format quality, and any vendor quoting you a universal number is quoting marketing. The useful target is a high exact match rate on stable accounts, a small and steady tolerance band, and a break population that gets worked to zero every day.

Can rules learn from what we resolve?

Resolved breaks are the raw material for rule proposals: recurring differences of the same shape are surfaced so your team can decide whether to encode a tolerance or fix the upstream cause. The decision to change a rule stays with your team, under approval.

Do you support many to one and many to many matching?

Yes, grouped matching for batched postings and split settlements is part of the engine, and a grouped match records every leg it consumed.

What happens when a source file arrives twice?

Duplicate file detection stops the same statement being ingested twice, and duplicate posting detection catches the case where the ledger itself carries the same entry two times.

More banking automation pages

Every process line we cover, in one place.

Account reconciliation software Where the differences start, account by account. Bank reconciliation software Statement against ledger, MT940 and camt.053 native. Payment reconciliation software Instructed, settled and posted, reconciled three ways. Financial reconciliation software The same engine, framed for the finance team. ATM reconciliation software Cash, switch and network settlement, balanced daily. Credit union reconciliation software Corporate, share draft, card, ATM and shared branching. ACH reconciliation software Origination, receipt, returns and FedACH settlement. Federal Reserve account reconciliation Master account, FIRD, Fedwire and FedNow against the GL. Correspondent bank reconciliation Due from, due to and respondent settlement against the GL. AML compliance software Program workflow, evidence and cadence. Not a detection model. KYC automation software Onboarding and periodic refresh, queued and evidenced. AML software for banks What to ask, and what to refuse to buy. Compliance workflow automation Maker-checker, SLAs and evidence as a system property. BSA AML monitoring software Alert triage as a worklist, not a second inbox. RPA for banks Why screen-scraping bots break, and what replaces them. General ledger reconciliation software Sub-ledger to GL, and the suspense account nobody owns. Balance sheet reconciliation software Certification, sign-off and the quarter-end pack. ISO 20022 payment automation Structured data, repair rates and CBPR+ deadlines. Nostro reconciliation automation The most bank-specific reconciliation there is.

Get started

Put your first reconciliation on rails

Create an account, and we will email you how onboarding works and what a first source connection looks like. The Reconciliation Break Resolver is open to try right now, on sample data, without an account.

Run the demo

No card required to create an account. Sample data only in the demo. Bankautomation is operations software, not a regulated service.