Формат ISO 20022

ISO 20022 — международный стандарт обмена электронными сообщениями между организациями финансовой отрасли.

В России данный стандарт подготовлен Федеральным бюджетным учреждением «Консультационно-внедренческая фирма в области международной стандартизации и сертификации — «Фирма «ИНТЕРСТАНДАРТ» совместно с Центральным банком Российской Федерации на основе собственного аутентичного перевода на русский язык международного стандарта ISO 20022-1:2013 «Financial Services — Universal financial industry message scheme. Part 1: Metamodel».

Первая редакция стандарта была выпущена в 2008 году и состояла из 6 частей. В стандарте определены подходы к построению бизнес-моделей, порядок проектирования схем и форматов, правила описания бизнес-процессов, регламентируются процессы публикации документации по стандарту и инструкции по его сопровождению.

Самая актуальная редакция стандарта «Финансовые услуги — Универсальная схема сообщений для финансовой отрасли» была опубликована в мае 2013 года и состоит из следующих частей:

  • Метамодель (Metamodel);
  • UML-профайл;
  • Процесс моделирования;
  • Формирование схем XML;
  • Обратное проектирование;
  • Характеристики транспортировки сообщений;
  • Правила регистрации;
  • Формирование ASN.1;

По методологии ISO 20022 моделирование проводится по принципу «сверху вниз» или «от общего — к частному». При моделировании выделяются четыре основных этапа изучаемого объекта: обзорный, концептуальный, логический и физический уровень.

Бизнес-модели строятся с использованием унифицированного языка моделирования, который позволяет формировать наглядные графические диаграммы и схемы обмена.

В качестве синтаксиса ISO 20022 используется современный и гибкий язык XML. Схемы сообщений представляют собой XML-файлы (и схемы XSD), которые могут просматриваться с помощью программных средств различных разработчиков (например, XMLPad).

Стандарт включает следующие области:

  • Осуществление платежей и расчётов (создание платёжных документов, платёжный клиринг и расчёты, управление денежными средствами, ведение переписки по расследованиям и нештатным ситуациям);
  • Управление ценными бумагами (заключение сделок с ценными бумагами, расчёты и выверка расчётов, залоговые операции, клиринг по ценным бумагам, корпоративные действия и голосование по доверенности);
  • Осуществление торговых операций;
  • Работа с пластиковыми картами (кредитные и дебетовые), осуществление платежей по ним и управление транзакциями;
  • Работа с валютными операциями (конверсия).

Также в стандарте описываются базовые требования, которые предъявляются бизнес-процессами к транспортной системе передачи сообщений для обеспечения успешного функционирования этих процессов, и требования по обеспечению безопасности системы доставки сообщений.

Стандарт опубликован на сайте https://www.iso20022.org/ и является полностью открытым. В состав документации входит описание бизнес-процессов и различных сценариев по операциям, продемонстрированы XML-схемы сообщений и его XSD схемы, дополнительно размещены компоненты и элементы, которые включаются в сообщение.

Стандартом регламентируется порядок внесения предложений по разработке и развитию новых стандартов, их регистрации, внесение изменений в существующие сообщения путём официального оформления. Запрос для изменения текущих стандартов проходит официальные стадии согласования и утверждения как в ТК № 68   и Уполномоченном органе по регистрации, так и с локальными финансовыми сообществами отдельных стран.

Стандарт ISO 20022 был разработан Техническим комитетом № 68 Международной организации по стандартизации (ИСО).

SWIFT является уполномоченным органом по регистрации и сопровождению стандарта ISO 20022.

В развитии стандарта участвуют следующие организации: FIX Protocol Limited, ISDA, Omgeo, SWIFT, VISA;

В Российской Федерации внедрением стандарта ISO 20022 занимаются следующие организации:

  • Центральный Банк РФ;
  • Национальный расчётный депозитарий;
  • Национальный платёжный совет;
  • Российская Национальная Ассоциация SWIFT (РОССВИФТ);

Эксперты РОССВИФТ принимают активное участие в работе Подкомитета 3 и Технического Комитета 122 Банка России, а также Рабочей группы Подкомитета 3 по разработке стандартов Национальной платёжной системы с использованием сообщений ISO 20022.

Структура сообщения описывается следующим образом. Все бизнес сообщения передаются в XML конверте «PaymentMessages», формат которого описан в XML схеме PaymentMessages.xsd. XML конверт передаваемым участниками обмена, оформляется в виде файла в формате XML. При заполнении значений реквизитов в текстовых значениях полей используется кодировка кириллицы WIN-1251.

XML конверт имеет следующую структуру:

  • Корневой тег «PaymentMessages»
  • Блок «AppHdr» — Business Application Header (BAH) – прикладной заголовок электронного сообщения
  • Блок «Document» — Бизнес-сообщение – электронное сообщение, предназначенное для передачи бизнес данных между участниками обмена

Для корневого элемента PaymentMessages должен быть указан namespace «paymentmessages».

Пример указания namespace:

<PaymentMessages mlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» xmlns=»paymentmessages»>

Блок «AppHdr» указывается перед блоком «Document».

Таким образом, в XML конверте передаётся два блока: «AppHdr» (в нем передается служебная информация: отправитель, получатель, идентификатор сообщения, код формы и др. инф относящаяся к передаваемому документу) и блок «Document» — это бизнес-сообщение.

Формат блока «AppHdr» соответствует XML схеме head.001.001.01, namespace которой указывается в блоке «AppHdr». Правила заполнения блока «AppHdr» одинаковы для всех сообщений.

