Сегодня как никогда прежде актуальным становится вопрос стандартизации процессов представления информации и обмена данными, а также совместимости различных систем и сервисов. Во всём мире этому вопросу уделяется очень большое внимание — как на государственном уровне, так и в среде технологических компаний.
Вместе с тем разработка стандарта является крайне непростой задачей, особенно если учесть, что помимо множества технических и организационных сложностей, необходимо учитывать интересы большого числа организаций и компаний, многие из которых конкурируют друг с другом.
С целью решения этой и других задач в январе 2002 года было создано Некоммерческое партнёрство «Стандарты электронного обмена информацией» (далее — Партнёрство), в состав которого вошли представители ведущих отечественных производителей программного обеспечения и финансовых организаций: АОЗТ «1С Акционерное общество», ЗАО «Банковские Информационные системы», Московское представительство «Microsoft», Представительство фирмы «Intel», ЗАО Парус, ООО «Intersoft Lab», ЗАО «Центр финансовых технологий», ЗАО «Эр-Стайл Софтлаб», ЗАО «Диасофт», Акционерный коммерческий Сберегательный Банк Российской Федерации, Ассоциация российских банков, Российская Национальная ассоциация Членов СВИФТ.
Высшим органом Партнёрства является общее собрание членов Партнёрства — Совет Партнёрства. В промежутках между его заседаниями работой Партнёрства руководит Совет директоров Партнёрства. Директор Партнёрства (Исполнительная дирекция) осуществляя от имени Партнёрства различные административные функции, как, например, представление Партнёрства в органах государственной власти, в отношениях с третьими лицами.
Как и в большинстве международных органов стандартизации, основным инструментом при выработке стандартов Партнёрства являются профильные комитеты по различным рынкам, отраслям или сегментам экономики. Состав комитетов формируется Советом директоров Партнёрства из членов Партнёрства и третьих лиц, участие которых способствует эффективной деятельности комитета.
В настоящий момент в состав Партнёрства входят два комитета: Комитет по банковской деятельности и Комитет по электронной коммерции. В свою очередь, Комитет по банковской деятельности объединяет три профильных подкомитета: Подкомитет по финансовой отчётности, Подкомитет по расчётам и Подкомитет по электронным банковским услугам. Каждый подкомитет имеет свой устав, а точнее Положение о соответствующем подкомитете Комитета по банковской деятельности Некоммерческого партнёрства «Стандарты электронного обмена информацией», в котором определены основные задачи, функции и компетенция, а также порядок формирования и деятельности Подкомитета. В своей деятельности подкомитет руководствуются этим Положением, («Положением об основных принципах формирования и деятельности Комитетов (Подкомитетов) Некоммерческого партнёрства „Стандарты электронного обмена информацией“»), а также другими нормативными документами Некоммерческого партнёрства «Стандарты электронного обмена информацией».
Так, Подкомитет по финансовой отчётности занимается разработкой стандартов электронного обмена информацией, а также справочников, систем классификации и кодирования в области подготовки, публикации и обмена финансовой отчётностью между банками, их клиентами, а также иными организациями и ведомствами, при общей координации этой деятельности Комитетом по банковской деятельности Партнёрства. Кроме того, работа Подкомитета предусматривает тесное взаимодействие с международными организациями по стандартизации финансовой отчётности, ЦБР и государственными органами.
Переедем к рассмотрению процедуры разработки и принятия стандартов, используя в качестве практической иллюстрации опыт создания проекта «Стандарта публикации финансовой отчётности коммерческих банков».
Как упоминалось выше, разработка стандартов осуществляется профильными Комитетами (Подкомитетами). Поскольку первый стандарт был подготовлен Подкомитетом по финансовой отчётности, в дальнейшем изложении будет фигурировать уровень подкомитета. Отметим, что определение уровня организационной единицы, в которой будет формироваться стандарт, зависит от рамок последнего — согласно «Положению о порядке разработки стандартов электронного обмена информацией», Комитет (Подкомитет) может заниматься разработкой только тех видов стандартов, о которых указано в положении о данном Комитете (Подкомитете).
«Формально» первым шагом при создании стандарта является внесение на рассмотрение соответствующего Подкомитета базового либо детального предложения по разработке стандарта:
предлагаемое наименование разрабатываемого стандарта;
обоснование необходимости разработки стандарта;
описание рынков (отраслей), где будет применяться данный стандарт;
предполагаемые пользователи стандарта — поставщики финансовой информации;
примерный перечень электронных документов, подлежащих стандартизации.
Инициатором такого предложения может выступать Совет директоров, Исполнительная дирекция, Комитет (Подкомитет), либо член Партнёрства.
После внесения базового предложения по разработке стандарта Подкомитет обязан в трёхмесячный срок принять решение о разработке данного стандарта, либо об отклонении предложения. В случае положительного решения Председатель Подкомитета, либо лицо (рабочая группа), определённое Подкомитетом, должен подготовить и вынести на рассмотрение Подкомитета документ «Определение стандарта», в котором помимо пунктов, представленных в базовом предложении, должны быть приведены следующие положения:
протокол взаимодействия;
язык описания формата;
начальный стандарт;
разработчик стандарта;
ответственный за разработку;
предварительную оценку необходимости финансирования.
В случае утверждения Подкомитетом этого документа, начинается разработка данного стандарта.
Отметим, что выше, в начале этого раздела при описания процедуры разработки стандарта, мы неслучайно употребили слово «Формально». Дело в том, что моменту появления базового предложения с последующим утверждением «Определения стандарта» предшествует большая исследовательская работа. Так, в ходе подготовки «Определения стандарта публикации финансовой отчётности коммерческих банков» были выявлены потенциальные пользователи стандарта — поставщики информации (банки и другие финансовые учреждения) потребители этой информации (клиенты банков и банки) и «посредники в этом процессе » (разработчики программного обеспечения).
Поэтому, данный стандарт можно характеризовать как документ, предназначенный для банковского сектора, то есть область применения этого стандарта связана с публикацией и обменом финансовой отчётности между банками, их клиентами, а также иными организациями и ведомствами.
Следующим шагом стало определение рамок применения стандарта — в качестве исходных документов стандартизации было решено остановиться на двух основных формах отчётности: 101 и 102-ая формах («Оборотной ведомости по счетам бухгалтерского учёта» и «Отчёту о прибылях убытках», соответственно). Выбор данных документов объясняется тем, что именно этих формы отчётности относятся к наиболее востребованным и позволяют наглядно продемонстрировать возможности и достоинства стандарта.
Наконец, потребовалось провести анализ существующих языков описания структуры и форматов данных, а также существующих стандартов с целью выявления наиболее подходящих для решения данной задачи. Так, определение расширяемого языка разметки XML в качестве языка описания формата означает упрощение существующих процессов взаимодействия с другими системами и передачи данных по различным протоколам. Выбор же Международного стандарта XBRL (eXtensible Business Reporting Language, Расширяемый язык бизнес-репортинга) в качестве начального стандарта позволяет воспользоваться мировым опытом в области разработки стандартов электронного обмена данными, а также создаёт предпосылки для взаимодействия с иностранными партнёрами при обмене финансовой информацией.
Результатом проведённой работы явилось «Определение стандарта публикации финансовой отчётности коммерческих банков», которое было принято на заседании Подкомитета по финансовой отчётности, состоявшегося в январе этого года. (Инициатором разработки данного стандарта выступила компания Intersoft Lab; она же была назначена Разработчиком стандарта и Ответственным за разработку.)
Согласно «Положению о порядке разработки стандартов электронного обмена информацией», фактическую разработку стандарта проводит Разработчик стандарта, руководствуясь документом «Определение стандарта» при непосредственном участии и контроле со стороны Ответственного за разработку.
Рассмотрим более подробно некоторые технологические аспекты процесса разработки, поскольку данный опыт может оказаться полезным создателям других стандартов.
В силу специфики области применение рассматриваемого стандарта и документов, подлежащих стандартизации, а также особенностей языка форматов и начального стандарта, процесс разработки стандарта распался на ряд последовательных этапов:
В начале потребовалось получить некое формальное описания структуры данных предметной области 101 и 102-ой форм. Результаты этого описания были оформлены в виде xls-таблицы (см. рисунок 1), позволяющей проследить иерархию показателей этих форм отчётности. Данное представление является основой для задания имён элементов (показателей финансовой отчётности) в таксономии и реальных документах и определениях связей (иерархий) между ними.
Рисунок 1. Графическое представление фрагмента балансового отчёта
Следующим шагом стало построение словаря (таксономии), описывающего данные предметной области на языке описания формата (языке XML). Данная таксономия является документом-схемой, которая отвечает требованиям Рекомендации W3C Schema (XML Schema Part 1: Structures и XML Schema Part 2: Datatypes), а также Рекомендации XBRL 2.0a (Specification XRBL 2.0a) — начального стандарта (см. фрагмент кода разработанной таксономии).
На данном этапе также был выполнен анализ рынка программных продуктов, предназначенных для создания таксономий. Причиной проведения данного исследования является необходимость автоматизации процесса формирования таксономии — «ручное» создание таких словарей представляет собой весьма трудоёмкую задачу, кроме того, в этом случае элиминируется сама идея автоматизации. В результате, было выявлено наличие нескольких как коммерческих версий таких продуктов, различающихся прежде всего надёжностью предоставляемых функциональных возможностей, так и бесплатных приложений, но представленных в виде альфа-версий (либо поддерживающих предыдущую Рекомендация XRBL — Specification XRBL 1.0).
После проведённого сравнительного анализа имеющихся программных средств было принято решение создать собственное решение, которое наиболее подходило бы поставленной задаче. С этой целью разработчики компании Intersoft Lab написали скрипт на языке программирования Python, который позволял выполнять генерацию схемы таксономии и баз связей.
Для того, чтобы разработанная таксономия не превратилась в документ «в самом себе», был подготовлен пример отчёта (для 101-ой и 102-й форм), реализованного в виде xml-файла (реального документа), который был сформированного с помощью имён (финансовых фактов), описанных в таксономии. Этот пример реального документа является иллюстрацией формата, в котором предлагается публиковать финансовую отчётность (см. фрагмент кода реального документа).
Необходимо отметить, что подобная практика широко применяется международными органами стандартизации. Так, в состав пакета таксономии «Primary Financial Statements (PFS, Основные финансовые отчёты), Financial Reporting for Commercial and Industrial Entities (Финансовая отчётность для коммерческих и промышленных организаций), International Accounting Standards (IAS, Международные стандарты финансовой отчётности)», о которой мы подробно писали в нескольких номерах Журнала (см. Журнал №21, №22 и №23) включён xml-файл примера финансовых отчётов некоторой вымышленной компании.
Логическим завершением процесса разработки проекта стандарта является его представление на рассмотрение членами профильного подкомитета, при этом регламент Партнёрства допускает многократное проведение процедур согласования разработанного стандарта.
Утверждение разработанного стандарта производится в соответствии с порядком, предусмотренным в положении о соответствующем Подкомитете — простым большинством голосов. Каждый член Подкомитета обладает одним голосом. При равенстве голосов голос Председателя Подкомитета считается решающим. Решения Подкомитетов вступают в силу после проведения очередного заседания Совета директоров, при условии, что они не были отклонены до этого момента.
В настоящий момент проект «Стандарта публикации финансовой отчётности коммерческих банков» находится на рассмотрении Подкомитета по финансовой отчётности — по нему ведётся переписка, осуществляется обмен мнениями, принимаются предложения.
Пример A.1. Фрагмент кода разработанной таксономии
<?xml version="1.0" encoding="windows-1251"?>
<!-- Schema built on XBRL 2.0. Copyright XBRL International. All Rights Reserved. -->
<!-- Created by Intersoft Lab. -->
<!-- Схема соответствует рекомендации XBRL 2.0. Копирайт XBRL International. Авторские права защищены. -->
<!-- Разработана Intersoft Lab. -->
<schema targetNamespace="urn:stp:stp-f102:1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xbrli="http://www.xbrl.org/2001/instance"
xmlns:link="http://www.xbrl.org/2001/XLink/xbrllinkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:stp-f102="urn:stp:stp-f102:1.0" elementFormDefault="qualified">
<import namespace="http://www.xbrl.org/2001/instance"
schemaLocation="http://www.xbrl.org/2001/xbrl-instance.xsd"/>
<!-- -->
<!-- Объявление элементов -->
<!-- -->
<element id="stp-f102_ОтчетПрибыляхУбытках"
name="ОтчетПрибыляхУбытках" abstract="true"/>
<element id="stp-f102_Доходы"
name="Доходы" abstract="true"/>
<element id="stp-f102_ВсегоДоходов_10000.СуммыОтОперацийРублях"
name="ВсегоДоходов_10000.СуммыОтОперацийРублях"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/>
<element id="stp-f102_НегосударственнымФинансовымОрганизациям_11111.СуммыОтОперацийРублях"
name="НегосударственнымФинансовымОрганизациям_11111.СуммыОтОперацийРублях"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/>
<element id="stp-f102_НегосударственнымКоммерческимОрганизациям_11112.СуммыОтОперацийРублях"
name="НегосударственнымКоммерческимОрганизациям_11112.СуммыОтОперацийРублях"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/>
<element id="stp-f102_НегосударственнымНекоммерческимОрганизациям_11113.СуммыОтОперацийРублях"
name="НегосударственнымНекоммерческимОрганизациям_11113.СуммыОтОперацийРублях"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/>
<element id="stp-f102_ИндивидуальнымПредпринимателям_11114.СуммыОтОперацийРублях"
name="ИндивидуальнымПредпринимателям_11114.СуммыОтОперацийРублях"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/>
<element id="stp-f102_Гражданам_ФизическимЛицам_11115.СуммыОтОперацийРублях"
name="Гражданам_ФизическимЛицам_11115.СуммыОтОперацийРублях"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item"/>
<element id="stp-f102_НормативныйИсточник"
name="НормативныйИсточник" type="string" substitutionGroup="link:part"/>
</schema>
Пример A.2. Фрагмент кода реального документа
<?xml version="1.0" encoding="windows-1251"?>
<!-- Sample instance built on XBRL 2.0. Copyright XBRL International. All Rights Reserved. -->
<!-- Created by Intersoft Lab. -->
<!-- Пример электронного документа соответствует рекомендации XBRL 2.0.-->
<!-- Копирайт XBRL International. Авторские права защищены. -->
<!-- Разработана Intersoft Lab. -->
<group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.xbrl.org/2001/instance"
xsi:schemaLocation="urn:stp:stp-f102:1.0 stp-f102-v2.xsd"
xmlns:stp-f102="urn:stp:stp-f102:1.0">
<!-- -->
<!-- Элементы с данными -->
<!-- -->
<stp-f102:ВсегоДоходов_10000.СуммыОтОперацийРублях
numericContext="Year2002">
2048767
</stp-f102:ВсегоДоходов_10000.СуммыОтОперацийРублях>
<stp-f102:НегосударственнымФинансовымОрганизациям_11111.СуммыОтОперацийРублях
numericContext="Year2002">
113
</stp-f102:НегосударственнымФинансовымОрганизациям_11111.СуммыОтОперацийРублях>
<stp-f102:НегосударственнымКоммерческимОрганизациям_11112.СуммыОтОперацийРублях
numericContext="Year2002">
80431
</stp-f102:НегосударственнымКоммерческимОрганизациям_11112.СуммыОтОперацийРублях>
<stp-f102:НегосударственнымНекоммерческимОрганизациям_11113.СуммыОтОперацийРублях
numericContext="Year2002">
735
</stp-f102:НегосударственнымНекоммерческимОрганизациям_11113.СуммыОтОперацийРублях>
<stp-f102:ИндивидуальнымПредпринимателям_11114.СуммыОтОперацийРублях
numericContext="Year2002">
2374
</stp-f102:ИндивидуальнымПредпринимателям_11114.СуммыОтОперацийРублях>
<stp-f102:Гражданам_ФизическимЛицам_11115.СуммыОтОперацийРублях
numericContext="Year2002">
19518
</stp-f102:Гражданам_ФизическимЛицам_11115.СуммыОтОперацийРублях>
<numericContext cwa="true" id="Year2002" precision="18">
<entity>
<identifier scheme="http://www.somebank.ru">Банк</identifier>
</entity>
<period>
<instant>2003-01-01</instant>
</period>
<unit>
<measure>RUB</measure>
</unit>
</numericContext>
</group>