Skip to content
Bankautomation

ISO 20022 payments automation and reconciliation software: the structured data you paid for

ISO 20022 gives payments a vocabulary: structured parties, structured remittance information, purpose codes, and an end to end identifier that is supposed to survive the whole chain. The migration is expensive. The return only arrives if downstream systems actually use the structure instead of flattening it.

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

The flattening problem

A bank spends two years enriching payment messages, then feeds them into a reconciliation process that reads a concatenated narrative string, because that is what the previous format provided. The structure is discarded at exactly the point where it would have paid for itself, and the repair queue does not move.

Bankautomation reads the message as a message. Structured references are matched as references, party fields as parties, and the end to end id is a first-class key rather than a substring somewhere inside a narrative.

The message families that matter for reconciliation

MessageDirectionReconciliation role
pain.001 Customer to bank The instruction as the customer asked for it
pacs.008 Bank to bank The interbank instruction, carrying the end to end id
pacs.002 Status report Accepted, rejected or pending, tied to the original
pacs.004 Return Money coming back, with a reason code and the original reference
camt.053 Statement What the account actually shows at end of day
camt.054 Notification Intraday debit and credit advices for pending matching
camt.056 Cancellation request A recall in flight, which changes what should match

Swipe the table sideways to read every column.

What structured data does to matching

  • End to end id preserved across pacs.008 and camt.053 turns a fuzzy match into an exact one.
  • Structured remittance means an invoice reference is a field, not a substring somebody parses with a regular expression.
  • Purpose codes let routing and classification rules be written in business terms.
  • Proper party fields cut the repairs caused by names and addresses jammed into one line.
  • Return reason codes tie a returned payment to its original instruction automatically.

Coexistence is the hard part

For a long stretch, some correspondents send MT and some send MX, and the same payment can arrive in either shape on different legs. That is not a reason to postpone automation, it is a reason to buy a system that reads both natively and reconciles across them, so a truncated MT leg does not break the chain your MX leg established.

The fields that decide whether matching is automatic

A pacs.008 carries a lot and only a handful of elements determine whether your reconciliation matches without a person. Knowing which ones, and verifying that they arrive populated from each source, is more valuable than any amount of rule writing.

ElementWhy matching depends on itWhat to verify per source
EndToEndId The originator key that should reach the statement entry That it survives the chain and appears on the statement
UETR Identifies the payment through every hop Whether the reporting bank carries it onto the statement
IntrBkSttlmAmt and Dt The amount and date a tolerance is measured against Whether the ledger keys on the same date concept
ChrgBr and ChrgsInf Predicts whether the arriving amount is net That charges are read on ingestion rather than inferred later
RmtInf structured Carries invoice references usable as secondary keys Whether it is populated or sent as free text

Swipe the table sideways to read every column.

None of that requires a project. It requires a sample of real files from each source and an afternoon, and it produces a per source picture that predicts the reconciliation result far more accurately than a vendor benchmark.

Repair rate, and how to make it actionable

A repair is a payment stopped by a field that is missing, malformed or ambiguous. It costs the time to fix and it usually costs a second time, because a repaired payment frequently continues with a rewritten reference and stops matching at the far end. The measurement that turns this from a complaint into a work plan is recording which field caused each repair and counting by field for a month.

The list is always shorter than expected. In most banks two or three causes dominate: a party field arriving as free text from one channel, a reference format that one originator uses, or a purpose code that arrives empty. Each of those is a fix in one place, upstream, that removes a permanent operational cost rather than managing it.

Structured remittance, and why it is under-used

The structured remittance block can carry referenced document types, numbers, amounts and dates as fields rather than as a sentence. It is the element that lets a corporate customer's invoice reference arrive intact and be used as a matching key. It is also the element most often populated correctly and then ignored, because the receiving process was built to read free text and nobody revisited it after the migration.

The check is simple and worth running: take a sample of incoming payments that carry structured remittance and ask whether anything in your reconciliation actually reads it. If the answer is no, the structure your correspondents are sending is being paid for and discarded, and enabling it is configuration rather than a project.

MT is still inside your bank, whatever the network says

The network position and the internal position are different things. Even where MX is the standard on the wire, a bank typically still meets MT on some domestic schemes, in older bilateral arrangements, in internal interfaces built before the migration and across every archive it holds for investigations. Treating MT support as a legacy embarrassment to be removed creates gaps precisely where investigations need to reach. Treating format as an attribute of the source, with parsing retained for as long as any source uses it, costs very little and removes an entire class of avoidable problem.

The background reading is ISO 20022 explained and the CBPR+ migration. The operational companion to this page is payment reconciliation software.

Questions about iso 20022 payments

Do you convert MT to MX or the other way?

Translation belongs in your payments stack. What we do is read both natively for matching and reconciliation, so you do not need a translation step just to reconcile during coexistence.

Will this cut our repair rate?

Repair volume falls when structured data is preserved and used, which is a property of your whole chain, not of one product. What we can do is measure repairs by classification so you can see which upstream field is actually causing them.

Does it handle CBPR+ specifics?

CBPR+ usage guidelines constrain how fields are populated on cross border payments. Matching rules can be written against those constrained fields, which is exactly what makes the structured data useful.

What about Fedwire and FedNow?

US rails have their own ISO 20022 timelines and formats. The Fedwire and FedNow post covers what is different and what it means for reconciliation.

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. Automated reconciliation software Match rates, tolerances, and what auto-match must never mean. 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. 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.