Пример указания namespace: <AppHdr xmlns=»urn:iso: std:iso:20022: tech: xsd: head.000.000.00»>.

Формат блока «Document» для каждого сообщения индивидуален и определяется атрибутом namespace (пространство имен), который соответствует XML схеме сообщения. Пример указания namespace: <Document xmlns=»urn: iso: std: iso: 20022: tech: xsd: pain.001.001.08″>

XML конверт должен валидироваться относительно XSD схемы конверта: PaymentMessages.xsd.

Заголовок Business application header (BAH) — head.001.001.01, далее AppHdr передается в XML конверте при передаче бизнес сообщения формата XML

Блок «AppHdr» указывается всегда после корневого тега, перед блоком «Document». Правила и перечень обязательных полей в блоке AppHdr приведены в Таблице

Таблица — Перечень полей и правила их заполнения в блоке AppHdr head.001.001.01

Поле/блокНаименование атрибутаxpathОбязательностьПримечание
FrОтправитель сообщения / From*/AppHdr/Fr/OrgId/Id/OrgId/Othr/IdОУказывается депозитарный код отправителя + */Othr/Issr=NSDR + */SchmeNm/Cd=NSDR
ToПолучатель сообщения / To*/AppHdr/To/OrgId/Id/OrgId/Othr/IdОУказывается депозитарный код получателя + */Othr/Issr=NSDR + */SchmeNm/Cd=NSDR
BizMsgIdrИдентификатор бизнес-сообщения / Business Message Identifier*/AppHdr/BizMsgIdrОУникальный идентификатор сообщения, который присваивается стороной, подготавливающей сообщение. Для сообщений, направляемых в НРД идентификатор сообщения должен удовлетворять требованиям: размер не более 16 символов; допускается использование в номере букв английского алфавита от A до Z(прописных), букв английского алфавита от a до z (строчных), цифр от 0 до 9, специальных символов (.,()+:?-/). Примечание: символы: -,/+ могут использоваться в любой позиции, за исключением первого символа.
MsgDefIdrИдентификатор сообщения в соответствии с ISO20022 / Message Definition Identifier*/AppHdr/MsgDefIdrОТип сообщения в соответствии с ISO20022. Формат: xxxx.NNN.NNN.NN, где x- прописные буквы латинского алфавита, N- цифры 0-9. Например: pain.001.001.08
BizSvcБизнес-сервис / Business Service*/AppHdr/BizSvcОКод формы документа. Например: PI011 или PI012 и др.
CreDtДата и время создания бизнес-сообщения / Creation Date*/AppHdr/CreDtОДата и время отправки сообщения. Время указывается по Гринвичу. Например:2015-06-01T13:00:00Z
RltdЗаголовок связанного бизнес-сообщения*/AppHdr/RltdНБлок */Rltd заполняется только в случае формирования сообщения MessageReject. Содержимое блока */Rltd копируется из блока */AppHdr исходного сообщения.

Пример заголовка AppHdr:

 <AppHdr xmlns=»urn:iso:std:iso:20022:tech:xsd:head.001.001.01″>

                   <Fr>

                            <OrgId>

                                      <Id>

                                               <OrgId>

                                                         <Othr>

                                                                  <Id>МС0126900000</Id>

                                                                  <SchmeNm>

                                                                            <Cd>NSDR</Cd>

                                                                  </SchmeNm>

                                                                  <Issr>NSDR</Issr>

                                                         </Othr>

                                               </OrgId>

                                      </Id>

                            </OrgId>

                   </Fr>

                   <To>

                            <OrgId>

                                      <Id>

                                               <OrgId>

                                                         <Othr>

                                                                  <Id>NDC000000000</Id>

                                                                  <SchmeNm>

                                                                            <Cd>NSDR</Cd>

                                                                  </SchmeNm>

                                                                  <Issr>NSDR</Issr>

                                                         </Othr>

                                               </OrgId>

                                      </Id>

                            </OrgId>

                   </To>

                   <BizMsgIdr>38545531A</BizMsgIdr>

                   <MsgDefIdr>pain.001.001.08</MsgDefIdr>

                   <BizSvc>PI011</BizSvc>

                   <CreDt>2017-04-27T10:57:00Z</CreDt>

         </AppHdr>

Само тело, например, кредитного перевод клиентских средств в формате ISO 20022 представлено ниже:

<CdtTrfTxInf>

<IntrBkSttlmAmt Ccy=’USD’>12500</IntrBkSttlmAmt>

<IntrBkSttlmDt>2009-10-29</IntrBkSttlmDt>

<Dbtr>

<Nm>Organization 1</Nm> <PstlAdr>

<StrtNm>Amstel</StrtNm><BldgNb>344</BldgNb>

<TwnNm>Amsterdam</TwnNm><Ctry>NL</Ctry>

</PstlAdr>

</Dbtr>

<DbtrAcct>

<Id>

<Othr>

<Id >8754219990</Id>

</Othr>

</Id>

</DbtrAcct>

<DbtrAgt>

<FinInstnId>

<BIC>EXABNL2U</BIC> </FinInstnId>

</DbtrAgt>

</CdtTrfTxInf>

  • Ccy – наименование валюты и сумма
  • IntrBkSttlmDt – дата платежа
  • в блоке Dbtr указан плательщик
  • в блоке DbtrAcct указан счёт плательщика
  • в поле BIC указан банк получателя