camt.054 — Bank to Customer Debit Credit Notification
The ISO 20022 real-time notification of a debit or credit operation on an account: the modern, structured equivalent of SWIFT MT900 / MT910 tickets, with faithful data carry-over from the originating pacs.008.
Purpose and place in the flow
camt.054 delivers a unit notification of a debit or credit operation on an account held by the sending bank. Unlike camt.053 which delivers a full EOD statement, camt.054 is:
- triggered by each significant operation (one per flow);
- real-time oriented — typically issued within minutes of booking;
- richer in per-operation context (full references, detailed counterparts, SDD mandate…) than the
Ntryof a camt.053.
Primary use: instant accounting reconciliation on the corporate side. As soon as a credit arrives, the ERP is notified, the matching invoice is marked paid, and downstream resources (stock release, shipment…) are freed without waiting.
XML structure
camt.054 is wrapped in <Document> then in <BkToCstmrDbtCdtNtfctn>. Two blocks:
- GrpHdr:
MsgId,CreDtTm. - Ntfctn (Notification, repeatable but 1 standard):
Id,CreDtTm,Acct, andNtry(1..n, generally 1 per camt.054).
Key fields
Largely identical to camt.053 for the Ntry structure. camt.054 specifics:
- No
Bal: no balance. camt.054 only describes the operation. - No
TxsSummry: no summary, the unit is the transaction. Ntry/Sts:BOOK(transaction is booked, irrevocable) orPDNG(pending — e.g. trade received but not yet booked).NtryDtls/TxDtls/Refs/EndToEndId: end-to-end client reference, echoed verbatim from the originating pacs.008/pain.001.NtryDtls/TxDtls/Refs/UETR: UUID v4 for cross-border payments.NtryDtls/TxDtls/RltdPties: full counterparts (Dbtr, Cdtr) with name, structured address, and accounts.NtryDtls/TxDtls/RmtInf: remittance information —Ustrd(free text) orStrd(ISO 11649 creditor reference, mandate, invoice).
Example — received credit
Notification of an 8,750.50 EUR credit received from Hans Mueller GmbH on 14 May 2026 at 13:15, with ISO 11649 creditor reference for invoice 2026-202:
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.08">
<BkToCstmrDbtCdtNtfctn>
<GrpHdr>
<MsgId>BNPP-NTF-20260514-001</MsgId>
<CreDtTm>2026-05-14T13:15:00+02:00</CreDtTm>
</GrpHdr>
<Ntfctn>
<Id>NTF20260514-001</Id>
<CreDtTm>2026-05-14T13:15:00+02:00</CreDtTm>
<Acct>
<Id><IBAN>FR7630006000011234567890189</IBAN></Id>
<Ccy>EUR</Ccy>
<Ownr>
<Nm>ACME SARL</Nm>
</Ownr>
<Svcr>
<FinInstnId><BICFI>BNPAFRPP</BICFI></FinInstnId>
</Svcr>
</Acct>
<Ntry>
<NtryRef>BNPP-CRD-002</NtryRef>
<Amt Ccy="EUR">8750.50</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts><Cd>BOOK</Cd></Sts>
<BookgDt><DtTm>2026-05-14T13:15:00+02:00</DtTm></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>
<NtryDtls>
<TxDtls>
<Refs>
<EndToEndId>INV2026-202</EndToEndId>
<UETR>5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b</UETR>
<InstrId>DEUT-INSTR-2026005</InstrId>
</Refs>
<Amt Ccy="EUR">8750.50</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<RltdPties>
<Dbtr>
<Pty>
<Nm>Hans Mueller GmbH</Nm>
<PstlAdr>
<StrtNm>Hauptstrasse 12</StrtNm>
<TwnNm>Frankfurt</TwnNm>
<PstCd>60313</PstCd>
<Ctry>DE</Ctry>
</PstlAdr>
</Pty>
</Dbtr>
<DbtrAcct>
<Id><IBAN>DE89370400440532013000</IBAN></Id>
</DbtrAcct>
</RltdPties>
<RltdAgts>
<DbtrAgt>
<FinInstnId><BICFI>DEUTDEFF</BICFI></FinInstnId>
</DbtrAgt>
</RltdAgts>
<RmtInf>
<Strd>
<CdtrRefInf>
<Tp><CdOrPrtry><Cd>SCOR</Cd></CdOrPrtry></Tp>
<Ref>RF18INV2026202</Ref>
</CdtrRefInf>
</Strd>
</RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
</Ntfctn>
</BkToCstmrDbtCdtNtfctn>
</Document> Versions
| Version | Publication | Usage |
|---|---|---|
camt.054.001.02 | 2009 | Historic SEPA version. |
camt.054.001.08 | 2019 | T2 Eurosystem version (in service March 2023). Widely used. |
camt.054.001.10 | 2022 | CBPR+ / HVPS+ version with structured addresses. |
camt.054.001.11 | 2023 | Minor update. |
Common errors
- Duplicated notifications: if the bank issues camt.054 at several stages (receipt, provisional booking, final booking), the customer must dedupe on
NtryRef+Sts. Otherwise double booking. Sts=PDNGtreated asBOOK: do not credit the customer untilStsisBOOK. APDNGtrade can still be cancelled by the bank.- Unstructured address: same as pacs.008 — since 2025, CBPR+ mandates
StrtNm,BldgNb,PstCd,TwnNm,Ctry. - EndToEndId truncated along the chain: an intermediary bank may truncate
EndToEndIdto 16 characters when translating via MT. Check the length on the customer side. - UTF-8 vs ASCII: some ERPs still assume ASCII and truncate non-ASCII characters. Test with accented names.
- Wrong BkTxCd:
PMNT/ICDT/ESCTfor an issued SEPA SCT,PMNT/RCDT/ESCTfor a received one,PMNT/IDDT/ESDDfor an issued SDD. Wrong code = wrong ERP classification.
Equivalence with MT900/MT910
| MT900/MT910 | camt.054 | Note |
|---|---|---|
:20: | GrpHdr/MsgId | Message reference. |
:21: | NtryDtls/TxDtls/Refs/InstrId or EndToEndId | Originating reference. |
:25: | Ntfctn/Acct/Id/IBAN | Account. |
:32A: | Ntry/ValDt + Ntry/Amt Ccy=... | Value date + amount. |
| CdtDbtInd | Ntry/CdtDbtInd=DBIT (MT900) or CRDT (MT910) | Flag. |
:50a: (MT910) | NtryDtls/TxDtls/RltdPties/Dbtr | Ordering customer (for credits). |
:52a: | NtryDtls/TxDtls/RltdAgts/DbtrAgt | Ordering institution. |
:72: | NtryDtls/TxDtls/AddtlTxInf or RmtInf/Ustrd | Note. |