Skip to main content

Introduction—ISO 20022 Financial Messages

The section introduces ISO 20022 financial messages and usage practices within TKEY7.

TKEY7 — ISO 20022

The ISO 20022 standard is a modern and universal financial messaging format of a new generation, which is being introduced to standardize payment processing rules, regardless of geographical region. The structure of the messages used in the exchange of information must correspond to the structure of the messages of the electronic repository posted on the site www.iso20022.org.

TKEY7 supports the generally accepted financial messages pacs.002, pacs.004, pacs.008, pacs.009, camt.026, camt.029, camt.030, camt.056, camt.087, as well as its messages tkey.001, tkey.002, developed based on the methodology of the ISO international standard 20022 and taking into account internal practices for use within the system. Business messages should be generated by the server part of the Member and sent to TKEY7 for transmission to another Member.

Message Catalog

The TKEY7 electronic repository on the GitHub resource contains templates of financial XML messages, XML schemas (XSD), and examples of ISO 20022 messages used by TKEY7 Members.

Examples of using financial messages are provided in the Scenarios section.

Message Structure

TKEY7 Members use business messages to exchange information. Messages are generated by the target automated server system of the Member and sent to TKEY7 for transmission to another Member.

A business message consists of two blocks: a business header and business content.

  • The ISO 20022 head.001.001.03 message is used as the business header.
  • ISO 20022 financial messages are used as business content. The message’s names and designations are given in the electronic repository.

Business Message Structure

<Message xmlns="urn:tkeysettlement">
<AppHdr>
<!-- Business Header -->
</AppHdr>
<Document>
<!-- Business Content -->
</Document>
</Message>

When forming the structure of business messages, all namespaces must be qualified; it is necessary to use the namespace prefix in the data elements in the XML document.

Namespace Table

PrefixNamespace
headurn:iso:std:iso:20022:tech:xsd:head.001.001.03
tscisnurn:iso:std:iso:20022:tech:xsd:tkey.001.001.01
tstsnurn:iso:std:iso:20022:tech:xsd:tkey.002.001.01
tspsrurn:iso:std:iso:20022:tech:xsd:pacs.002.001.11
tsprurn:iso:std:iso:20022:tech:xsd:pacs.004.001.10
tsccturn:iso:std:iso:20022:tech:xsd:pacs.008.001.09
tscturn:iso:std:iso:20022:tech:xsd:pacs.009.001.09
tsutaurn:iso:std:iso:20022:tech:xsd:camt.026.001.09
tsroiurn:iso:std:iso:20022:tech:xsd:camt.029.001.11
tsnocaurn:iso:std:iso:20022:tech:xsd:camt.030.001.05
tspcrurn:iso:std:iso:20022:tech:xsd:camt.056.001.10
tsrtmpurn:iso:std:iso:20022:tech:xsd:camt.087.001.08

A configuration XSD file has been prepared for TKEY7 Members for reading, checking, and creating XML messages. It is necessary to change the value of /path/to in the schemaLocation attribute according to the directory of the Member’s server system where the XSD files are located.

Configuration XSD File

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="urn:tkeysettlement"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:head="urn:iso:std:iso:20022:tech:xsd:head.001.001.03"
xmlns:tscisn="urn:iso:std:iso:20022:tech:xsd:tkey.001.001.01"
xmlns:tstsn="urn:iso:std:iso:20022:tech:xsd:tkey.002.001.01"
xmlns:tspsr="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.11"
xmlns:tspr="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.10"
xmlns:tscct="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.09"

Rules Filling Business Header: Main Data Elements

