Standard MX General Info
Standard MX General Info
General Information
This document describes the Swift Standards MX messages (MXs) and explains the concept of XML for MX messages
and the structure and function of these messages. This document is for customers that use MXs, and software
developers that implement Swift Solutions that use MXs.
15 February 2024
Table of Contents
Preface............................................................................................................................................................... 4
1 Definitions................................................................................................................................................ 5
15 February 2024 2
Standards MX Table of Contents
General Information
Legal Notices................................................................................................................................................... 72
15 February 2024 3
Standards MX Preface
General Information
Preface
About this document
This guide provides a general description of Standards MX (MXs) concepts, as follows:
• Standards MX Message Concepts on page 8 describes general concepts which include
message frameworks, message granularity, message variants and versions, message
classification, message naming, and definitions.
• XML for Standards MX Messages on page 22 describes how MXs use XML. This section
includes information about XML schemas, instances, and syntax, discusses tags and elements,
and describes XML document standards, supported characters, validation, and namespaces.
• MX Messages and InterAct on page 44 describes the structure of an InterAct message and
describes how to use the application header.
• MX Messages and FileAct on page 61 describes the structure of a FileAct message and
describes how to use the file header.
• Understanding the Documentation on page 66 describes how to use the Standards MX
documentation.
For the latest available version of this guide, see Knowledge Centre (User Handbook) .
Audience
Customers that use MXs, and software developers that implement Swift Solutions that use MXs,
are the intended audience for this document.
Reading conventions
This guide contains some terms that are abbreviated as follows:
• Swift Standards XML message is abbreviated to MX
• Swift Standards FIN message, Message Type, is abbreviated to MT
Significant changes
The following table lists the significant changes to the content of the Standards MX General
Information since the previous edition.
Update to section "Use of normalised characters" Swift Standards MX-Supported Character Sets on
page 37
Related documentation
• Standards MX Message Definition Reports
• Standards MX Technical Definition Reports
• SwiftNet Service Description
• SwiftNet Messaging Operations Guide
• MyStandards Service Description
• MyStandards User Guide
15 February 2024 4
Standards MX Definitions
General Information
1 Definitions
Application The application header and business document altogether form the business
header message (the payload). The application header always comes first in position. It
has its own message definition.
It gathers together, in one place, data about the message, such as which
organisation has sent the business message, which organisation should be
receiving it, the identity of the message itself, a reference for the message and so
on. It contains more information about the content of the business document than
the technical (network) header. In fact, the former describes the content of the
business document to the receiving business application, whereas the latter
describes the information relevant to SwiftNet for its own internal operations. The
purpose of the application header is to provide a consistent and predictable way
for this data to be conveyed with the message, regardless of implementation
factors such as the choice of network. This does not prevent such data being
conveyed either within the message definition itself, or as part of a network
header. It typically helps to facilitate message routing and/or processing by
intermediate parties in a chain and/or by middleware messaging components,
without the need to scan through the full business document details.
Cross- Rules between two or more different message elements that can be validated.
element rules Rules that are injected and therefore validated on the Swift Network are in the MX
documentation indicated with a tick symbol (✓) or marked as SwiftNet validation
true on MyStandards.
External code Codes that are not included in the message definition and that can be used in
sets specific elements of the messages. The purpose of externalising these codes is
to be able to update the code sets (for example, add new codes) without
impacting the messages themselves and, hence, without requiring the
development of a new version of the messages that use these code sets.
The official list of external codes is maintained by ISO and published at https://
www.iso20022.org/catalogue-messages/additional-content-messages/external-
code-sets. This list is updated by ISO on a quarterly basis.
Guidelines Guidelines are recommendations given in addition to (textual) rules, but cannot
be validated.
Message The message definition is the message format fully represented by two
definition categories of rules:
• Syntax rules (also called schema rules since always technically represented
by an XML schema): defines the message structure and nesting, including
amongst others the element names and data types, their allowed presence
and character set.
15 February 2024 5
Standards MX Definitions
General Information
MX message The XML business usage definition for use in the SwiftNet service (that is, the full
combination of application header, business document and supplemental data
extension message definitions, as well as associated usage guideline restrictions
if any). It can be:
• a base (candidate or registered) ISO 20022 message
• a proprietary message
15 February 2024 6
Standards MX Definitions
General Information
Schema Technical description of an XML message definition, not taking into account
cross-element rule validation and reference data validation (such as for example
BIC, IBAN, country codes). A schema defines the message structure and nesting,
including amongst others the element names and data types, their allowed
presence and character set.
Textual rules Rules between two or more different message elements that cannot be validated.
Usage Provides a unique identification of the usage guideline when coupled together
identifier with a message definition identifier.
It can be used to unambiguously identify:
• a business usage definition (in which case it designates a usage guideline
covering the full payload)
• a usage guideline set on a (business) application header, business document
or supplementary data extension
The primary purpose of the usage identifier is to provide a practical means of
identifying a particular business usage definition exchanged over the network (for
example, distinguish STP, core versions, Market Infrastructure-specific flavour of
a pacs.008.nnn.nn message instance).
Currently implemented as an editable meta information of a usage guideline
specification in MyStandards, the concept is open: a financial institution is free to
define and publish a usage identifier by its own means.
To ensure uniqueness, the usage identifier is subject to a certain structure
registration process. In particular, it must:
• start with a short name identifier of the usage guideline publishing
organisation, for example, swift
• followed by 1 or more context distinguishers, for example, cbprplus
separated by a dot
• and end with a 2-digit version number, for example, 01
The version must be fixed / increments whenever the usage guideline becomes
effective and evolves on a network. For example, swift.cbprplus.01 used to
designate CBPR+ market practice flavours of the pacs. and camt. messages
exchanged over FINplus.
15 February 2024 7
Standards MX Standards MX Message Concepts
General Information
SWIFTNet Payload
Application Header
Document technical
element
Message StatementOfAccount
StatementHeader Date: Page:
Message
StatementIdentification Statement Number:
component message
Date: element
Payment Type
(a "choice" between ...)
Choice Cheque / Cash/ Credit Card
component
Card Id / Transaction Id
Transaction Details
Value
Date Amount D/C
D0960008
15 February 2024 8
Standards MX Standards MX Message Concepts
General Information
Message components
Definition Function
Message item Messages are composed of message items. A message item can be either a
message building block at the first level of a message or a message element. A
message item can appear at any level of nesting in the message definition. The
XML schema of the message defines the message items. Message items appear
as XML tags in the message instance.
Message component Reusable item that is used for assembling a message. Message components
contain specific message elements that are normally linked to a business
component. The financial dictionary contains a complete list of message
components.
Message building block Message item that is specific to a particular message and not defined in the
financial dictionary. A message building block is defined in the XML schema as an
immediate child of a message.
Choice component Represents a choice between several possibilities. An instance of a message can
only contain one of the possibilities.
Technical element Message element that only has a function in the context of a message. It can have
a data type but is not related to a business element.
Related information
XML Schema on page 22
15 February 2024 9
Standards MX Standards MX Message Concepts
General Information
Account
D0960013
Account 1
Message Component
Identification
Account Servicer
D0690014
Related information
ISO 20022 Financial Repository on page 20
15 February 2024 10
Standards MX Standards MX Message Concepts
General Information
Examples of MTs
Business
Business area Description in specified
area code
business area
Examples of MTs
Business
Business area Description in specified
area code
business area
15 February 2024 11
Standards MX Standards MX Message Concepts
General Information
Examples of MTs
Business
Business area Description in specified
area code
business area
Securities: secs
Examples of MTs
Business
Business area Description in specified
area code
business area
15 February 2024 12
Standards MX Standards MX Message Concepts
General Information
Examples of MTs
Business
Business area Description in specified
area code
business area
Examples of MTs
Business
Business area Description in specified
area code
business area
Examples of MTs
Business
Business area Description in specified
area code
business area
15 February 2024 13
Standards MX Standards MX Message Concepts
General Information
Examples of MTs
Business
Business area Description in specified
area code
business area
Derivatives: deri
Examples of MTs
Business
Business area Description in specified
area code
business area
Commodities: comm
Examples of MTs
Business
Business area Description in specified
area code
business area
15 February 2024 14
Standards MX Standards MX Message Concepts
General Information
Examples of MTs
Business
Business area Description in specified
area code
business area
Examples of MTs
Business
Business area Description in specified
area code
business area
15 February 2024 15
Standards MX Standards MX Message Concepts
General Information
Examples of MTs
Business
Business area Description in specified
area code
business area
15 February 2024 16
Standards MX Standards MX Message Concepts
General Information
Miscellaneous/Other/Generic: misc
Examples of MTs
Business
Business area Description in specified
area code
business area
Others (non-ISO)
Examples of MTs
Business
Business area Description in specified
area code
business area
15 February 2024 17
Standards MX Standards MX Message Concepts
General Information
Examples of MTs
Business
Business area Description in specified
area code
business area
Examples of MTs
Business
Business area Description in specified
area code
business area
Structure Definition
Message Definition Specifies the function of the message in the business area.
The term message inside message identifier must not be confused with the message transmitted
over the network. The latter typically may contain more than 1 message definition(s), for example,
the BAH, the business document, and possibly supplementary data extension(s), further
complemented with network-proprietary headers and/or trailers
15 February 2024 18
Standards MX Standards MX Message Concepts
General Information
Format Function
4!a Mandatory code that identifies the business area. For example, pacs stands for Payments
Clearing and Settlement.
This code has a fixed length of 4 alphabetic characters. See Business Area Codes on page 11.
15 February 2024 19
Standards MX Standards MX Message Concepts
General Information
Related information
For more information about the ISO 20022 maintenance process, see
iso20022.org > Registration Process
15 February 2024 20
Standards MX Standards MX Message Concepts
General Information
The following diagram shows the conceptual structure of the ISO 20022 Financial Repository. This
diagram shows all the types of dictionary items and the relationships between them.
Financial Dictionary
Business association
relates
is value of is of type
is of type
Business actor Data type
plays role is based on
Business role
Data type representation
D0960010
Business concept Dictionary item with a business The following items are part of this category:
semantic meaning business associations, business components,
rules, business elements, and business actors/
roles.
Data type Dictionary item that Data types are grouped into representation
unambiguously specifies a set of classes by characteristics that are common to a
values for a business element or a number of data types.
message element
Message concept Dictionary item used for message The following items are part of this category:
definitions message components, rules, and message
elements.
Related information
For more information about international financial message standards, see
www.iso20022.org
.
15 February 2024 21
Standards MX XML for Standards MX Messages
General Information
Standards MX schema
The MX schema defines the formal MX structure including the data and values allowed in an MX
instance.
15 February 2024 22
Standards MX XML for Standards MX Messages
General Information
15 February 2024 23
Standards MX XML for Standards MX Messages
General Information
<Pty>
<Id>
<OrgId>
<AnyBIC>CORPGB22</AnyBIC>
</OrgId>
</Id>
</Pty>
</Assgnr>
<Assgne>
<Pty>
<Id>
<OrgId>
<AnyBIC>PEFIUS33</AnyBIC>
</OrgId>
</Id>
</Pty>
</Assgne>
<CreDtTm>2014-05-21T10:30:00</CreDtTm>
</Assgnmt>
...
Naming conventions
An XML element is named according to the following rules:
• The name can contain letters, numbers, and other characters, but must not start with a number
or punctuation mark.
• The name must not start with XML, xml, or Xml.
• The name must not contain any spaces.
15 February 2024 24
Standards MX XML for Standards MX Messages
General Information
MX naming conventions
There are some generic naming rules that apply to most items in the database.
• The names of all items in the database use the upper CamelCase convention, as follows:
- Each word starts with a capital letter.
- There are no white spaces between words.
• A name may be made up of multiple words, each consisting of alphanumeric characters.
• Words use British English vocabulary.
• All names must start with an alphabetic character.
• All characters that follow the first characters must be letters or numbers.
15 February 2024 25
Standards MX XML for Standards MX Messages
General Information
This message component is represented in the ISO 20022 Financial Repository, as follows.
15 February 2024 26
Standards MX XML for Standards MX Messages
General Information
boolean Yes Has a value space for Boolean constants TRUE or FALSE.
dateTime Yes Corresponds to a date and a time in ISO 8601 format. The letter
T separates the date and time. hh represents the hours, mm
represents the minutes, and ss represents the seconds.
Additional digits can be used to increase the precision of
fractional seconds if required. The format ss.sss... with any
number of digits after the decimal point is supported, but the
fractional seconds are optional. Other parts of the lexical form
are not optional.
This dateTime representation can be immediately followed by
a (1)Z to indicate Coordinated Universal Time (UTC). The time
zone is represented as the difference between the local time and
UTC immediately followed by a plus or minus sign (+ or -). It is
then followed by the difference from UTC represented as hh:mm.
Note: If the time zone is included, then both hours and minutes
must be present.
See the ISO 8601 Date and Time Formats for details about the
legal values used in the various elements.
In general, the order relation on dateTime is a partial order
since there is an ambiguous relationship between certain
instants. For example, there is no determinate ordering between:
1. 2000-01-20T12:00:00
2. 2000-01-20T12:00:00Z
Based on time zones currently in use, (c) can vary from
2000-01-20T12:00:00+12:00 to
2000-01-20T12:00:00-13:00.
Format: (1)CCYY-MM-DDTHH:MM:SSZ+- offset to UTC
This is the recommended format: CCYY-MM-DDTHH:MM:SSZ
Example: 2006-11-01T11:34:00Z
15 February 2024 27
Standards MX XML for Standards MX Messages
General Information
gMonth No A specific month from midnight on the first day till midnight on
the Last Day.
Format: --MM--
Example: February is --02--
gYear Yes A time period that starts at the midnight that starts the first day of
the year. This time period ends at the midnight that ends the
Last Day of the year.
This is a set of one-year long, non-periodic instances.
Format: CCYY
Example: 2006
gYearMonth Yes A specific month in a specific year in the UTC time zone.
Format CCYY-MM
Example: February 2006 is 2006-02
(1) The Z indicates a Universal Time Code (UTC) time. +hh:mm or +hh indicates a local time ahead of UTC. -hh:mm or -hh
indicates a local time behind UTC.
15 February 2024 28
Standards MX XML for Standards MX Messages
General Information
• Local time
This is a moment in time expressed in local time without an explicit indication of the time zone. If
a user opts to use local time, then the user generates an ambiguous timestamp unless all the
parties involved know about the time zone.
Code A list of all coded values for a particular element and the meanings string
they represent.
15 February 2024 29
Standards MX XML for Standards MX Messages
General Information
<xs:simpleType name="AnyBICIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>
15 February 2024 30
Standards MX XML for Standards MX Messages
General Information
Example of a Standards MX defined data type in the ISO 20022 Financial Repository
15 February 2024 31
Standards MX XML for Standards MX Messages
General Information
</Document>
D0960019
XML prolog
The first line of the document or message instance defines the XML version and the character
encoding used in the document. This declaration is not an XML element and not part of the XML
document or message instance. The XML prolog does not have a closing tag.
Root element
All XML documents must have a root element. The root element is at the top of the XML element
hierarchy. The root element of an XML instance is <Document>. The last line of the document
defines the end of the root element </Document>.
15 February 2024 32
Standards MX XML for Standards MX Messages
General Information
Namespace
A namespace is a container that provides context for the XML elements and XML attributes that it
qualifies and allows XML elements and attributes that have the same name to be easily
distinguished.
Namespace Definition
prefix
absent The namespace to which all XML elements of this MX instance belong that are defined in the
(default) corresponding MX Schema. It defines all XML elements and attributes that do not belong to
or defined the xsi namespace.
by the
Sender
3.3.5 DOCTYPE
The document must not contain a DOCTYPE declaration as per the ISO 20022 standard.
Well-formed XML
The schema verifies that the document is well formed. An XML instance or XML document with
correct syntax is called a well-formed XML document.
Well-formed XML has the following characteristics:
• Each XML document must be a single-rooted hierarchical structure of elements.
• All elements are correctly paired.
• The element opening tag and closing tag are the same.
• Element names must start with an alphabetic character. Subsequent characters may be
alphanumeric.
15 February 2024 33
Standards MX XML for Standards MX Messages
General Information
<Ref>1234</Ref>
Valid schema
The schema checks the validity of the XML instance. An instance validated against its
corresponding schema is called a valid XML instance.
MX structure
The schema validates the following items:
• the MX structure starting from the root element (top level element)
• the allowed elements, and the order in which they must be used (sequence)
• simple XML element relations, for example, parent-child and siblings
• the cardinality of the XML elements, for example, mandatory or optional, or the number of
occurrences allowed
• choices among XML elements
Type of Example
validation rule
Cross-element The element Entry Date must only be present if entry status has the value booked.
15 February 2024 34
Standards MX XML for Standards MX Messages
General Information
Type of Example
validation rule
Reference data Reference data validation may involve look-up in external tables.
validation
Example of calculations or derived elements:
The comparison of 2 dates or the comparison of 2 amounts.
International Bank Account Number (IBAN) validation of the check digits.
For more information about IBANs, see Example of calculation validation on page 35.
Definition An identifier used internationally by financial institutions to identify the account of a customer at
a financial institution. This is described in the ISO 13616 standard, Banking, and related
financial services International Bank Account Number (IBAN).
Format [a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,20}]
Rules IBAN
A valid IBAN consists of all 3 components, the Country Code, check digits and Basic
Bank Account Number (BBAN).
(fatal) error code: sw.Stds.D000003
Example AT611904300234573201
Definition This code identifies a country, a dependency, or another area of particular geopolitical interest.
This code is based on the list of country names obtained from the United Nations (ISO 3166
alpha-2 code).
Format [A-Z]{2,2}
Rules Country
The code is checked against the list of country names obtained from the United Nations
(ISO 3166. Alpha-2 code).
(fatal) error code: Sw.Stds.D00004
Example BE
15 February 2024 35
Standards MX XML for Standards MX Messages
General Information
Non-validated rules
It is not always possible to validate some rules. These rules are known as non-validated rules. A
non-validated rule usually occurs when the infrastructure does not have enough information to be
able to validate the rule correctly. This does not mean that these rules cannot be followed.
Swift only maintains a limited set of code and identifier lists. Most other identifier lists are referred
to by the standard. In these cases, SwiftNet cannot verify that a value (such as ISIN, CUSIP,
SEDOL, or RIB) taken from such list, is correct.
Guidelines
An MX can also have guidelines in addition to validated and non-validated rules.
Important Unlike validated and non-validated rules, guidelines are not mandatory.
Guidelines cannot be imposed in the same way as rules because there are rare cases when a
guideline cannot be followed. For example, there is a guideline that advises a user to use an
International Securities Identification Number (ISIN). This is a guideline not a rule because some
securities do not have an ISIN or are not uniquely identified. This also applies to the guideline to
use a BIC to identify a party. There are some financial institutions or business entities that do not
have a BIC.
Syntactic restriction Syntactic restrictions include any change supported by the XML schema
language which does not conflict with the base message rules, notably:
• Make the optional element mandatory.
• Restrict the length of individual elements to a lower number of
characters.
• Disallow some code values in a code list.
• Restrict allowed character set (the ISO 20022 base message
generally supports UTF-8, which is generally too wide for specific
business communities).
15 February 2024 36
Standards MX XML for Standards MX Messages
General Information
Formal semantic restriction Formal semantic restrictions include cross-element rules (not supported
by the XML schema), which do not conflict with the base message rules.
They are recognisable through the presence of logical operators in
capital letters within the rule definition (for example, 'OR', 'AND').
Textual restriction Textual rules are recognisable by the fact that they are expressed in
English text without the use of logical operators in capital letters.
These rules generally cannot be validated in a deterministic way, either
because they rely on parameters inaccessible to Swift or because they
are too complex to encode with existing MyStandards editor capabilities.
Note MyStandards does not support setting such as usage guideline restrictions that would
induce calculation on derived elements (for example, compare 2 dates and/or
amounts) or a look-up in external tables. Accordingly, MVAL does not support setting
usage guideline restrictions either. Message validation only supports the reference
data checks (for example, BIC, IBAN, currency code) embedded within the ISO 20022
base message specifications.
15 February 2024 37
Standards MX XML for Standards MX Messages
General Information
agreed. This mechanism allows any user to decide whether the user wants to be part of the Closed
User Group or not. It reduces the risk that local languages / character sets are sent by accident to a
wrong destination. If the base message validation applies and if the service description of a Closed
User Group does not specify language or character set, then it means that the user must only use
English and Basic Latin within that Closed User Group. If the user must use other characters (for
example, Cyrillic), then this must be explicitly mentioned within the service description of that
Closed User Group. Alternatively, the service description shall explicitly mention the usage
guideline rules applicable for each request type (in which case service participants can infer
applicable character set restrictions out of the usage guideline specifications in MyStandards)
The following table includes the most relevant characters used in Basic Latin, compared to the FIN
character sets X, Y and Z.
Non-latin characters are also supported.
Basic Latin character set
MT MX
* * * * 0 - 9 10 numerical characters
* * * * / slash
* * * * - hyphen
* * * * ? question mark
* * * * : colon
* * * * ( open parentheses
* * * * ) close parentheses
* * * * . full stop
* * * * , comma
* * * * ` apostrophe
* * * * + plus
* * * * space
* * * = equals
* * * ! exclamation mark
* * * % percent
15 February 2024 38
Standards MX XML for Standards MX Messages
General Information
MT MX
* * * And ampersand
* * * * asterisk
* * * ; semi-colon
* * @ at
* * # hash
* * $ dollar
* * * * CR carriage return
* * * * LF line feed
* \ back slash
* _ under score
* ^ circumflex
* ‘ grave accent
* | vertical line
* ~ tilde
* control character
15 February 2024 39
Standards MX XML for Standards MX Messages
General Information
Mandatory
< <
& &
Optional
` ' (or `)
Important This method for handling special characters applies irrespective of whether the full
Unicode character set, or only the restricted Basic Latin character set, is used.
Even characters that are shorter when represented as a character entity must use UTF-8 encoding.
This includes all the UTF-8 encoded characters that use more than 4 bytes. For example, CrLf
must be normalised into Lf (#xA). For more information, see the XML 1.0 Specification - Section
2.11 End-of-Line Handling.
15 February 2024 40
Standards MX XML for Standards MX Messages
General Information
encoding represents any Unicode character (or any character of the Universal Character Set) as a
sequence of bytes.
3.6 xs:any
Function of xs:any
The XML schema function xs:any allows Standards MX message instances to contain additional
information while retaining as much control as possible over the content. Customers can use this
function to insert a copy of a message into another message.
When the xs:any schema function is used, there are two XML schemas. The parent schema must
be an MX schema. The parent schema declares the open content by using xs:any. The child
schema describes the contents of xs:any.
XML Document
MX Message Instance
Message items
defined in schema 1
<container>
xs: any defined in ...
schema 2 <container>
D0960011
A valid XML document must be valid for both the parent schema (for the part outside the <any>)
and the child schema (for the part inside the <any>). The parent schema can use the parameter
processContents to set the validation level inside xs:any. For more information about the
processContents parameter, see processContents parameter on page 42.
Namespace parameter
The value of the namespace parameter specifies the type of element content permitted in the
namespace. The message instance must specify either one namespace from a list of namespaces,
or a predefined parameter value.
##any Any well-formed XML from any namespace. This is the default parameter
value.
15 February 2024 41
Standards MX XML for Standards MX Messages
General Information
##other Any well-formed XML from a namespace other than the target namespace of
the type being defined. Unqualified elements are not allowed.
processContents parameter
The parent schema can use the parameter processContents to set the validation level for xs:any.
strict The sender must specify the schema used by xs:any in the XML document. If
the receiver cannot locate the schema specified in the document, then the
document fails validation.
lax Any xs:any elements that are defined in the matching schema are validated.
Elements in the parent schema that are not defined in the matching schema
are allowed to pass through unvalidated.
Example
A user wants to extend the ISO 20022 message , using the SupplementaryData component from
the ISO 20022 message, to add a "Related Transaction Identification" element missing in the ISO
20022 message:
<Document
<Schema1>
....
contains the structure of the ISO 20022 message, including the last element as
SupplementaryData
....
<SplmtryData>
<PlcAndNm>"Xpath to where the element must be added in the ISO 20022 message"</
PlcAndNm>
<Envlp>
<Sup:Document xmlns:Sup="<schema2 namespace>"
<Sup:Schema2>
<Sup:RltdTxId>Id12345</Sup:RltdTxId>
</Sup:Schema2>
15 February 2024 42
Standards MX XML for Standards MX Messages
General Information
</Sup:Document>
</Envlp>
</SplmtryData>
</Schema1>
</Document>
15 February 2024 43
Standards MX MX Messages and InterAct
General Information
Exchange Request
RequestHeader
Crypto
D0960015
InterAct MX message blocks with Business Application Header
Exchange Request
RequestHeader
Document
Crypto
D0960023
15 February 2024 44
Standards MX MX Messages and InterAct
General Information
Business document A business document (message body). This is defined by an XML schema,
for example, CustomerCreditTransferInitiationV05 pain.001.001.05 or
SubscriptionOrderV03 setr.010.001.03 which defines the MX XML or
ISO 20022 structure. The MX message instance has a maximum payload
of 100 000 bytes.
15 February 2024 45
Standards MX MX Messages and InterAct
General Information
Note The application header is replaced by the business application header and it is
expected that there will be no new implementations using the application
header. Those services or solutions using the application header will remain
using it until it is agreed they should replace it with the business application
header.
• Network headers
The network headers contain information that is relevant for the networking application
transporting the messages. For example, the Distinguished Name (DN) of the sender and
receiver is specified in the RequestHeader and is used to deliver the message on SwiftNet.
• Security header
The security header contains information that is relevant to the application in charge of the
encryption or the signature of the messages.
15 February 2024 46
Standards MX MX Messages and InterAct
General Information
CharacterSet <CharSet> The additional character set(s) that some of the text-based
elements may contain.
Example: Basic Latin
From <Fr> The sending business application that has created this
business message for the receiving business application
that will process this business message.
15 February 2024 47
Standards MX MX Messages and InterAct
General Information
CreationDateTime <CreDt> The date and time when this business message (header)
was created. Times must be normalised, using the Z
annotation.
15 February 2024 48
Standards MX MX Messages and InterAct
General Information
Related information
The ISO 20022 BusinessApplicationHeader XML schema, the Message Definition Report and the
Message Usage Guide are available at
iso20022.org > Catalogue of ISO 20022 Messages
The ISO 20022 BusinessApplicationHeader XML schema and document is available on
MyStandards > Base Standards > MX > Business Area > Business Application Header
The ISO 20022 BusinessApplicationHeader XML enriched schema and MS Excel representation
are part of
MyStandards > Base Standards > Base Libraries > MX Enriched Schema Library and MX Enriched
Spreadsheet Library
Type
<Type>
From Max4Text
<From>
EntityIdentification EntityIdentifier
<Id>
Max30Text
Type
<Type>
To Max4Text
<To>
EntityIdentification EntityIdentifier
<Id>
Max30Text
ServiceName
<SvcName>
Max30Text
AppHdr
MessageName
<AppHdr> <MsgName>
Max30Text
MessageReference
<Ref>
Max30Text
CreationDateTime
<CrDate>
ISODateTime
Reference
<Ref>
Duplicate Max30Text
<Dup>
DuplicateIndication Justification
<Info>
D0960005
Max40Text
Business application <From> Identifies the application that has created the document.
from which the document
is received
15 February 2024 49
Standards MX MX Messages and InterAct
General Information
Business application to <To> Identifies the receiving application for which the document is
which the document is created.
sent
Service name <SvcName> Identifies the SwiftNet service to which the message belongs.
Message identifier <MsgName> A unique structured identifier that identifies the message.
Message reference <MsgRef> The sending application defines this unique identifier for the
message.
Creation date <CrDate> Date and time at which the message was created.
Duplicate <Dup> Used when the sending application has already tried to send
the document to the receiving application.
15 February 2024 50
Standards MX MX Messages and InterAct
General Information
15 February 2024 51
Standards MX MX Messages and InterAct
General Information
BNKAGB2L BNKBFRPP
Bank A, London Bank B, Paris
SWIFTNet
message A
RequestHeader
<RequestHeader>
<Requestor>o=bnkagb2l,o=swift</Requestor>
<Responder>o=bnkbfrpp,o=swift</Responder>
...
</RequestHeader>
<RequestPayload>
<AppHdr>
<MsgRef>ID1</MsgRef>
ApplicationHeader <CrDate>2014-03-31T09:00:00</CrDate>
<To>
<Tp>NAME</Tp>
<Id>Application B</Id>
</To>
Application B </AppHdr>
D0960003
15 February 2024 52
Standards MX MX Messages and InterAct
General Information
CRPAGB2L BNKBFRPP
Service Bureau Bank B, Paris
Corporate A
Private SWIFTNet
network message
<RequestHeader>
<Requestor>o=crpagb2l,o=swift</Requestor>
<Responder>o=bnkbfrpp,o=swift</Responder>
…
</RequestHeader>
<Request Payload>
<AppHdr>
Application A <MsgRef>ID2</MsgRef>
<CrDate>2014-03-31T10:00:00</CrDate>
<From>
<Tp>NAME</Tp>
<Id>Application A</Id>
</From>
<To>
<Tp>BIC</Tp>
<Id>BNKBFRPP</Id>
D0960004
</To>
</AppHdr>
15 February 2024 53
Standards MX MX Messages and InterAct
General Information
<RequestPayload> remains unchanged between corporate A and bank B. The Swift application
header contains no reference to MCUGNL2A. MCUGNL2A does appear in the request header.
BNKBFRPP
MACUG
Corporate A Bank B, Paris
MCUGNL2A
SWIFTNet SWIFTNet
message A message B
<RequestHeader>
<Requestor>o=crpagb2l,o=swift</Requestor>
<RequestHeader> <RequestHeader>
<Responder>o=mcugnl2a,o=swift</Responder>
<Requestor>o=crpagb2l,o=swift</Requestor> <Requestor>o=mcugnl2a,o=swift</Requestor>
… <Responder>o=mcugnl2a,o=swift</Responder> <Responder>o=bnkbfrpp, o=swift</Responder>
</RequestHeader>
… ...
...</RequestHeader> </RequestHeader>
<Payload>
<RequestPayload> <RequestPayload>
<AppHdr>
<AppHdr> <AppHdr>
<MsgRef>ID1</MsgRef>
<MsgRef>ID3</MsgRef> <MsgRef>ID4</MsgRef>
<CrDate>2005-02-16T09:00:00</CrDate>
<CrDate>2014-03-31T09:00:00</CrDate> <CrDate>2014-03-31T09:04:00</CrDate>
<From>
<From> <From>
<Tp>NAME</Tp>
<Tp>NAME</Tp> <Tp>NAME</Tp>
<Id>John Smith</Id>
<Id>John Smith</Id> <Id>John Smith</Id>
</From>
</From> </From>
<To><To> <To>
<Tp>NAME</Tp>
<Tp>NAME</Tp> <Tp>NAME</Tp>
<Id>Application B</Id>B</Id>
<Id>Application <Id>Application B</Id>
</To></To> </To>
...
</AppHdr> </AppHdr>
D0960002
</AppHdr>
15 February 2024 54
Standards MX MX Messages and InterAct
General Information
unaltered between corporate A and bank B. Corporate A creates the Swift application header. The
relay institution does not change the Swift application header.
BNKBFRPP
Corporate A RLAYNL2A Bank B, Paris
non-SWIFTNet SWIFTNet
message message
<RequestHeader>
<Requestor>o=rlaynl2a,o=swift</Requestor>
<Responder>o=bnkbfrpp,o=swift</Responder>
…
</RequestHeader>
<RequestPayload> Application B
<AppHdr>
<MsgRef>ID4</MsgRef>
<CrDate>2014-03-31T09:00:00</CrDate>
<From>
<Tp>NAME</Tp>
<Id>Corporate A</Id>
</From>
<To>
<Tp>NAME</Tp>
<Id>Application B</Id>
</To>
</AppHdr>
<Document>
…
</Document>
D0960001
</RequestPayload>
From May contain, for example, From May contain, for example,
a name, BIC or Uniform a name, postal address,
To Resource Identifier (URI) To BIC, proprietary
and so on. (Max30Text) identification, contact
details (and so on).
(OrganisationIdentificatio
n or
FinancialInstitutionIdentifi
cation)
Whilst the From and To elements have different definitions and the elements in the Business
Application Header are specified in structured elements and sub-elements, the intent of the From
and To elements in both headers is the same. The From element is used for the identification of
the sender, whether as a BIC, a name and address, a proprietary identification or a Uniform
Resource Identifier (URI). The To element is used for identification of the receiver, whether as a
BIC, a name and address, a proprietary identification or a Uniform Resource Identifier (URI). The
usage guidelines of the To and From elements may differ in the context of the different services,
for more information see MyStandards.
15 February 2024 55
Standards MX MX Messages and InterAct
General Information
Important It is NOT recommended that the From or To elements repeat the Distinguished Name
(DN) from the RequestHeader. Typically, the DN in the RequestHeader generically
identifies the SwiftNet recipient and sender, whereas a DN in the Application Header
or Business Application Header identify the business application within the institution.
This may be specified in the Name element of the Business Application Header
(From/FinancialInstitutionIdentification/Name),which allows up to 140 characters, or in
the From/EntityIdentifier element of the application header, which allows up to 30
characters.
15 February 2024 56
Standards MX MX Messages and InterAct
General Information
4.4 MX Message
The following diagram shows the structure of an MX message. Each block has its own message
definition and schema..
Exchange Request
Request
Crypto
D0960016
15 February 2024 57
Standards MX MX Messages and InterAct
General Information
Example of a pacs.008.001.08 message sent in the scope of the Swift Exceptions and
Investigations solution with InterAct:
</SwInt:ExchangeRequest>
15 February 2024 58
Standards MX MX Messages and InterAct
General Information
The first gives general information on the message’s function, whereas the second offers a
practical means to identify the message’s specificities driven by the business context in which it is
used. Those include:
• application header and supplementary data extension(s) presence and message definition
• usage guideline restrictions on or across application header, business document or
supplementary data extensions if any (for example, to help distinguish STP versus Core or
more Market Infrastructure-specific flavours)
Both values are either located:
• within Swift's network header
Request type and request subtype in the InterAct header respectively carry both values. They
enable Swift to validate the message without the need to scan through the full payload details.
The request subtype field is optional. Swift may derive the validation rules solely based on the
service name and request type combination in some cases. For more information, see the
SwiftNet Messaging Operations Guide.
• within the payload under the Business Application Header (BAH), unless dictated
otherwise by the Market Infrastructure's standards specifications:
CBPR+ usage guidelines (FINplus) impose the Business Application Header to contain both values
respectively in the MsgDefIdr and BizSvc elements, to make both values available end-to-end
throughout the transaction, in a predictable manner. This allows:
• to provide a simple means for back-office applications to process and route the message
without the need to look into the Business Document details
• to enable differentiated routing, compliance, visualisation at the sending and receiving of
SwiftNet interfaces
• to enable differentiated central validation, translation, copy on SwiftNet and/or FINplus central
services
15 February 2024 59
Standards MX MX Messages and InterAct
General Information
Any other identification mechanism would force back-office applications and interfaces to bridge
the two different identification mechanisms through manual customisations, adding unnecessary
complexity and opposing agility towards change.
Therefore, Swift strongly recommends Publishing organisations to impose similar restrictions in
their usage guidelines.
Usage identifier
The usage identifier is currently implemented as an editable meta information of a usage guideline
specification in MyStandards. It is assigned and published with the Business Usage specification
on MyStandards to facilitate coordination across all these domains.
The concept is open: any financial institution is free to define and publish a usage identifier by its
own means.
To ensure uniqueness, the usage identifier must respect the following format:
15 February 2024 60
Standards MX MX Messages and FileAct
General Information
SWIFTNet Headers
HeaderInfo
Payload
D0960020
SwiftNet Headers Among others, SwiftNet headers include information elements that are
necessary to perform the file transfer (for example requestor, responder, or
service).
15 February 2024 61
Standards MX MX Messages and FileAct
General Information
Technical requirements
Applications that send files must obtain the number of transactions in each file and specify this in
the TotalNumberOfTransactions data element for each file.
Data elements
The following elements and characteristics are available in this service profile.
Example
<ApplSpcfc xmlns="urn:swift:xsd:ApplSpcfc.TxsCntr.01">
<TxsCntr>
<TtlNbOfTxs>12345678</TtlNbOfTxs>
</TxsCntr>
</ApplSpcfc>
Schema
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns="urn:swift:xsd:ApplSpcfc.TxsCntr.01" xmlns:xs="http://
www.w3.org/2001/XMLSchema" targetNamespace="urn:swift:xsd:ApplSpcfc.TxsCntr.01"
elementFormDefault="qualified">
<xs:element name="ApplSpcfc" type="ApplSpcfc" />
<xs:complexType name="ApplSpcfc">
<xs:sequence>
<xs:element name="TxsCntr"
type="FileTransferHeaderTransactionsCounter1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="FileTransferHeaderTransactionsCounter1">
<xs:sequence>
<xs:element name="TtlNbOfTxs" type="Max15NumericText" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Max15NumericText">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{1,15}" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
15 February 2024 62
Standards MX MX Messages and FileAct
General Information
Technical requirement
The information that need to be copied to the third party must be included in the FileAct HeaderInfo
element because the file content itself is not copied to a third party.
It is assumed that the business sender and receiver of the file are the requestor and responder
indicated in the FileAct file headers.
Business applications
The Payment File Summary service profile is available for use by communities exchanging low-
value payments.
Data elements
The following elements and characteristics are available in this service profile.
15 February 2024 63
Standards MX MX Messages and FileAct
General Information
InterbankSettlem [1..1] <IntrBkSttlmD ISODate Date on which the Date on which the
entDate t> amount of money settlement takes
ceases to be place.
available to the agent
that owes it and
when the amount of
money becomes
available to the agent
to which it is due.
Example
<ApplSpcfc xmlns="urn:swift:xsd:ApplSpcfc.PmtSummry.01">
<PmtSummry>
<TtlIntrBkSttlmAmt Ccy="EUR">1912000.00</TtlIntrBkSttlmAmt>
<TtlNbOfTxs>12345678</TtlNbOfTxs>
<CdtDbtInd>CRDT</CdtDbtInd>
<IntrBkSttlmDt>2007-07-14</IntrBkSttlmDt>
15 February 2024 64
Standards MX MX Messages and FileAct
General Information
<FileId>6</FileId>
</PmtSummry>
</ApplSpcfc>
Schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:swift:xsd:ApplSpcfc.PmtSummry.02" xmlns:xs="http://
www.w3.org/2001/XMLSchema" targetNamespace="urn:swift:xsd:ApplSpcfc.PmtSummry.
02" elementFormDefault="qualified">
<xs:element name="ApplSpcfc" type="ApplSpcfc"/>
<xs:complexType name="ApplSpcfc">
<xs:sequence>
<xs:element name="PmtSummry"
type="FileTransferHeaderPaymentSummary2"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="CreditDebitCode">
<xs:restriction base="xs:string">
<xs:enumeration value="CRDT"/>
<xs:enumeration value="DBIT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CurrencyAndAmount_SimpleType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:fractionDigits value="5"/>
<xs:totalDigits value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CurrencyAndAmount">
<xs:simpleContent>
<xs:extension base="CurrencyAndAmount_SimpleType">
<xs:attribute name="Ccy" type="CurrencyCode" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="CurrencyCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{3,3}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="FileTransferHeaderPaymentSummary2">
<xs:sequence>
<xs:element name="TtlIntrBkSttlmAmt" type="CurrencyAndAmount"/>
<xs:element name="TtlNbOfTxs" type="Max15NumericText"/>
<xs:element name="CdtDbtInd" type="CreditDebitCode"/>
<xs:element name="IntrBkSttlmDt" type="ISODate"/>
<xs:element name="FileId" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="BkOprTp"
type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="SvcLvl"
type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ISODate">
<xs:restriction base="xs:date"/>
</xs:simpleType>
<xs:simpleType name="Max15NumericText">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{1,15}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max35Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
15 February 2024 65
Standards MX Understanding the Documentation
General Information
15 February 2024 66
Standards MX Understanding the Documentation
General Information
6.3 Messages
Message definition functionality
This section describes message scope, structure, and content for each message. It also provides
relevant business examples.
15 February 2024 67
Standards MX Understanding the Documentation
General Information
Structure
This section describes the message structure and hierarchy.
Or Indicates whether the message element or building block is part of a choice. { indicates
the start of the choice. } indicates the end of the choice.
Message Element / Part of a message. It can be a message element or a building block. (A message
Building Block element can be compared to a field in a Swift Standards MT message.) Each message
element or building block is completed with a Type. Individual message items are
described in the Message Item Description section.
15 February 2024 68
Standards MX Understanding the Documentation
General Information
XML Tag Short reusable name for the message element which appears in the XML schemas and
XML instances.
Multiplicity Indicates whether a message element or building block is optional or mandatory and
how many times the element can be repeated. The multiplicity is shown in square
brackets.
For example:
• [0..1]
The element or block can be present either 0 times or 1 time. The element or block
is optional and not repeatable.
• [1..1]
The element or block must be present 1 time.
• [1..n]
The element or block must be present 1 time and can be repeated n times.
Type This resembles the Content or Option column in SwiftNet FIN format.
If the cell contains one of the data type representations, then the type consists of a data
type. This is the lowest level of type. The data type specifies the possible values that a
message element can have. This can be a format specification such as the date
format .-MM-DD, or an enumeration that lists all possible codes. A data type
representation can be an Identifier, Code, Text, Rate, DateTime, Amount, Quantity, or
Indicator.
If the cell is shaded grey, then the type consists of a message component. Message
components are composed of message elements. Message elements appear at the
next nesting level in the message element column.
If a cell contains a plus sign, then types consist of a frequently reused message
component such as PartyChoice. This message component is fully described in the
Message Items Types section.
Constraint Number Reference to the rule or the guideline in the rules section of the message
documentation.
15 February 2024 69
Standards MX Understanding the Documentation
General Information
Presence Indicates whether a message element or building block is optional or mandatory and how
many times the element can be repeated. The multiplicity is shown in square brackets.
For example:
• [0..1]
The element or block can be present either 0 times or 1 time. The element or block is
optional and not repeatable.
• [1..1]
The element or block must be present 1 time.
• [1..n]
The element or block must be present 1 time and can be repeated n times.
Definition Contains the definition of the message, message building block, or message element.
Usage When relevant, provides additional usage information about the message element or
building block.
Data Type Provides a link to a description of the datatype. This is turn, provides information about how
to complete the message element. The type can be either a data type or a message
component. Message components are composed of further message elements.
Constraints
This section lists all the rules applied to the message. Applicable rules are also repeated at the
level of the message building block.
Message datatypes
This section describes the data types, such as amounts, code sets and dates. The data types are
classified by representation.
15 February 2024 70
Standards MX The Financial Glossary
General Information
15 February 2024 71
Standards MX Legal Notices
General Information
Legal Notices
Copyright
Swift © 2024. All rights reserved.
Restricted Distribution
Do not distribute this publication outside your organisation unless your subscription or order
expressly grants you that right, in which case ensure you comply with any other applicable
conditions.
Disclaimer
The information in this publication may change from time to time. You must always refer to the
latest available version.
Swift Standards Intellectual Property Rights (IPR) Policy - End-User License Agreement
Swift Standards are licensed subject to the terms and conditions of the Swift Standards IPR Policy
- End-User License Agreement, available at www.swift.com > About Us > Legal > IPR Policies >
Swift Standards IPR Policy.
Translations
The English version of Swift documentation is the only official and binding version.
Trademarks
Swift is the trade name of S.W.I.F.T. SC. The following are registered trademarks of Swift: 3SKey,
Innotribe, MyStandards, Sibos, Swift, SwiftNet, Swift Institute, the Standards Forum logo, the Swift
logo, Swift GPI with logo, the Swift GPI logo, and UETR. Other product, service, or company
names in this publication are trade names, trademarks, or registered trademarks of their respective
owners.
15 February 2024 72