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 указан банк получателя