Note

Bank Statement Formats: MT940 vs camt.053 vs BAI2

MT940, camt.053 and BAI2 are the main bank statement formats treasury systems import. MT940 is the legacy SWIFT flat file, camt.053 the modern ISO 20022 XML, BAI2 a US format — how they differ and which to use.

·4 min read·#treasury#architecture#bank-connectivity#iso-20022

MT940, camt.053 and BAI2 are the main formats a bank statement arrives in, and a treasury system has to import whatever its banks send. MT940 is the legacy SWIFT flat-file standard — compact and everywhere, but limited in structure. camt.053 is the modern ISO 20022 XML statement — richer and more structured, the direction the industry is moving. BAI2 is a flat-file format used mainly in the US. The format matters because it determines how much a system can automatically reconcile versus how much a human has to touch.

What these formats are

All three are end-of-day bank statements — the file a bank sends reporting the prior day's opening and closing balances and every transaction. Your treasury system imports it to build the cash position and reconcile. (There are intraday cousins too — more below.) Remember the distinction from the connectivity channel: the format is what the file says; the channel is how it travels.

MT940

MT940 is the SWIFT Customer Statement Message — a flat file of tagged fields (account, opening/closing balances, and a line per transaction). It's compact, mature and extremely widely supported, which is why it's still the workhorse in many landscapes. Its weakness is structure: transaction detail is often packed into free-text fields, so richer information (remittance data, structured references) can be lost or hard to parse, which limits automatic matching. Its intraday sibling is MT942 (interim transaction report).

camt.053

camt.053 is the ISO 20022 Bank-to-Customer Statement — an XML end-of-day statement with a defined, structured schema. Because the data is structured rather than free-text, it can carry richer, cleaner information — better structured references and remittance detail — which supports higher automatic reconciliation rates. It's the direction of travel as the industry migrates to ISO 20022. Its relatives: camt.052 (intraday report) and camt.054 (debit/credit notification).

BAI2

BAI2 is a statement format from the Bank Administration Institute, used mainly in the United States. Like MT940 it's a structured flat file, reporting balances and transactions with numeric type codes that classify each entry. If your banks are US-based, BAI2 is common; outside the US, MT940 or camt.053 dominate.

Comparison

MT940camt.053BAI2
TypeSWIFT flat fileISO 20022 XMLFlat file (US)
StructureLimited; free-text detailRich, structured schemaStructured, type-coded
Auto-reconciliationModerateHigher (structured data)Moderate
GeographyGlobal, legacyGlobal, growingMainly US
Intraday siblingMT942camt.052(intraday BAI variants)
Direction of travelBeing supersededThe target standardUS-specific

Why the format matters

It's not a technicality — it decides how much of reconciliation is automatic. Structured data (camt.053) lets the system match statement lines to expected items and open receivables with less human intervention; free-text-heavy formats (MT940) leave more to manual matching or fragile parsing rules. When teams complain that "reconciliation is manual," the statement format and how it's mapped is often part of the cause.

Which to use, and migration

You largely take what your banks offer, but the strategic direction is camt.053 / ISO 20022 for its richer data. Treat any move as a per-bank migration: confirm each bank's camt variant, map and test it against real statements, and expect to run MT940 and camt.053 in parallel through the transition. Don't assume one bank's camt file behaves like another's.

What usually goes wrong

  • Assuming camt is uniform. Bank-specific variations mean each camt.053 still needs mapping and testing.
  • Losing data in MT940. Relying on free-text fields for references that then can't be parsed reliably.
  • Format vs channel confusion. Agreeing a channel (SWIFT, host-to-host) without settling the statement format per bank.
  • No reconciliation testing. Going live without testing statements against real reconciliation scenarios, then discovering the auto-match rate is poor.

Get the format and its mapping right per bank, favour structured formats where you can, and reconciliation quietly gets easier.


Part of the Treasury Systems Architecture guide. See also bank connectivity channels and ISO 20022 payments. The newsletter sends one finance-systems pattern every two weeks.

Built with in Amsterdam( ) by Gravam