camt.053 — Bank to Customer Statement
The end-of-day account statement in ISO 20022. A modern, structured counterpart of SWIFT MT940 with UTF-8, multiple per-transaction references, and faithful data-carry-over from pacs.008 / pacs.009.
Purpose and place in the flow
camt.053 is the end-of-day bank statement sent by the account-servicing bank to its customer. It carries:
- account and owner identity;
- opening (OPBD) and closing (CLBD) balances, plus any intermediate balances;
- each entry (Ntry — debit or credit) with booking date and value date, accounting status (book / pending / info), normalised transaction code;
- per-transaction detail (NtryDtls/TxDtls): counterparts, references (EndToEndId, UETR, MandateId for direct debits), remittance information.
The customer uses camt.053 for: accounting reconciliation, ERP feeds, multi-account treasury positions, bank fee analysis, audit. The advantage over MT940 comes from faithful data carry-over: the EndToEndId / UETR set in the originating pain.001 / pacs.008 is echoed verbatim, enabling straight-through end-to-end reconciliation.
XML structure
camt.053 is wrapped in <Document> with the version namespace,
then in <BkToCstmrStmt>. Two main blocks:
- GrpHdr:
MsgId,CreDtTm. - Stmt (Statement, repeatable but 1 only under CBPR+):
Id,ElctrncSeqNb,LglSeqNb,CreDtTm,FrToDt,Acct,Bal(1..n),TxsSummry,Ntry(0..n).
Key fields
Stmt/Id: statement identifier. At least unique per account and per day.Stmt/ElctrncSeqNb+LglSeqNb: electronic and legal sequence numbers.LglSeqNbis strictly increasing and lets you detect sequence gaps.Stmt/FrToDt: covered-period boundaries (typically 24h).Stmt/Acct/Id: account identification (IBAN or other).Stmt/Bal: balances. Common types:OPBD(Opening Booked),CLBD(Closing Booked),OPAV(Opening Available),CLAV(Closing Available),ITBD(Interim Booked),FWAV(Forward Available),PRCD(Previously Closed Booked).Stmt/TxsSummry: summary (count + sum of total entries, credits, debits).Stmt/Ntry/Amt: operation amount and currency.Stmt/Ntry/CdtDbtInd:CRDTorDBIT.Stmt/Ntry/Sts:BOOK(Booked),PDNG(Pending),INFO(Information).Stmt/Ntry/BookgDt+ValDt: booking date and value date (often identical for T+0 flows).Stmt/Ntry/AcctSvcrRef: bank reference for the operation.Stmt/Ntry/BkTxCd: structured ISO transaction code. HierarchyDomn/Fmly/SubFmlyCd— examplePMNT/ICDT/ESCT= payment / issued credit transfer / SEPA SCT.Stmt/Ntry/NtryDtls/TxDtls: granular detail —Refs(EndToEndId, UETR, MandateId, InstrId, TxId),RltdPties(Dbtr, Cdtr, accounts, addresses),RmtInf(Ustrd or Strd).
End-of-day example
14 May 2026 statement for ACME SARL at BNP Paribas: opening balance 1,502,345.67 EUR, two operations (a 12,500 outgoing transfer to Hans Mueller GmbH, an incoming 8,750.50 credit), closing balance 1,498,596.17.
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.10">
<BkToCstmrStmt>
<GrpHdr>
<MsgId>BNPP-STMT-20260514-001</MsgId>
<CreDtTm>2026-05-15T03:00:00+02:00</CreDtTm>
</GrpHdr>
<Stmt>
<Id>STMT20260514-FR76-001</Id>
<ElctrncSeqNb>134</ElctrncSeqNb>
<LglSeqNb>134</LglSeqNb>
<CreDtTm>2026-05-15T03:00:00+02:00</CreDtTm>
<FrToDt>
<FrDtTm>2026-05-14T00:00:00+02:00</FrDtTm>
<ToDtTm>2026-05-14T23:59:59+02:00</ToDtTm>
</FrToDt>
<Acct>
<Id><IBAN>FR7630006000011234567890189</IBAN></Id>
<Ccy>EUR</Ccy>
<Ownr>
<Nm>ACME SARL</Nm>
</Ownr>
<Svcr>
<FinInstnId><BICFI>BNPAFRPP</BICFI></FinInstnId>
</Svcr>
</Acct>
<Bal>
<Tp><CdOrPrtry><Cd>OPBD</Cd></CdOrPrtry></Tp>
<Amt Ccy="EUR">1502345.67</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt><Dt>2026-05-14</Dt></Dt>
</Bal>
<Bal>
<Tp><CdOrPrtry><Cd>CLBD</Cd></CdOrPrtry></Tp>
<Amt Ccy="EUR">1498596.17</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt><Dt>2026-05-14</Dt></Dt>
</Bal>
<TxsSummry>
<TtlNtries>
<NbOfNtries>2</NbOfNtries>
<Sum>21250.50</Sum>
</TtlNtries>
<TtlCdtNtries>
<NbOfNtries>1</NbOfNtries>
<Sum>8750.50</Sum>
</TtlCdtNtries>
<TtlDbtNtries>
<NbOfNtries>1</NbOfNtries>
<Sum>12500.00</Sum>
</TtlDbtNtries>
</TxsSummry>
<Ntry>
<NtryRef>BNPP-NTRY-001</NtryRef>
<Amt Ccy="EUR">12500.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts><Cd>BOOK</Cd></Sts>
<BookgDt><Dt>2026-05-14</Dt></BookgDt>
<ValDt><Dt>2026-05-14</Dt></ValDt>
<AcctSvcrRef>REF20260514001</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly><Cd>ICDT</Cd><SubFmlyCd>ESCT</SubFmlyCd></Fmly>
</Domn>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<EndToEndId>INV2026-187</EndToEndId>
<UETR>1a2b3c4d-5e6f-7890-abcd-ef1234567890</UETR>
</Refs>
<RltdPties>
<Cdtr><Pty><Nm>Hans Mueller GmbH</Nm></Pty></Cdtr>
</RltdPties>
<RmtInf>
<Ustrd>INVOICE 2026-187</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
<Ntry>
<NtryRef>BNPP-NTRY-002</NtryRef>
<Amt Ccy="EUR">8750.50</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts><Cd>BOOK</Cd></Sts>
<BookgDt><Dt>2026-05-14</Dt></BookgDt>
<ValDt><Dt>2026-05-14</Dt></ValDt>
<AcctSvcrRef>BNPP-CRD-002</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly><Cd>RCDT</Cd><SubFmlyCd>ESCT</SubFmlyCd></Fmly>
</Domn>
</BkTxCd>
</Ntry>
</Stmt>
</BkToCstmrStmt>
</Document> Versions
| Version | Publication | Usage |
|---|---|---|
camt.053.001.02 | 2009 | Historic SEPA version. Still widely used domestically by some regional banks in 2026. |
camt.053.001.08 | 2019 | T2 Eurosystem version (in service since March 2023). Standard for EBA Clearing reporting. |
camt.053.001.10 | 2022 | CBPR+ / HVPS+ version. Structured addresses, aligned with pacs.008 v10. |
camt.053.001.11 | 2023 | Minor update, gradual adoption. |
Common errors
BookgDt/ValDtconfusion: booking date is accounting; value date is financial. Drift common in cross-border, holidays. Always useValDtfor position calculation.- Inconsistent
OPBD/CLBDvsNtry: the difference must equal the algebraic sum of entries withSts=BOOK. A bank that includesPDNGentries in the booked scope breaks this invariant. - Proprietary
BkTxCdinstead of ISO: usingPrtryinstead ofDomn/Fmlyis legal but breaks ERP automation that relies on the standard ISO classification. - Aggregated
Ntryper counterpart: some statements aggregate operations (e.g. SEPA DD batches). Always detail viaNtryDtls/TxDtlsfor unit-level reconciliation — otherwise treasury cannot match against its pacs.008/008. - Missing
UETRinRefs: breaks the gpi chain for cross-border payments. Customer loses end-to-end visibility. LglSeqNbnot strictly increasing: triggers treasury alarms that assume strict sequencing to detect gaps.
Equivalence with MT940
camt.053 directly succeeds MT940. Mappings:
| MT940 | camt.053 | Note |
|---|---|---|
:20: | GrpHdr/MsgId | Message reference. |
:25: | Stmt/Acct/Id/IBAN | Account. |
:28C: | Stmt/ElctrncSeqNb + LglSeqNb | Statement number. |
:60F: | Stmt/Bal/Tp/CdOrPrtry/Cd=OPBD | Opening balance. |
:61: | Stmt/Ntry | One entry per :61:. |
:86: | Stmt/Ntry/NtryDtls/TxDtls/AddtlTxInf + RmtInf/Ustrd | Free-text detail. |
:62F: | Stmt/Bal/Tp/CdOrPrtry/Cd=CLBD | Closing balance. |
:64: | Stmt/Bal/Tp/CdOrPrtry/Cd=CLAV | Closing available balance. |