CAMT.053, MT940 and BAI2: the corporate statement formats
If you handle a group with European or multinational subsidiaries, these three turn up sooner or later. They are bank-to-corporate formats, and they are a different world from a .qbo download.
What they have in common
All three are designed for a bank to deliver statements to a corporate treasury or ERP system automatically, usually daily, usually over a file transfer rather than a website. None is something you download from consumer online banking, and none is aimed at a person reading it.
They carry more than a consumer format does: value dates alongside booking dates, structured counterparty details, bank reference numbers, and reason codes for returns and reversals.
None of these three are formats we produce — where a subsidiary’s bank offers only a corporate feed you cannot consume, the practical route is to convert the PDF statement instead.
CAMT.053 — the ISO 20022 one
Formally camt.053.001.xx, the Bank to Customer Statement message. XML, deeply nested, and the direction European banking has settled on as SWIFT MT messages are retired.
It is verbose by design: a single transaction carries booking date, value date, amount with an explicit currency, a structured bank transaction code, and remittance information which may itself be structured. That richness is why treasury systems want it, and why it is unpleasant to read by hand.
MT940 — the SWIFT one it replaces
A SWIFT message format, tag-based and compact, and still very widely used. Rather than XML it uses numbered tags at the start of lines.
:20: reference
:25: account identification
:60F: opening balance
:61: a statement line
:86: information to the account owner
:62F: closing balanceThe :86: field is where interoperability goes to die. It is free text in principle, and every bank has structured it differently in practice, so a parser that works for one bank frequently fails on another.
BAI2 — the US equivalent
Bank Administration Institute format, the one US banks use for corporate cash reporting. Fixed record types identified by a leading number — 01 file header, 02 group, 03 account, 16 transaction detail, and closing records to match.
Its transaction type codes are numeric and standardised, which is genuinely useful for automated posting, and it is far more compact than CAMT. If you work with US corporate banking and have not met CAMT.053, this is probably why.
What to do if you have been handed one
- Check whether your accounting system reads it. Zoho Books accepts CAMT.053, and most treasury and ERP systems handle all three. Small-business packages generally handle none.
- Ask the bank for CSV or OFX as well. Corporate portals often offer both alongside the feed.
- Where neither is available, the PDF statement is the fallback everyone forgets — it exists for every account, covers every period, and converts.
We do not export these formats, and nothing here converts into them. This post exists because knowing what they are saves an afternoon of trying to make one work in software that was never going to read it.
CAMT.052, .053 and .054 are three different messages
The ISO 20022 family is often referred to as "CAMT" as though it were one thing. Three messages matter, and receiving the wrong one accounts for a surprising share of confusion.
- camt.052 — an intraday report. What has happened so far today, provisional, and not a statement.
- camt.053 — the statement proper. Final, for a closed period, and the one that reconciles.
- camt.054 — a debit or credit notification. Advice that something specific happened, not a period summary.
Reconciling against a .052 will not work and is not meant to, because the day is not over. If figures never quite agree, checking which message the bank is actually sending is worth doing before anything else.
How the three map onto each other
MT940 and camt.053 carry broadly the same information, which is why migrations between them are possible at all. The mapping is lossy in one direction: camt.053 has structured fields for things MT940 pushes into free text, so converting camt to MT940 discards structure, and going the other way cannot invent it.
BAI2 sits apart. Its transaction type codes are numeric and standardised across US banks, which makes automated posting rules genuinely portable — something neither of the others manages, since MT940’s free-text field and camt’s bank-specific codes both vary by institution.
Related
Bank statement file formats: a complete reference
Every format bank statements come in or convert to — CSV, Excel, OFX, QBO, QFX, QIF, IIF, Tally XML, CAMT.053, MT940, BAI2 — and what each requires.
ReadThe OFX format, explained for accountants
OFX is the format underneath QBO and QFX, and the one most non-Intuit software accepts. What it contains, how to read one, and why it needs no bank ID.
ReadCSV or Excel for bank statement data: which should you use?
CSV imports everywhere and loses everything. Excel keeps types and is refused by half the importers. Which to pick, and the traps in each.
Read