The formats are the first fight
An MT940 arrives as fixed tags with a free format field 86 that every correspondent fills differently. A camt.053 arrives as XML with structured party and remittance data, entry status and bank transaction codes. A core banking export arrives as whatever the core team could produce. Bookkeeping tools ask you to flatten all three into a CSV and lose the structure that makes matching possible.
Bankautomation treats these as first-class inputs. Structured references stay structured, entry status is preserved, and reference normalization is a rule you configure rather than a search and replace you run by hand.
| Source | What it carries | What matching uses |
|---|---|---|
| camt.053 | Statement entries, status, bank transaction codes, structured references | End to end id, amount, value date, entry status |
| camt.054 | Debit and credit notifications, intraday | Notification reference against the pending posting |
| MT940 / MT950 | End of day statement, tag 61 and 86 narrative | Reference in tag 61, amount, value date, parsed narrative |
| MT942 | Intraday transaction report | Same as MT940, matched against pending items |
| Settlement file | Scheme or network net settlement and fees | Batch reference, net amount, settlement date |
| Core export / CSV | Whatever your core produces | Mapped fields, with the mapping versioned |
Two pass matching, and rules you can read
The first pass matches on an exact key: normalized reference, amount to the cent, and value date. It is fast, it is boring, and it should clear the overwhelming majority of a normal day. The second pass takes what is left and matches under the tolerances your team has agreed: a value date window for cut-off differences, an amount tolerance for rounding or rate source, and a reference normalization rule for prefix noise.
Both passes record what they did. A match is not a fact, it is a decision with a rule behind it, and the rule version travels with the item into the evidence pack.
The break is the product
What survives both passes is a break, and a break is a piece of work, not a red cell. Bankautomation gives every break a classification, a difference explained in plain language, a suggested action, a routing target and an age measured from the value date. That is the difference between a reconciliation report and a reconciliation that gets finished.
- FX rate source: same reference and date, amounts apart by a fraction of a percent. Re-price on the correspondent source and post the variance.
- Timing or value date: same amount, different date. Accept as timing or widen the window for that account, with the change approved.
- Duplicate posting: a second entry against a reference that already cleared. Confirm the original, reverse under maker-checker.
- Missing reference: on one side only, nothing to tie it to. Investigate with the correspondent or repair the instruction.
- Fee not accrued: a charge deducted at source that no accrual expected. Post it and fix the accrual so it stops recurring.
- Partial settlement: one side settled short. Split the posting, match the settled leg, leave the residual open.
Try it on the sample statement
The Reconciliation Break Resolver on this site runs the real matcher on a sample correspondent statement and nostro ledger. Move the value date window from one day to zero and a timing break appears. Move the amount tolerance to half a percent and the FX difference is absorbed. That is the actual control you are buying, and you can feel it before you talk to anyone.
Reading a statement properly is half the product
The difference between a reconciliation that works and one that generates its own problems is usually in the ingestion rather than in the matching. Two details account for most of it. The first is the distinction between booking date and value date: a ledger keyed on one and a statement reported on the other will produce a timing break on every item that crosses a cut-off, permanently, for no reason. The second is batched entries: a single statement entry can contain many transactions, and ingestion that stops at the entry level presents one amount where the ledger holds forty items.
- Read down to transaction level inside every entry, so a batched posting becomes the items it actually contains.
- Carry both booking date and value date, and key matching on the one that the counterparty side actually uses.
- Preserve the original reference alongside any normalised form, so an investigation can quote what was really sent.
- Detect duplicate files by statement identifier and sequence, not by filename, because filenames get reused.
- Raise an ingestion exception when a source changes shape, rather than matching less and reporting the same.
MT940 and camt.053 are not interchangeable in practice
Both are end of day statements and they carry different amounts of usable structure. MT940 gives you a statement line and a field 86 that correspondents populate according to their own conventions, which is why reference extraction from MT940 is per correspondent work rather than a single rule. camt.053 gives structured references, a party structure and charge information as fields, which means a rule can be written once and be right.
The consequence for a bank running both is that expectations should differ by source. A high exact match rate on camt.053 sources and a lower one on MT940 sources is not a failure, it is the data. What matters is that the gap is visible per source, so the difference between a correspondent worth talking to and a format doing what formats do is not lost in a blended average.
Sample data only. The demo never receives production or customer data, and nothing you paste into it is stored.
Questions about bank reconciliation software
Does it work with MT940 as well as ISO 20022?
Yes. MT940, MT942 and MT950 are parsed alongside camt.053 and camt.054, which matters during the coexistence period while correspondents migrate. See ISO 20022 payment automation for what changes when a correspondent switches.
Can two people work the same break?
A break has one owning queue and one assignee at a time, with comments and attachments on the item. Actions that change money, such as a write-off or a reversal, are proposed and approved by different people.
What about intraday reconciliation?
Intraday sources such as MT942 and camt.054 are matched against pending items so that a break is visible during the day rather than at the end of it. The end of day statement then confirms or contradicts what the intraday view showed.
How is this different from what our accounting system does?
An accounting system reconciles a bank account for a company. This reconciles a bank's own accounts, including nostro and vostro, settlement and suspense, at daily volumes and with value date logic, and it treats the exception as the object of work.
Can we start with one account?
That is the normal start: one painful account, one source pair, one set of tolerances. The Operations plan covers a single process line for exactly this reason.