ISO 20022 VS SWIFT MT financial messaging

ISO 20022 Standard Versus SWIFT MT

The ISO 20022 standard, launched in 2004, was designed for the financial industry as a universal messaging protocol developed by the International Organization for Standardization (ISO). The standard provides a common platform for the development of messages using a standardized approach, process, and methodology. It was created to streamline and improve cross-border and domestic payment communication.

Since its launch, ISO 20022 has seen accelerated adoption, including with the world’s major financial systems such as the Federal Reserve’s Fedwire Funds Service and the Society for Worldwide Interbank Financial Telecommunication (SWIFT).

The ISO 20022 messaging protocol has been gradually replacing the SWIFT MT messaging system. It’s helpful to know the comparisons between the old SWIFT MT system and the new ISO 20022 format. Below is a chart that describes the major differences between the two.

It is clear that the new ISO 20022 messaging standard has many advantages over SWIFT MT, especially when it comes to flexibility (XML with ISO 20022 versus rigid message types with SWIFT) and interoperability, as ISO 20022 is being adopted by the majority of financial systems worldwide.

To better understand how these two financial messaging systems differ from each other, let’s take a look at a couple examples of their different approaches towards typical bank messages.

SWIFT MT103 Credit Transfer

Here’s an example of a SWIFT MT 103 message (a standard format for credit transfer):

{1:F01BANKBEBBAXXX2222123456}{2:O1031535050421BANKBEBBAXXX22221234562350504211535N}{4:
:20:0061350113089908
:23B:CRED
:32A:050502EUR125000,
:33B:EUR125000,
:50K:JOHN DOE
:59:/BE68539007547034
JOHN DOE
:71A:SHA
-}{5:{CHK:22F534906C5396B5}}

This is a text-based format. Each “:” indicates a new field, and the code after that (like 20, 32A, 50K) indicates what the field represents. For instance, “20” is the transaction reference number, “32A” provides the date, currency, and amount, “50K” is the ordering customer, etc.

ISO 20022 Credit Transfer

Here’s an equivalent message under the ISO 20022 standard (specifically a pacs.008.001.02 message):

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02">
<FIToFICstmrCdtTrf>
   <GrpHdr>
      <MsgId>ABC/123456</MsgId>
      <CreDtTm>2007-12-18T08:00:00</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <SttlmInf>
         <SttlmMtd>CLRG</SttlmMtd>
         <ClrSys>
            <Prtry>ST2</Prtry>
         </ClrSys>
      </SttlmInf>
   </GrpHdr>
   <CdtTrfTxInf>
      <PmtId>
         <InstrId>ABC/123456/1</InstrId>
         <EndToEndId>ABC/123456/1</EndToEndId>
      </PmtId>
      <PmtTpInf>
         <SvcLvl>
            <Cd>SEPA</Cd>
         </SvcLvl>
      </PmtTpInf>
      <IntrBkSttlmAmt Ccy="EUR">125000</IntrBkSttlmAmt>
      <ChrgBr>SLEV</ChrgBr>
      <Dbtr>
         <Nm>John Doe</Nm>
      </Dbtr>
      <DbtrAcct>
         <Id>
            <IBAN>BE68539007547034</IBAN>
         </Id>
      </DbtrAcct>
   </CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>

SWIFT MT 900 Debit Confirmation

A MT 900 is a SWIFT message type that is sent by the account servicing institution to the account owner or to a third party acting on behalf of the account owner. It is a confirmation of the debit of an account.

{1:F01BANKDEFMAXXX2039063581}{2:O9001155050515BANKDEFXAXXX895498294589589960515BANKDEFXAXXX8954982945N}{4:
:20:DEBIT
:21:NONREF
:25:123456789
:28C:1/1
:60F:D051204USD123456,78
:61:0512041204D123456,78NMSCNONREF//123456
:86:FOREIGN EXCHANGE
-}{5:{CHK:0FEC1F9062B4}}

This is a text-based format. Each “:” indicates a new field, and the code after that (like 20, 60F, 61) indicates what the field represents. For instance, “20” is the transaction reference number, “60F” is the opening balance, “61” provides details about the transaction, etc.

ISO 90022 Debit Confirmation

There isn’t a direct equivalent to MT 900 in ISO 20022, as ISO 20022 tends to break down the messages into more specific use cases compared to MT messages. However, the following example is a CAMT.052 (Bank To Customer Account Report), which serves a similar purpose:

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02">
<BkToCstmrAcctRpt>
   <GrpHdr>
      <MsgId>MSGID1234</MsgId>
      <CreDtTm>2007-12-18T08:00:00</CreDtTm>
   </GrpHdr>
   <Rpt>
      <Id>RPTID1234</Id>
      <Acct>
         <Id>
            <IBAN>123456789</IBAN>
         </Id>
         <Ownr>
            <Nm>John Doe</Nm>
         </Ownr>
      </Acct>
      <Ntry>
         <Amt Ccy="USD">123456.78</Amt>
         <CdtDbtInd>DBIT</CdtDbtInd>
         <Sts>BOOK</Sts>
         <BookgDt>
            <Dt>2007-12-18</Dt>
         </BookgDt>
         <ValDt>
            <Dt>2007-12-18</Dt>
         </ValDt>
         <AddtlNtryInf>FOREIGN EXCHANGE</AddtlNtryInf>
      </Ntry>
   </Rpt>
</BkToCstmrAcctRpt>
</Document>

In this XML format, each XML tag represents a specific field in the report. For example, “<MsgId>” is the message identification, “<IBAN>” is the International Bank Account Number, “<Nm>” is the name of the account owner, “<Amt Ccy>” provides the transaction amount and currency, etc.

Similar Posts