camt.053 (Bank-to-Customer Statement)

The ISO 20022 message a bank sends to the customer end-of-day with all booked transactions.

camt.053 is the end-of-day bank statement: every booked transaction on the customer's account for a given booking date, with opening / closing balances and an inventory of entries. It is the inbound side of the reconciliation loop.

Each transaction is wrapped in a <Ntry> (entry) which may contain one or more <TxDtls> blocks for batched entries (multiple original transactions aggregated into a single booking). The reconciliation challenge is recovering the customer's *original* reference (typically an internal invoice id or order id) from one of six possible carrier fields inside <TxDtls>: EndToEndId, InstrId, StrdCdtrRef, Ustrd, AcctSvcrRef, SplmtryData.

Which carrier wins is bank-specific, rail-specific, and sometimes intermediary-specific — there is no standard. UBS preserves EndToEndId end-to-end on Swiss QR flows; PostFinance promotes AcctSvcrRef as the durable handle; JPMorgan strips the EndToEndId on certain inter-branch routes and forces fallback to InstrId. The catalog of which-bank-uses-which-carrier is the durable moat for iso-compliant.

The parser lives at apps/api/src/lib/camt053-parser.ts; carrier-extraction logic at apps/api/src/lib/recon-key-extract.ts (see the KeyCarrier union); per-bank handlers at apps/api/src/lib/bank-recon-handlers/.

Related terms

← All terms