<AppHdr>
<head:Fr>
<head:FIId>
<head:FinInstnId>
<!-- Registered BIC Code of the Message Sender -->
<head:BICFI>{bicfi}</head:BICFI>
<head:Othr>
<!-- Message Sender Member Identifier in TKEY7 -->
<head:Id>{member_identification}</head:Id>
TypeDescriptionStructureExample
BizMsgIdrUnique Business Message Identifier assigned by the message senderB + TKEY + YYYYMMDD + BICFI + Prefix + RandomNumber.BTKEY20220717BLUEUSNY001B0123456789
MsgDefIdrMessage Definition Identifier.Business area + Message identifier + Variant + Versionpacs.008.001.09
CreDtDate and time of business message creation. The time is normalized to the zero time zone — Z.Year + Month + Day + T + Time + Z.2022-07-17T13:29:00Z

BizMsgIdr Regex

^BTKEY([12]\d{3}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01]))([a-zA-Z]{4})([a-zA-Z]{2})(([2-9a-zA-Z]{1})([0-9a-np-zA-NP-Z]{1}))((([0-9a-wy-zA-WY-Z]{1})([0-9a-zA-Z]{2}))|([xX]{3})|11)[B,T]{1}[0-9]{10}$

BizMsgIdr Structure Description

TypeDescriptionNumber of Characters
BBusiness Message.1
TKEYSystem Identifier.4
YYYYMMDDCreation Date: year, month, day.8
BICFIRegistered BIC Code of the Financial Institution.11
PrefixPrefix Identifying who created the message. B — Member, T — TKEY7.1
RandomNumberRandom Number.10

Data Elements and Filling Identifiers Rules

TypeDescriptionStructureExample
MsgIdUnique Message Identifier.YYYYMMDD + CcyCode + assetGroupId + RandomNumber + BICFI20220717USDDSO0123456789BLUEUSNY001
IdUnique Case/Message/Notification Identifier.YYYYMMDD + CcyCode + assetGroupId + RandomNumber + BICFI20220718USDDSA2772750489GRENCHZZ002
InstrIdUnique Instruction Identifier.CcyCode + assetGroupId + YYYYMMDD + BICFI + Prefix + RandomNumberUSDDSO20220717BLUEUSNY001B123456789
EndToEndIdUnique End-To-End Identifier.xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx (UUIDv4)6cf0a51c25d6451cb6a5c2d684e70ae8
TxIdUnique Transaction Identifier.xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx (UUIDv4)b6274536bdd247d4a671c5150e107dc5

EndToEndId/TxId Regex

^[0-9A-F]{8}[0-9A-F]{4}4[0-9A-F]{3}[89AB][0-9A-F]{3}[0-9A-F]{12}$

MsgId/Id Structure Description

TypeDescriptionNumber of Characters
YYYYMMDDCreation Date: year, month, day.8
CcyCodeSettlement Currency Three-letter Code.3
assetGroupIdAsset Group Identifier.3
RandomNumberRandom Number.10
BICFIRegistered BIC Code of the Financial Institution.11

MsgId/Id Regex

^([12]\d{3}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01]))[A-Z]{3}(DSO|DSA|XXX)[0-9]{10}([a-zA-Z]{4})([a-zA-Z]{2})(([2-9a-zA-Z]{1})([0-9a-np-zA-NP-Z]{1}))((([0-9a-wy-zA-WY-Z]{1})([0-9a-zA-Z]{2}))|([xX]{3})|11)$

InstrId Structure Description

TypeDescriptionNumber of Characters
CcyCodeSettlement Currency Three-letter Code.3
assetGroupIdAsset Group Identifier.3
YYYYMMDDCreation Date: year, month, day.8
BICFIRegistered BIC Code of the Financial Institution.11
PrefixPrefix identifying who created the message. B — Member, T — TKEY7.1
RandomNumberRandom Number.9

InstrId Regex

^[A-Z]{3}(DSO|DSA|XXX)([12]\d{3}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01]))([a-zA-Z]{4})([a-zA-Z]{2})(([2-9a-zA-Z]{1})([0-9a-np-zA-NP-Z]{1}))((([0-9a-wy-zA-WY-Z]{1})([0-9a-zA-Z]{2}))|([xX]{3})|11)[B,T]{1}[0-9]{9}$
Page last updated: 26 November 2022