ISO 20022
The universal XML language of financial messaging. A UML grammar, open XSD schemas, and the same semantics for Eurosystem, Fedwire, CHIPS, CHAPS and the SWIFT network since November 2025.
What is ISO 20022?
ISO 20022 is an international standard that defines a methodology for building financial messages, rather than the messages themselves. The methodology has three layers:
- Business model — a UML model that captures business concepts (payment, order, settlement instruction, status, mandate…) independently of syntax.
- Logical messages — messages derived from the business model, each identified by a four-letter code (pain, pacs, camt…), a variant number, and a version. Example:
pacs.008.001.10. - Syntax — the wire format. The official syntax is XML Schema, but the standard allows other syntaxes (ISO 20022 JSON exists since 2018, ASN.1 has been defined for high-frequency markets).
Where SWIFT MT gave you per-tag semantics and a telex syntax, ISO 20022 gives
you UML-first semantics derived into XSD. The direct consequence: every field has
stable meaning, regardless of transport (SWIFTNet FINplus, SEPA STEP2, EBA Clearing
RT1, TIPS, FedNow, T2). For the same intent ("cross-border customer transfer"), the
same pacs.008 can travel any of those rails and be processed by the same
parser on the bank side.
Anatomy of a message
The four-letter code reads: pain = Payment Initiation, pacs =
Payments Clearing and Settlement, camt = Cash Management,
acmt = Account Management, reda = Reference Data,
seev = Securities Events, setr = Securities Trades. Then a
three-digit number (008, 001…) names the logical message inside the family;
the variant (.001); the version (.10). Example: pacs.008.001.10 means "FI to FI Customer Credit Transfer, variant 001,
version 10".
An ISO 20022 XML message lives inside a <Document> root element
that carries the version's namespace. Here is a minimal pacs.008.001.10 for the same EUR 12,500 transfer used on the SWIFT MT hub:
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.10">
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>MSG20260514001</MsgId>
<CreDtTm>2026-05-14T10:30:00+01:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf>
<SttlmMtd>INDA</SttlmMtd>
</SttlmInf>
</GrpHdr>
<CdtTrfTxInf>
<PmtId>
<InstrId>INSTR2026001</InstrId>
<EndToEndId>E2E2026001</EndToEndId>
<TxId>TX2026001</TxId>
<UETR>1a2b3c4d-5e6f-7890-abcd-ef1234567890</UETR>
</PmtId>
<IntrBkSttlmAmt Ccy="EUR">12500.00</IntrBkSttlmAmt>
<IntrBkSttlmDt>2026-05-14</IntrBkSttlmDt>
<ChrgBr>DEBT</ChrgBr>
<Dbtr>
<Nm>ACME SARL</Nm>
</Dbtr>
<DbtrAcct>
<Id><IBAN>FR7630006000011234567890189</IBAN></Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId><BICFI>BNPAFRPPXXX</BICFI></FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId><BICFI>DEUTDEFFXXX</BICFI></FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Hans Mueller GmbH</Nm>
</Cdtr>
<CdtrAcct>
<Id><IBAN>DE89370400440532013000</IBAN></Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Invoice 2026-187</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>
Three recurring blocks: GrpHdr (Group Header — message-level metadata:
identifier, datetime, number of transactions), CdtTrfTxInf (Credit
Transfer Transaction Information — the actual transaction), and RmtInf
(Remittance Information — the structured equivalent of MT103 tag :70:). The UETR —
Unique End-to-end Transaction Reference — is mandatory and carries gpi end-to-end
tracing.
Message families
The ISO 20022 catalogue holds nearly 800 logical messages. The seven most-used families:
| Prefix | Domain | Iconic messages |
|---|---|---|
| pain | Payment Initiation (corporate → bank) | pain.001 (Customer Credit Transfer Initiation), pain.002 (status report), pain.008 (Direct Debit Initiation) |
| pacs | Payments Clearing and Settlement (bank ↔ bank) | pacs.008 (FI to FI Customer CT), pacs.009 (FI Credit Transfer), pacs.004 (Payment Return), pacs.002 (Status Report) |
| camt | Cash Management & Reporting | camt.053 (Bank-to-Customer Statement), camt.052 (intraday), camt.054 (notification), camt.029 (resolution of investigation), camt.056 (cancellation request) |
| acmt | Account Management | acmt.007 (account opening), acmt.022 (mandate maintenance), acmt.024 (KYC data) |
| reda | Reference Data | reda.001 (price report), reda.014 (security creation) |
| seev | Securities Events & Corporate Actions | seev.031 (corporate action notification), seev.035 (movement preliminary advice) |
| setr | Securities Trades (post-trade fund flows) | setr.010 (subscription order), setr.012 (redemption order) |
Migration timeline
The year 2025 saw the wrap-up of the major wholesale-payments migration. Switch-over recap:
| System | Operator | Date | Scope |
|---|---|---|---|
| T2 / T2S / TIPS | Eurosystem (ECB) | 20 March 2023 | Euro RTGS high-value, securities settlement, instant payments. |
| EURO1 | EBA Clearing | 20 March 2023 | Euro interbank clearing. |
| CHAPS | Bank of England | 19 June 2023 | Sterling RTGS high-value. |
| CHIPS | The Clearing House (US) | 8 April 2024 | US dollar high-value clearing. |
| Fedwire Funds | Federal Reserve | 14 July 2025 | US dollar RTGS (Federal Reserve). |
| SWIFTNet CBPR+ | SWIFT | 22 November 2025 | End of MT/MX coexistence for cross-border. ISO 20022 mandatory. |
| HVPS+ | SWIFT (high-value payment systems) | Extended via CBPR+ | Guidelines for domestic RTGS systems aligned on ISO 20022. |
Governance
ISO 20022 is governed by ISO Technical Committee 68 — Financial Services, specifically sub-committee SC 9 ("Information exchange"). The operational work — publishing new versions, handling change requests, maintaining the data dictionary — is delegated to the Registration Authority, a role held by SWIFT since 2004 under ISO mandate. Four bodies frame technical decisions:
- RMG (Registration Management Group) — strategy and roadmap; representatives from major market venues.
- SEG (Standards Evaluation Groups) — four business groups (Payments, Securities, Trade Services, FX) reviewing new-message submissions.
- TSG (Technical Support Group) — keeps the UML meta-model consistent and the XSD quality high.
- RA (Registration Authority) — SWIFT, which hosts the public registry and publishes the schemas.
On top of that, Market Practice Groups publish "usage guidelines"
that constrain how messages must be used in a specific context — CBPR+ Usage
Guidelines for SWIFT cross-border, HVPS+ Usage Guidelines for domestic
RTGS systems, SEPA Rulebooks for euro-area payments. This profile layer is
as important as the XSD schema itself: the same pacs.008 is not compliant
the same way on SWIFT, EURO1 and TIPS.
Further reading
- iso20022.org — official Registration Authority site. Full catalogue, schemas, change management.
- iso20022.org/iso-20022-message-definitions — directory of every logical message (pain, pacs, camt…).
- swift.com/standards/iso-20022 — SWIFT CBPR+ and MX landing page.
- iso.org/standard/76561.html — ISO data sheet (2022 edition, paywalled).
- Sister page on ediverse: SWIFT MT.
- Message detail pages — Payments (pain / pacs / camt): pain.001, pain.008, pacs.008, pacs.009, camt.053, camt.054, camt.060, acmt.023, admi.002.
- Securities / funds / corporate actions (setr / sese / semt / seev / reda): setr.001 (Subscription Order), setr.002 (Subscription Cancellation Request), setr.004 (Bulk Cancellation), setr.005 (Subscription Bulk Order), setr.010 (Redemption Order), setr.012 (Subscription Confirmation), setr.013 (Switch Order), setr.058 (Statement of Fund Transactions), sese.011 (Allegement Notification), sese.022 (Settlement Status Advice), sese.023 (Settlement Instruction), sese.024 (Settlement Status Advice T2S), sese.025 (Settlement Confirmation), sese.026 (Settlement Reversal Advice), sese.028 (Conditions Mod Status), sese.029 (Settlement Info Notification), sese.030 (Trade Confirmation), sese.031 (Conditions Modification), sese.032 (Trade Status Query), semt.001 (Statement of Holdings), semt.002 (Custody Statement), semt.003 (Accounting Statement), semt.013 (Intra-Position Confirmation), semt.014 (Intra-Position Movement), semt.015 (Intra-Position Status), semt.017, semt.018, semt.022 (Statement of Investment Fund), seev.001 (Meeting Notification), seev.002 (Meeting Cancellation), seev.003 (Meeting Entitlement), seev.004 (Meeting Instruction), seev.008 (Vote Execution Conf), seev.031, seev.032 (CA Movement Preliminary), reda.008 (Security Update Request), reda.029, reda.066 (Calendar Report).
- Administration (admi): admi.002 (Message Rejection), admi.004 (System Event Notification), admi.024 (Notification of Correspondence).
- See also: PEPPOL uses pain and pacs as its payment layer for electronic invoices.