Skip to content

ISO · the standard

How an ISO 20022 message gets its name

A message name like camt.053 with a variant and a version after it is not one thing with a revision number. It is four decisions: what business the message is about, which message inside that business, which variant of it, and which version. The last one is why a format profile is pinned to what your bank actually sends.

The account every page here reads

EUR
Published by
ISO
What it carries
The envelope every ISO 20022 message shares, and the name that says which one it is.
Account
ES21 0049 0001 5323 4567 8901

Closing balance · Aug 14, 2026EUR 2,990,901.67

The definition

What ISO 20022 actually is

A dictionary of financial business terms and a set of XML messages built from it, and the reason a statement, a payment instruction and a status report all look like relatives.

ISO 20022 is a standard for financial messages: a shared dictionary of business terms, and message definitions built out of it. Every message is named in four parts. The business area comes first — camt for cash management, pain for payment initiation between a customer and a bank, pacs for payment clearing and settlement between banks, acmt for account management. Then the message number inside that area, then the variant, then the version. A document declares its own name in the namespace on its root element, so the version is legible on the second line of the file.

Who sends it
Whoever the message is between. A bank sends camt to its customer, a customer sends pain to its bank, and banks send pacs to each other. One grammar names all three, which is why a treasury team meeting its first pain message already knows how to read the name.
When it arrives
Whenever a scheme, a bank or a community adopts one. Migration happens message by message and version by version rather than all at once, so a group can be receiving CAMT.053 from one bank and MT940 from the next for years, and both are the same day.
What it looks like
XML, with element names taken from the dictionary rather than invented per bank. A document element carrying the namespace, the message root inside it, a group header that identifies the file and stamps when it was made, and then the message’s own content.

What its parts are called

  • ISO 20022 message name
  • camt.053.001.08
  • camt vs pain vs pacs
  • BkToCstmrStmt
  • ISO 20022 GrpHdr

The file

The part every one of these messages shares

The envelope, down to the first statement. Everything above that line is the same in a CAMT.052, a CAMT.054 and, with a different root element, a PAIN.001 — which is why learning it once is worth the afternoon.

ISO 20022The namespace, the group header and the opening of the first statement; the rest is on the CAMT.053 page
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.08">
  <BkToCstmrStmt>
    <GrpHdr>
      <MsgId>CAMT26081400161</MsgId>
      <CreDtTm>2026-08-14T20:15:00+02:00</CreDtTm>
    </GrpHdr>
    <Stmt>
      <Id>26081400161</Id>
      <Acct><Id><IBAN>ES2100490001532345678901</IBAN></Id><Ccy>EUR</Ccy></Acct>

How the message name is put together

What kind of business the message is about
camt · pain · pacs · acmt
Which message inside that business
053
Which variant of that message
001
Which version of it your bank sends
08

What comes out

The version is not decoration. It moves elements.

Two files can both be CAMT.053 and put the same fact at different depths. That is a real difference, and it is why a profile is pinned to a version rather than to a standard.

We read the namespace first and hold the profile against it. Between versions of CAMT.053 a transaction status moved inside a coded element, a party gained a level, and a balance type went under a choice between a published code and a proprietary one — so an element path written for one version reads nothing at all in another. Pinning the profile turns a bank upgrading its message into a new profile version with a date on it rather than a morning of missing entries, and the files read before the upgrade still read the way they did.

The other half is what the standard leaves open on purpose. A bank transaction code can be a published domain, family and sub-family, or the bank’s own code with the issuer that defines it, and both are legal. Structured remittance information is optional, so a bank that has it sends elements and a bank that does not sends a line of text. We hold what each bank actually populates as a versioned rule set per bank, which is the same discipline the free-text formats need and the reason the two are not separate projects here.

The name on the file is the first fact it gives you. Send us one and we will read it from there.

Asked about ISO 20022

The questions a practitioner actually types

01What do the four parts of an ISO 20022 message name mean?
Take camt, then 053, then 001, then 08. camt is the business area, cash management. 053 is the message inside that area, the bank-to-customer statement. 001 is the variant, and almost every message in production is variant 001. 08 is the version, and it is the part that changes: it is the one number that tells you where an element sits. The whole name appears in the namespace on the document’s root element, so you never have to be told which one you are holding.
02What is the difference between camt, pain and pacs?
Who is talking to whom. camt is cash management, a bank reporting to its customer — statements, balances, notifications. pain is payment initiation, a customer instructing its bank. pacs is payment clearing and settlement, banks instructing each other. acmt covers account management. The prefix tells you the direction of the conversation before you have opened the file.
03Does the version number of an ISO 20022 message matter?
Yes, more than the rest of the name. Elements move between versions: a status that was a plain code becomes a choice between a published code and a proprietary one, a party gains a wrapper, a balance type nests one level deeper. An element path written against one version returns nothing against another, and it does it silently. That is why a profile is pinned to the version a bank sends rather than to CAMT.053 as a name.
04Where does an ISO 20022 message state which one it is?
In the namespace on its root element, and nowhere else that is reliable. A file whose root element declares the urn for a message and a version is that message and that version, whatever the file is called and whatever the portal said when you downloaded it. Filenames are a bank convention and they change. The namespace is part of the message.
05What is in the GrpHdr of an ISO 20022 message?
Facts about the file rather than about the money in it. MsgId identifies this message and is what a bank quotes back when something about the file has to be discussed, and CreDtTm stamps the instant it was created, with the offset that says whose clock. Some messages add a count of the transactions and a control sum, which is how a receiver knows a file arrived whole before it reads a single entry.

Send one ISO 20022 file, whichever version.

One account, one month. We read it against the version your bank actually sends, and every element we take a value from is named beside the value.

A camt, a pain or a pacs — the envelope is the same and so is the reading.