Introduction to ISO 20022 message XSDs and business logics
1. How are the ISO 20022 messages built?
The ISO 20022 messages come from the ISO 20022 website where the messages are publicly available. The version used for each message is the most common version found in Europe payments industry, which may not be the latest available ISO 20022 version.
Mambu Payments applies an additional set of rules and restrictions upon the vanilla ISO 20022 messages, which are thoroughly documented in each message dedicated documentation and XSDs. As a general rule of thumb, the rules and restrictions concern:
- The list of attributes supported by Mambu Payments, which is a subset of the vanilla ISO 20022 list: if an attribute is not supported by Mambu Payments, it will be ignored, i.e. Mambu Payments accepts the attribute but will not forward it internally
- The change of type or code of an attribute, including for example:
- a smaller maximum length for text attributes, e.g. Text 70 instead of Text 140
- a restricted pattern for text attributes, e.g. forbid leading and trailing spaces in a text attribute
- the precision on ISODateTime format: the timezone is mandatory to avoid any confusion on the date time interpretation. Fractional seconds are fixed to 0 or 3 digits for interoperability purposes.
- The change of multiplicity, including for example:
- an attribute made mandatory in Mambu Payments, e.g. the debtor name
- a limitation of the maximum number of occurrences allowed for an attribute, e.g. 2 maximum address lines instead of 7 allowed in vanilla ISO 20022.
2. What contains the Mambu Payments ISO 20022 message pack?
Each Mambu Payments ISO 20022 message is described by:
- A comprehensive Excel document called
<message_name>_mp_iso.xlsx - An XSD that reflects the document called
<message_name>_mp_iso.xsd - An additional set of business rules described in the dedicated sections of the next pages.
The full list of messages definition can be accessed here: TBD: insert semi-public Google drive documentation here
2.1. Structure of a Mambu Payments ISO 20022 Excel document
This document contains 4 tabs:
- General information about the message, disclaimer, and legends
- The high-level structure of the message
- The simplified view of the list of attributes supported by Mambu Payments
- The full view of the list of standard ISO 20022 attributes and the changes operated by Mambu Payments
2.2. XSD
The message XSDs are derived from the official ones from the ISO 20022 XSD catalogue
3. ISO 20022 business logic
3.1. Identifying message type
The message type corresponds to its usage. ISO 20022 standard defines the following categories of messages:
- pacs messages for payments clearing and settlement
- camt messages for cash management
This information can be found in the XML namespace of the <Document> tag, as well as the tag name right after the <Document> tag. An example is provided below:
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08">
<FIToFICstmrCdtTrf> <!-- name of the pacs.008: FI to FI Customer Credit Transfer -->
</FIToFICstmrCdtTrf>
</Document>| Message full name | Message type | Message tag name |
|---|---|---|
| FI To FI Customer Credit Transfer | pacs.008.001.08 | <FIToFICstmrCdtTrf> |
| FI To FI Customer Direct Debit | pacs.003.001.08 | <FIToFICstmrDrctDbt> |
| FI To FI Payment Status Report | pacs.002.001.10 | <FIToFIPmtStsRpt> |
| Bank To Customer Statement | camt.053.001.02 | <BkToCstmrStmt> |
| FI To FI Payment Cancellation Request | camt.056.001.08 | <FIToFIPmtCxlReq> |
| Payment Return | pacs.004.001.09 | <PmtRtr> |
| Resolution Of Investigation | camt.029.001.09 | <RsltnOfInvstgtn> |
| FI To FI Payment Reversal | pacs.007.001.09 | <FIToFIPmtRvsl> |
| FI To FI Payment Status Request | pacs.028.001.03 | <FIToFIPmtStsReq> |
3.2. Identifying message identification
Every ISO 20022 message is identified by a unique string ID of up to 35 characters. Message IDs can be identified as follows.
| Message type | Identification |
|---|---|
pacs.xxx | <GrpHdr><MsgId> (Group Header) |
camt.053 | <GrpHdr><MsgId> (Group Header) |
camt.056 and camt.029 | <Assgnmt><Id> (Assignment Identification) |
3.3. Identification sender and receiver
Sender and receiver can be identified as follows.
| Message type | Identification |
|---|---|
pacs.xxx interbank messages | Sender and receiver can be found in the InstgAgt (Instructing Agent) and InstdAgt (Instructed Agent) attributes in the Group Header |
camt.056 and camt.029 case messages | Sender and receiver can be found in the Assgnr (Assigner) and Assgne (Assignee) in the Assignment block |
camt.053 account statements | No sender and receiver |
Updated about 10 hours ago
