ISO 20022 message
camt.052 format: bank-to-customer account report
camt.052 is the ISO 20022 intraday (or interim) account report: the balances so far and the entries booked or pending since the last report. It is the counterpart of the SWIFT MT942 and MT941, and lets treasury see the day’s position before the end-of-day camt.053 arrives.
| Message | camt.052, root element <BkToCstmrAcctRpt> |
|---|---|
| Name | Bank-to-customer account report |
| Sent | Bank → account owner |
| SWIFT MT counterpart | MT941 / MT942 |
| Read by | camt Statement Viewer |
Who sends it, and when
The account-holding bank sends it to the account owner during the day: at fixed times (hourly, at noon), after each booking, or when asked with a camt.060 account reporting request. The same channels carry it as the camt.053.
The structure of a camt.052
Document
└─ BkToCstmrAcctRpt
├─ GrpHdr MsgId, CreDtTm
└─ Rpt one per account
├─ Id, ElctrncSeqNb, CreDtTm, FrToDt
├─ Acct Id, Ccy, Ownr, Svcr
├─ Bal OPBD, ITBD (interim booked), ITAV …
└─ Ntry Sts BOOK or PDNG, BkTxCd, NtryDtls/TxDtlsVersions in use
The same versions as camt.053, released together: .001.02 (2009) and .001.08 (2019) are the most common. The viewer reads .001.02 to .001.13.
An annotated camt.052
An excerpt of the sample the viewer opens (fictitious companies, published test account numbers):
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.08">
<BkToCstmrAcctRpt>
…
<Rpt>
<Id>GBP-RPT-20261029-1200</Id>
…
<FrToDt>
<FrDtTm>2026-10-29T00:00:00+00:00</FrDtTm>
<ToDtTm>2026-10-29T12:00:00+00:00</ToDtTm>
</FrToDt>
…
<Bal>
<Tp>
<CdOrPrtry>
<Cd>ITBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="GBP">125194.75</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<DtTm>2026-10-29T12:00:00+00:00</DtTm>
</Dt>
</Bal>
…“…” marks lines left out.
| In the file | What it says |
|---|---|
camt.052.001.08 | An account report, version 08. |
<FrDtTm> … <ToDtTm> | The report covers midnight to noon. |
<Cd>ITBD</Cd> | Interim booked balance at the time given: it can still change before the day closes. |
<DtTm>2026-10-29T12:00:00 | Interim balances carry a time, not just a date. |
Common validation errors
What most often goes wrong in a camt.052, and the rule that reports it in the viewer and the API:
camt.balance.roll-forward(Balances do not roll forward): The opening booked balance plus the booked entries does not give the latest interim booked balance (ITBD).camt.entry.status(Entry status): An entry status other than BOOK, PDNG, INFO or FUTR.camt.dates.order(Dates out of order): The report period ends before it starts, or entries fall outside it.ccy.mismatch(Currency differs from the account): An entry in a currency other than the account’s.
Check a camt.052 from a script or an AI agent
Scripts and AI agents can do the same without a browser: POST /api/v1/validate or the MCP tool validate_payment_file returns every issue with its rule id, severity, line and path, and whether the file is valid. No key is needed, and the file is processed in memory and never stored (API and MCP docs).
curl -s --data-binary @camt052-intraday.xml https://iso20022-navigator.com/api/v1/validate{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "validate_payment_file",
"arguments": {
"content": "<the file text>"
}
}
}