Правила формирования отчетности в формате XBRL-CSV и ее представления в Банк России "(утв. Банком России)"

ЦЕНТРАЛЬНЫЙ БАНК РОССИЙСКОЙ ФЕДЕРАЦИИ

ПРАВИЛА

ФОРМИРОВАНИЯ ОТЧЕТНОСТИ В ФОРМАТЕ XBRL-CSV

И ЕЕ ПРЕДСТАВЛЕНИЯ В БАНК РОССИИ

(Действительны при подготовке отчетности по таксономии XBRL

Банка России версии 3.2 и выше - версия 1.1 от 20.04.2021)

1. ВВЕДЕНИЕ

1.1. Условные обозначения, сокращения и термины

В случае если в настоящих правилах используются формулировки "должен, должны", то при подготовке файла в формате XBRL необходимо однозначно следовать рекомендации, содержащей данную формулировку. Файлы в формате XBRL-CSV, не соответствующие таким рекомендациям, с большой долей вероятности будут признаны системой сбора Банка России некорректными и отклонены.

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

Рекомендации, правила, содержащие формулировку "может, можно", подразумевают разрешение и описывают действия, которые могут быть предприняты, и конструкции, которые могут быть использованы.

Таблица 1

Понятие

Определение

CSV-файл данных

Текстовый файл, содержащий информацию в табличном виде с разделением полей специальным символом.

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

Decimals

Разрядность

XBRL (eXtensible Business Reporting Language)

Расширяемый язык деловой отчетности - формат передачи регуляторной, финансовой и другой отчетности

Аспект показателя

Группа атрибутов, определяющих для показателя информацию о дате или периоде актуальности значения показателя;

Наименования концепта;

Принадлежность показателя к аналитическим разрезам (открытым осям);

Определение показателя в разрезе набора значений членов закрытых осей

Валидация подготовленной отчетности

Группа проверок информации из набора файлов отчета

Единица измерения (unit)

Фрагмент, описывающий единицу измерения факта в файле с отчетными данными. Каждый <unit> элемент в файле с отчетными данными содержит информацию по одной отдельной единице измерения

Закрытая ось (Axis)

Элемент таксономии, связанный с фиксированным перечнем компонентов, в разрезе которых предполагается раскрытие информации

Контекст (context)

Элемент, содержащий информацию об отчитывающейся организации (entity), периоде (period), за который раскрывается факт, и информацию об аналитических разрезах, суммарно позволяющих интерпретировать данные по отчетным показателям

Контрольные соотношения

Совокупность зависимостей между показателями и (или) требований к значениям показателей, описывающая логику взаимосвязи показателей и (или) их значений. Контрольные соотношения реализованы как в таксономии XBRL Банка России, так и за ее пределами. К контрольным соотношениям за пределами таксономии XBRL Банка России относятся контрольные соотношения для проверки на соответствие значений справочникам, классификаторам, реестрам, контрольные соотношения в части сравнительных данных, структурных соотношений, наличия (отсутствия) лицензий

Лица, ответственные за предметную область отчетности

Фактические исполнители, подготовившие ту или иную область файла XBRL

Маппинг

Процесс сопоставления колонок в файле данных CSV с определением колонок в сервисном файле JSON или само определение колонок в сервисном файле JSON

Набор файлов отчета

Список файлов, интерпретируемый как один отчет, содержит необходимый и достаточный набор CSV файлов данных и один сервисный файл в формате JSON

НП

Не применимо

Открытая ось (Taxis)

Элемент таксономии, позволяющий отчитывающейся организации декларировать (объявлять) компоненты аналитического разреза в составе отчетного документа. Используются как идентификаторы отчетных сущностей (например, идентификаторы контрагентов, дебиторов, кредиторов, застрахованных лиц, вкладчиков, связанных сторон, ценных бумаг, объектов недвижимого имущества и пр.); сущности в свою очередь обогащены реестровой информацией (ИНН, ОГРН, ISIN, наименование и пр.)

Отчет XBRL (instance файл)

Отчетный файл в формате .xml или .xbrl, представляемый в Банк России отчитывающейся организацией в соответствии с таксономией Банка России на основании требований нормативных актов Банка России. Содержит факты о деятельности организации, соответствующие концептам, определенным в таксономии XBRL, на основе которой формируется файл. Содержит контексты (context) и единицы измерения (unit), которые представляют дополнительную информацию для интерпретации фактов в файле с отчетными данными

Отчетная дата

Значение элемента сервисного файла "reportDate", являющееся датой, по состоянию на которую организация представляет отчетные данные в формате XBRL-CSV в Банк России

Отчетный показатель (concept)

Определение типа факта, который может быть сообщен о деятельности или природе бизнес-процесса

Отчитывающаяся организация

Финансовая организация, которая в соответствии с требованиями Банка России должна представлять отчетность в формате XBRL или XBRL-CSV в Банк России

Расширенная роль

Роль - уникальное сочетание показателей, а также осей и аналитических признаков, в разрезе которых данные показатели представляются. Расширенная роль составляет часть модели данных

Сервисный файл JSON

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

Список с фиксированным перечнем для выбора (Enumerator)

Элемент таксономии, содержащий в себе фиксированный перечень компонентов и представляющий собой выпадающий список значений, интерпретируемых в качестве фактов (спецификация Extensible Enumerations 1.0 https://specifications.xbrl.org/spec-group-index-extensible-enumerations.html)

Структурные элементы файла XBRL-CSV

Синтаксические элементы файла XBRL-CSV, являющиеся основными элементами, формирующими структуру файла XBRL

Схема проверки сервисного файла JSON DRAFT7

Набор связанных JSON файлов, являющихся DRAFT7 схемой JSON. Определяет необходимые элементы сервисного файла JSON, содержит требования к значениям элементов сервисного файла

Таксономия XBRL Банка России

Таксономия, которая должна использоваться отчитывающимися организациями для формирования файлов в формате XBRL и XBRL-CSV, представляемых в Банк России

Точка входа

Схема таксономии XBRL Банка России, определяющая набор отчетных показателей, их аналитических разрезов и применимых контрольных соотношений. Точка входа представляет собой сценарий представления отчетных данных в Банк России. Точка входа определяет набор данных, представляемых в Банк России в зависимости от срока представления, отчетного периода, типа отчитывающейся организации, применяемого стандарта формирования отчетности и иных критериев. Список точек входа размещен на официальном сайте Банка России по адресу (http://www.cbr.ru/projects_xbrl/taxonomy_xbrl/) в составе сопроводительных документов к таксономии XBRL Банка России

Точка данных

Элемент файла XBRL-CSV. Представляет собой комбинацию отчетного показателя (concept) и контекста.

Пример: денежные средства на расчетных счетах (concept) по состоянию на 31.03.2018 (dimensional value 1), в кредитной организации 1 (dimensional value 2), в рублях (dimensional value 3)

Файл XBRL-CSV (instance файл)

Файл в формате .csv, представляемый в Банк России отчитывающейся организацией в соответствии с таксономией Банка России на основании требований нормативных актов Банка России. Содержит факты о деятельности организации, соответствующие концептам, определенным в таксономии XBRL, на основе которой формируется файл. Содержит контексты (context) и единицы измерения (unit), которые представляют дополнительную информацию для интерпретации фактов в файле с отчетными данными

Факт (fact)

Информация, которая содержится в файле XBRL-CSV и представляется в Банк России. Факт имеет значение, связанное с отчетным показателем (concept) таксономии XBRL Банка России, а также контекстную информацию (context), ассоциированную с ним

1.2. Область применения

Процесс подготовки отчетности в формате XBRL для представления в Банк России является итерационным и состоит из ряда последовательных этапов: 1) подготовка отчетности отчитывающейся организацией; 2) валидация подготовленной отчетности; 3) корректировка подготовленной отчетности (при необходимости); 4) представление отчетности в Банк России.

Настоящий документ разработан в соответствии с пунктом 1.3 Указания Банка России от 19.12.2019 N 5361-У "О порядке взаимодействия Банка России с кредитными организациями, некредитными финансовыми организациями и другими участниками информационного обмена при использовании ими информационных ресурсов Банка России, в том числе личного кабинета" и представляет собой совокупность дополнительных правил и инструкций, которые необходимо соблюдать (учитывать) отчитывающимся организациям при создании набора файлов отчета XBRL-CSV (instance файла) для представления в Банк России.

Настоящие правила не заменяют собой требований, изложенных в нормативных актах Банка России, регламентирующих порядок составления и представления в Банк России отчетности в формате XBRL. При наличии противоречий между настоящими правилами и требованиями, изложенными в нормативных актах Банка России, при формировании отчетности в формате XBRL следует руководствоваться требованиями, изложенными в нормативных актах Банка России.

Данными правилами необходимо руководствоваться только при подготовке файла XBRL-CSV с целью представления в Банк России. В иных случаях при подготовке набора файлов отчета XBRL-CSV организации могут создавать отчеты, руководствуясь инструкциями запрашивающей отчетность организации, собственными соображениями и экспертным мнением.

Данные правила рекомендуется применять только при подготовке отчетности в формате XBRL-CSV по следующим точкам входа:

Тип НФО (Модуль таксономии)

Техническое наименование точки входа

НПФ

ep_nso_npf_q_30d_reestr_0420258

НПФ

ep_nso_npf_y_90d_reestr_0420257

НПФ

ep_nso_npf_y_90d_reestr_0420258

ПУРЦБ

ep_nso_purcb_m_10d_reestr_0420417

ПУРЦБ

ep_nso_purcb_m_q_10d_reestr_0420417

ПУРЦБ

ep_nso_purcb_y_10d_reestr_0420417

Пакет отчетности в формате xbrl-csv рекомендуется формировать при превышении размера 70 Мб zip-архивом, содержащим отчетный (в формате xbrl) и сервисный файлы.

Представление отчетности в формате xbrl-csv возможно начиная с отчетной даты 30.04.2021.

При формировании отчетности XBRL по точкам входа, не представленным в таблице выше следует руководствоваться Правилами формирования отчетности в формате XBRL и ее представления в Банк России.

В основу настоящего документа положены стандарты формирования отчета XBRL 1.0 (Financial Reporting Instance Standards 1.0), XBRL 2.1, XBRL Dimensions 1.0, xBRL-CSV requirements 1.0, xBRL-CSV design 1.0, xBRL-CSV: mapping from Open Information Model 1.0, подготовленные международным консорциумом XBRL International.

1.3. Различие моделей форматов XBRL и XBRL-CSV

Формат XBRL-CSV на прямую проистекает из формата XBRL.

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

При этом у формата XBRL-CSV имеется ряд отличий от формата XBRL:

- отсутствует понятие членов закрытых осей по умолчанию. Это означает, что привязка к членам осей, которые определены в таксономии как "default" (в формате XBRL такие оси не указываются в контекстах показателей) в формате XBRL-CSV должна быть указана явно;

- также есть различия в парадигмах форматов XSD (для XBRL) и JSON (для XBRL-CSV);

- XSD описывает правила формирования XML, которые исходят из парадигмы "можно только то, что разрешено", при этом JSON DRAFT использует другую парадигму: "Можно все, что не запрещено". Это делает XSD-формат более строгим. Парадигма JSON DRAFT позволяет внести в сервисный файл противоречивую информацию, которая может быть интерпретирована неверно, что может привести к искажению расчетов.

1.4. Набор файлов примеров

При изучении формата XBRL-CSV предлагается использовать прилагающиеся примеры отчетов.

Примеры содержат набор файлов отчетов XBRL-CSV по точке входа http://www.cbr.ru/xbrl/nso/npf/rep/2018-03-31/ep/ep_nso_npf_y_90d_reestr_0420257.xsd и полностью соответствующий этому примеру отчет в формате XBRL-XML (в классическом представлении данных XBRL).

Состав набора:

- Service_1111111111111__ep_nso_npf_y_90d_reestr_0420257_20190110.json - сервисный файл набора файлов отчета по точке входа http://www.cbr.ru/xbrl/nso/npf/rep/2018-03-31/ep/ep_nso_npf_y_90d_reestr_0420257.xsd;

- XBRL_1111111111111_ep_nso_npf_y_90d_reestr_0420257_20190110_1.csv - csv файл данных показателей из расширенной роли http://www.cbr.ru/xbrl/nso/npf/rep/2018-03-31/tab/sr_0420257 имеющих в аспекте открытую ось dim-int:ID_Zastraxovannogo_LiczaTaxis;

- XBRL_1111111111111_ep_nso_npf_y_90d_reestr_0420257_20190110_2.csv - csv файл данных показателей из расширенной роли http://www.cbr.ru/xbrl/nso/npf/rep/2018-03-31/tab/sr_sved_otch_org имеющих в аспекте открытую ось dim-int: PrOblastOtcetnostiTaxis;

- XBRL_1111111111111_ep_nso_npf_y_90d_reestr_0420257_20190110_3.csv - csv файл данных показателей из расширенной роли

- http://www.cbr.ru/xbrl/nso/npf/rep/2018-03-31/tab/sr_sved_otch_org не имеющих в аспекте открытых осей;

- 130_ep_nso_npf_y_90d_reestr_0420257.xml - XBRL отчет (в классическом XML формате) полностью соответствующий примеру отчета в формате XBRL-CSV.

2. ОБЩИЕ МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ

2.1. Правила формирования архивов для представления

файлов в формате XBRL-CSV в Банк России

Отчетность в формате XBRL-CSV должна представляться в Банк России в виде зашифрованных архивов с расширением .zip. Размер архива не должен превышать 5 Гб. При необходимости представления в Банк России архивов размером более 5 Гб следует направить заявку в службу поддержки Единого личного кабинета участников финансового рынка на адрес электронной почты espp@cbr.ru.

Архив, содержащий набор файлов отчета в формате XBRL-CSV, в обязательном порядке должен иметь следующую структуру:

- сервисный файл с расширением .json с учетом регистра (Service_ОГРН/ОГРНИП_ТочкаВхода_ДатаЗавершенияОтчетногоПериода.json);

- файл(ы) отчета с расширением .csv с учетом регистра (instance файлы, XBRL_ОГРН/ОГРНИП_ТочкаВхода_ДатаЗавершенияОтчетногоПериода.csv или XBRL_ОГРН/ОГРНИП_ТочкаВхода_ДатаЗавершенияОтчетногоПериода_<номер тома>.csv) (более подробно - см. раздел 2.3.1).

Дополнительно в составе архива могут содержаться сопроводительные документы с расширением .doc, .pdf и иные (кроме исполняемых файлов, файлов с расширением .json, .csv).

Если в состав архива включается пояснительная записка, рекомендуется, чтобы файл имел наименование "pz.doc".

Если в состав архива включается электронная копия распорядительного документа о назначении лица, подписавшего отчетность, исполняющим обязанности руководителя отчитывающейся организации, на период, соответствующий дате подписания отчетности (представляется только в случае, если отчетность подписана лицом, исполняющим обязанности руководителя отчитывающейся организации), рекомендуется, чтобы файл имел наименование "order.pdf"

Если в состав архива включается электронная копия плана оздоровления финансового положения страховой организации и приложений к нему (представляются страховой организацией в соответствии с Указанием Банка России от 30.12.2014 N 3522-У "О требованиях к плану оздоровления финансового положений страховой организации" в случае нарушения нормативного соотношения собственных средств (капитала) и принятых обязательств, выявленного страховой организацией на отчетную дату), рекомендуется, чтобы файл имел наименование "recovery.pdf".

Детальная структура архива представлена в Приложении 1 к настоящим правилам.

Для формирования и отправки архива отчитывающейся организации необходимо выполнить следующие действия:

1) заархивировать файл(ы) XBRL-CSV в формате CSV (*.csv), сопроводительный (сервисный) файл (Service.json), а также иные сопроводительные файлы при помощи программы архиватора в единый архив формата .zip.

При этом архив должен иметь следующее наименование CSV_ОГРН/ОГРНИП_ТочкаВхода_ДатаЗавершенияОтчетногоПериода.zip

Пример: CSV_1234567891234_ep_nso_npf_y_90d_reestr_0420257_20201231.zip

Правила именования архивов представлены в таблице 2;

2) подписать полученный архив усиленными квалифицированными электронными подписями (далее - УКЭП). Если архив подписывается одной УКЭП, это можно сделать непосредственно из интерфейса Единого личного кабинета участника информационного обмена в интерфейсе отправки сообщения, либо до отправки сообщения с помощью программы КриптоАрм (в результате чего будет получен файл отсоединенной подписи с расширением .zip.sig).

Пример: CSV_1234567891234_ep_nso_npf_y_90d_reestr_0420257_20200531.zip.sig

В случае, если в соответствии с требованиями нормативных актов Банка России, регламентирующих порядок составления и представления в Банк России отчетности в формате XBRL, архив должен быть подписан двумя УКЭП, то подписание осуществляется с помощью программы КриптоАРМ. Расширения полученных двух файлов отсоединенной подписи должны быть переименованы следующим образом: zip.1.sig и zip.2.sig).

Пример: CSV_1234567891234_ep_nso_npf_y_90d_reestr_0420257_20201231.zip.1.sig и CSV_1234567891234_ep_nso_npf_y_90d_reestr_0420257_20201231.zip.2.sig.

Внимание! Пакеты отчетности, содержащие более двух отсоединенных файлов электронной подписи, будут отклонены;

3) оригинальный архив (согласно п. 1) и отсоединенную(ые) подпись(и) (согласно п. 2) необходимо поместить в единый архив с расширением .zip.

Наименование файла архива должно быть следующим:

ОГРН/ОГРНИП_ТочкаВхода_ДатаЗавершенияОтчетногоПериода.zip

Пример: 1234567891234_ep_nso_npf_y_90d_reestr_0420257_20201231.zip

Подготовленный таким образом архив необходимо зашифровать средствами программы КриптоАРМ.

Наименование зашифрованного файла должно быть следующим:

ОГРН/ОГРНИП_ТочкаВхода_ДатаЗавершенияОтчетногоПериода.zip.enc.

Внимание! При отправке уже зашифрованного программой КриптоАРМ архива приложение сертификата пользователя в интерфейсе Единого личного кабинета участника информационного обмена не требуется (поле "Сертификаты" необходимо оставлять пустым).

Таблица 2

Описание наименования пакета передаваемой в Банк России отчетности в формате XBRL-CSV

Символ (набор символов) в наименовании архива

Расшифровка символа (набора символов) в наименовании архива

CSV

Обязательный компонент наименования архива, который должен содержаться во всех наименованиях архивов

ОГРН/ОГРНИП

Основной государственный регистрационный номер отчитывающейся организации (ОГРН), состоит из 13 цифр/Основной государственный регистрационный номер индивидуального предпринимателя (ОГРНИП), состоит из 15 цифр

Точка входа

Шифр точки входа таксономии XBRL Банка России, в соответствии с которой в Банк России представляется массив отчетных данных, содержащихся в файле XBRL (instance файле). Набор всех точек входа содержится в таксономии XBRL Банка России и в составе сопроводительных материалов к таксономии XBRL Банка России, публикуемых на официальном сайте Банка России по адресу: http://www.cbr.ru/projects_xbrl/taxonomy_xbrl

Дата завершения отчетного периода

Отчетная дата, по состоянию на которую организация представляет отчетные данные в формате XBRL в Банк России (в формате ГГГГММДД)

2.2. Требования к сервисному файлу Service.json

Сервисный файл JSON описывает каждый csv файл из набора файлов отчета и определяет каждую колонку в каждом таком csv файле. Другими словами: JSON сервисный файл описывает каждую колонку каждого csv файла, при этом максимальное количество строк csv файлов не определено и увеличивается при добавлении новых фактов.

Сервисный файл JSON должен соответствовать требованиям схемы DRAFT7, точка входа которой указана как значение элемента "dtsReferences/href".

Пример (фрагмент сервисного файла JSON):

"dtsReferences":
{
 "href":"http://www.cbr.ru/xbrl_csv/2018-03-31/20200601/ep_nso_npf_y_90d_reestr_0420257.def.ep.json",
 "type":"schema"
}

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

В зависимости от указанной точки входа сервисный файл должен (или может) содержать определенный набор csv файлов с определенным набором как обязательных, так и допустимых колонок (описанных в сервисном файле).

2.2.1. Требования по формированию сервисного файла маппинга

Сервисный файл маппинга должен являться json-файлом установленного формата и соответствовать схеме DRAFT7 указанной как значение элемента "href в разделе "dtsReferences".

Сервисный файл должен содержать определения всех csv файлов, входящих в состав набора файлов отчета.

2.2.2. Состав сервисного файла JSON

Сервисный файл состоит из трех уровней:

- уровень общей информации;

- уровень описания csv-файла (таблицы);

- уровень описания колонок.

2.2.3. Уровень общей информации сервисного файла

Уровень общей информации содержит описание общих требований к файлам csv, а также глобальные аспекты:

- допустимую кодировку csv-файлов: элемент "encoding";

- разделитель колонок csv-файлов: элемент "delimiter";

- квалификатор текстовых значений: элемент "textQualifier";

- максимальное количество символов одного значения: элемент "textValueLengthLimit";

- аспект "ОГРН отчитывающейся организации": элемент "identifier";

- аспект "Отчетная дата": элемент "reportDate";

- ссылка на версию информационной модели: элемент "documentType";

- массив всех используемых пространств имен: элемент "prefixes";

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

Пример уровня общей информации (фрагмент сервисного файла JSON):

"@context": "http://www.w3.org/ns/csvw",
"encoding": "UTF-8",
"delimiter": ";",
"identifier": "1111111111111",
"reportDate": "2019-01-10",
"documentType": "http://www.cbr.ru/2018-03-31/xbrl-csv",
"textQualifier": "\",
"documentVersion": "http://www.cbr.ru/xbrl_csv/2018-03-31/20200601",
"textValueLengthLimit": 4096,
"prefixes": [
  {
   "schema": "http://xbrl.org/entity/identification/scheme"
  },
  {
   "iso4217": "http://www.xbrl.org/2003/iso4217"
  },
  {
   "mem-int": "http://www.cbr.ru/xbrl/udr/dom/mem-int"
  },
  {
   "dim-int": "http://www.cbr.ru/xbrl/udr/dim/dim-int"
  },
  {
   "xbrli": "http://www.xbrl.org/2003/instance"
  },
  {
   "xbrldi": "http://xbrl.org/2006/xbrldi"
  },
  {
   "enum": "http://xbrl.org/2014/extensible-enumerations"
  },
  {
   "xbrl": "http://www.xbrl.org"
  },
  {
   "npf-dic": "http://www.cbr.ru/xbrl/nso/npf/dic"
 }
],
"dtsReferences": {
 "href: "http://www.cbr.ru/xbrl_csv/2018-03-31/20200601/ep_nso_npf_y_90d_reestr_0420257.def.ep.json",
 "type": "schema"
}

Элемент "prefixes" описывает пространства имен упоминающиеся в табличной части сервисного файла.

Стоит обратить внимание на префиксы пространства имен, используемые в именах концептов показателей.

- Если концепты (элементы "xbrl:concept") относятся к пространству purcb-dic, раздел "prefixes"[] должен содержать последний элемент:

{
 "purcb-dic": "http://www.cbr.ru/xbrl/nso/purcb/dic/purcb-dic"
}

- Если концепты относятся к пространству npf-dic, раздел "prefixes"[] должен содержать последний элемент:

{
 "npf-dic": "http://www.cbr.ru/xbrl/nso/npf/dic"
}

2.2.4. Уровень описания csv файла (таблицы) сервисного файла

Это массив с идентификатором "tables", каждый элемент которого является описанием одного csv файла (таблицы):

- элемент "uri" - имя csv файла в наборе файлов отчета;

- элемент "roleUri" - URI определения роли в точке входа;

- "csvRowsCount" - количество строк содержащихся в csv файле (без учета строки заголовков полей);

- "columns" - массив описания колонок csv-файлов.

Пример уровня описания csv файла (фрагмент сервисного файла JSON):

"tables": [
 {
  "uri": "XBRL_1111111111111_ep_nso_npf_y_90d_reestr_0420257_20190110_1.csv",
  "roleUri": "http://www.cbr.ru/xbrl/nso/npf/rep/2018-03-31/tab/sr_0420257",
  "csvRowsCount": 100,
  "columns": [...]
 }

2.2.5. Уровень описания колонок сервисного файла

Описывает каждую колонку, содержащуюся в csv-файле.

Существует два типа колонок:

- колонки, содержащие значения членов типовых измерений Typed Members (открытая ось);

- колонки содержащие значения показателей.

Если csv-файл содержит колонки типовых измерений, то каждая строка csv содержит показатели, относящиеся к одному контексту, содержащему такое измерение (открытую ось).

Пример

Первая колонка csv файла согласно маппингу сервисного файла является членом типового измерения dim-int:ID_Zastraxovannogo_LiczaTaxis#ID_FL_YULTypedName.

Тогда каждая строка csv содержит показатели, относящиеся к одному застрахованному лицу.

Если csv-файл НЕ содержит колонки типовых измерений, то csv-файл имеет только одну строку данных и каждая колонка относится к отдельному аспекту.

2.2.6. Колонки типовых измерений (открытых осей)

Описывает типовое измерение (открытую ось), типизируется наличием элемента "xbrldi:typedMember".

Пример (фрагмент сервисного файла JSON):

{
  "name": "ID_Zastraxovannogo_LiczaTaxis",
  "http://www.cbr.ru/xbrl-csv/model#properties": {
    "type": {
      "datatype": "string",
      "http://www.cbr.ru/xbrl-csv/model#columnType":"xbrli:stringItemType"
    },
    "xbrldi:typedMember": {
      "dim-int:ID_Zastraxovannogo_LiczaTaxis":"dim-int:ID_FL_YULTypedName"
    }
  }

}

Где:

- "name": "ID_Zastraxovannogo_LiczaTaxis" - имя колонки в csv, располагается в первой строке csv файла;

- "datatype": "string" - тип данных колонки;

- "http://www.cbr.ru/xbrl-csv/model#columnType":

"xbrli:stringItemType" - тип данных XBRL пространства имен xbrli;

- "xbrldi:typedMember": - элемент указывающий, что колонка содержит значения членов типового измерения;

- "dim-int:ID_Zastraxovannogo_LiczaTaxis": "dim-int:ID_FL_YULTypedName" - определение типового измерения.

В csv-файле может присутствовать несколько колонок типовых измерений (открытых осей).

Расположение по порядку колонок не регламентируется, но рекомендуется располагать колонки типовых измерений первыми.

2.2.7. Колонки показателей

Все колонки, которые не являются колонками типовых измерений (не имеют элемента "xbrldi:typedMember"), являются колонками показателей.



Описание колонки содержит указание на имя колонки в csv-файле, тип данных и аспект показателя.

Пример описания колонки показателя (фрагмент сервисного файла JSON):

{
 "name":"npf-dic:OPS_Vyplata_SovokPens_1",
 "http://www.cbr.ru/xbrl-csv/model#properties":
 {
  "type":
  {
   "datatype":"decimal",
   "http://www.cbr.ru/xbrl-csv/model#columnType":"xbrli:monetaryItemType",
   "xbrli:unit":
     {
     "id":"RUB",
     "xbrli:measure":"iso4217:RUB"
     },
    "decimals":2
   },
  "xbrl:concept":"npf-dic:OPS_Vyplata_SovokPens",
  "xbrli:periodType":
     {
   "xbrl:periodStart":"2019-01-01",
   "xbrl:periodEnd":"2019-12-31"
  },
  "xbrldi:explicitMember":
   {
   "dim-int:Sovokup_Razmer_Pens_Vypl_ZastrLiczu_SrochnAxis":"mem-int:SrochnayaMember"
  }
 }
}

Где:

- "name": "npf-dic:OPS_Vyplata_SovokPens_1" - имя колонки в csv, располагается в первой строке csv файла;

- "datatype": "decimal" - тип данных колонки;

- "xbrli:unit": {} - единица измерения показателя;

- "decimals": 2 - разрядность;

- "xbrl:concept": "npf-dic:OPS_Vyplata_SovokPens" - наименование концепта показателя;

- "xbrli:periodType": {} - аспект периода/даты;

- "xbrldi:explicitMember": {} - аспект описывающий явное измерение.

Сервисный файл должен содержать определение хотя бы одного csv-файла.

2.3. Правила формирования файлов отчетов (csv-файлов)

2.3.1. Правила именования файлов отчетов (csv-файлов)

Любой файл XBRL-CSV (instance файл) должен иметь расширение .csv с учетом регистра.

Любой файл XBRL-CSV (instance файл), представляемый в Банк России, должен иметь именование в соответствии со следующей структурой:

когда instance файл в составе пакета отчетности один

XBRL_ОГРН/ОГРНИП_ТочкаВхода_ДатаЗавершенияОтчетногоПериода.csv

Пример: XBRL_1234567891234_ep_nso_npf_y_90d_reestr_0420257_20201231.csv

когда instance файлов в составе пакета отчетности несколько

XBRL_ОГРН/ОГРНИП_ТочкаВхода_ДатаЗавершенияОтчетногоПериода_НомерТома.csv

Пример: XBRL_1234567891234_ep_nso_npf_y_90d_reestr_0420257_20201231_1.csv

Детальные правила именования файлов представлены в таблице 3.

Таблица 3

Символ (набор символов) в наименовании файла

Расшифровка символа (набора символов) в наименовании файла

XBRL

Обязательный компонент наименования файла, должен содержаться во всех наименованиях файлов отчетности

ОГРН/ОГРНИП

Основной государственный регистрационный номер отчитывающейся организации (ОГРН), состоит из 13 цифр/Основной государственный регистрационный номер индивидуального предпринимателя (ОГРНИП), состоит из 15 цифр

Точка входа

Шифр точки входа таксономии XBRL Банка России, в соответствии с которой в Банк России представляется массив отчетных данных, содержащихся в файле XBRL (instance файле). Набор всех точек входа содержится в таксономии XBRL Банка России и в составе сопроводительных материалов к таксономии XBRL Банка России, опубликованных на официальном сайте Банка России по адресу:

http://www.cbr.ru/projects_xbrl/taxonomy_xbrl

Отчетная дата

Отчетная дата, по состоянию на которую организация представляет отчетные данные в формате XBRL в Банк России (в формате ггггммдд)

Номер тома

Указывается в случае, если в состав пакета отчетности входит несколько отчетных файлов в формате XBRL-CSV

2.3.2. Аспект показателя в формате XBRL-CSV

В формате отчетности XBRL-CSV отсутствует понятие контекста.

Для определения атрибутов показателя используется аспект показателя.

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

Аспект показателя состоит из:

- имени концепта;

- периода/даты показателя;

- наличия/отсутствия явного измерения.

При отсутствии в аспекте показателя указания на явное измерение, в описании колонки должен присутствовать элемент-маркер "not_specified_domain": true

Пример маппинга колонки, в аспекте показателя которого отсутствуют явные измерения:

{
 "name":"npf-dic:RazmerPensii_OtchData_Srochnaya_1",
 "http://www.cbr.ru/xbrl-csv/model#properties":
{
  "type":
   {
   "datatype":"decimal",
   "http://www.cbr.ru/xbrl-csv/model#columnType":"xbrli:monetaryItemType",
   "xbrli:unit":
    {
    "id":"RUB",
    "xbrli:measure":"iso4217:RUB"
   },
   "decimals":2
  },
  "xbrl:concept":"npf-dic:RazmerPensii_OtchData_Srochnaya",
  "xbrli:periodType":
   "xbrli:instant":"2019-12-31"
  },
  "not_specified_domain":true
 }
}

2.3.3. Типы CSV файлов

Формат XBRL-CSV имеет два вида csv-файлов:

- csv-файлы, имеющие в своем составе колонки значений типовых измерений (открытых осей);

- файлы без типовых измерений.

Файлы первого типа состоят минимум из одной строки данных (не включая строку заголовка).

Второй тип файлов имеет только одну строку данных (не включая строку заголовка).

Каждая колонка csv-файла содержит значения показателей одинакового аспекта (данные аспекта указаны в маппинге колонки сервисного файла).

Это означает, что в каждой отдельной колонке все показатели имеют общие:

- концепт;

- дату показателя или диапазон дат показателя;

- явное измерение (закрытую ось) или отсутствие явного измерения;

- тип данных CSV;

- тип данных XBRL;

- точность (для числовых вещественного типов);

- элемент UNIT.

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

Пример csv-файла, имеющего в своем составе колонку значений члена типового измерения из набора файлов примеров - XBRL_1111111111111_ep_nso_npf_y_90d_reestr_0420257_20190110_1.csv

Согласно сервисному файлу Service_1111111111111_ep_nso_npf_y_90d_reestr_0420257_20190110.json первая колонка имеет имя ID_Zastraxovannogo_LiczaTaxis и состоит из значений членов открытой оси (типового измерения):

dim-int:ID_Zastraxovannogo_LiczaTaxis":"dimint:ID_FL_YULTypedName"

Таким образом, каждая строка данного csv-файла содержит значения показателей одного застрахованного лица.

2.3.4. Заголовок csv-файла данных

Первой строкой csv-файла является строка имен колонок.

Значения имен колонок должны в точности совпадать с указанными именами колонок в сервисном файле JSON.

Исходя из этого правила, при обработке будет происходить сопоставление колонок из файла данных CSV с определением колонок в сервисном файле JSON - маппинг.

2.3.5. Требования к типу данных значений csv-файла

Тип данных значений csv файла вариативный.

Это означает, что все значения показателей, представленные в csv-файле, являются текстовыми и подлежат обрамлению кавычками (согласно значению элемента "textQualifier" сервисного файла).

Примечание: допустимый список кавычек располагается в схеме DRAFT7.

При обработке тип данных значений показателей интерпретируется в соответствии со значением элемента "datatype" маппинга колонки из сервисного файла.

Например, если в маппинге колонки указан тип данных колонки как

"datatype": "decimal" то:

- значения показателей в данной колонки будут в csv выглядеть как: "1.2", "2.3", "5";

- при обработке данные значения будут интерпретированы как: 1.2, 2.3 и 5.

2.3.6. Требования к разделителю значений в csv-файле

Разделитель значений в csv-файле регламентируется значением элемента сервисного файла "delimiter".

Например: "delimiter": ";"

Примечание: допустимый список разделителей располагается в схеме DRAFT7.

2.3.7. Требования к разделителю дробной части значений

вещественных числовых типов показателей

Разделителем дробной части значений вещественных числовых типов данных показателей является точка: "."

2.3.8. Правило разделения показателей на разные csv-файлы

Каждый csv-файл содержит значения показателей одной расширенной роли.

При этом каждая расширенная роль может быть представлена максимум двумя csv-файлами:

- 1-й тип: файл, содержащий показатели, имеющие в аспектах состав открытых осей;

- 2-й тип: файл, содержащий показатели, в аспектах которых отсутствуют открытые оси.

В наборе файлов примера есть два файла, содержащие показатели расширенной роли

http://www.cbr.ru/xbrl/nso/npf/rep/2018-03-31/tab/sr_sved_otch_org:

- XBRL_1111111111111_ep__nso_npf_y_90d_reestr_0420257_20190110_2.csv - csv-файл данных показателей, имеющих в аспекте открытую ось dim-int: PrOblastOtcetnostiTaxis;

- XBRL_1111111111111_ep_nso_npf_y_90d_reestr_0420257_20190110_3.csv - csv-файл данных показателей, не имеющих в аспекте открытых осей.

Примечание: мнемоник "WO", встречающийся в документации, в названии файлов, в именах элементов JSON файлов схем, расшифровывается как without - "без". Таким образом, часть имени файла "WO_openAxis" понимается как "Без открытых осей".

2.3.9. Используемая кодировка и требования к регистру

символов в файле XBRL (instance файле) и сервисном файле

Все представляемые в Банк России файлы XBRL (instance файлы), а также сервисные файлы должны использовать кодировку символов UTF-8 (без BOM).

2.3.10. Ссылка на используемую точку

входа таксономии XBRL Банка России

Таксономия XBRL Банка России содержит в себе множество точек входа, предназначенных для подготовки различных файлов отчетности в формате XBRL. Любой пакет отчетности в формате XBRL-CSV должен иметь ссылку только на один файл схемы точки входа, на основе которой он сформирован.

2.3.11. Комплектность и полнота пакета отчетности XBRL-CSV

Любой файл пакет отчетности XBRL-CSV должен представлять собой целостный и полный набор отчетных файлов, содержащий в себе данные по показателям всех форм, которые входят в состав точки входа таксономии XBRL Банка России, на основе которой он сформирован.

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

Набор файлов отчета XBRL-CSV не должен содержать отчетные показатели, не предусмотренные ни одной из форм, входящих в состав точки входа, на основе которой он сформирован.

2.3.12. Соответствие данных пакета отчетности XBRL-CSV

контрольным соотношениям Банка России

Рекомендуется, чтобы данные пакета отчетности XBRL-CSV удовлетворяли всем контрольным соотношениям, заложенным в таксономию XBRL Банка России (база ссылок формул таксономии XBRL Банка России), по точке входа, на основе которой подготовлен набор файлов отчета XBRL-CSV (instance), а также правилам, установленным в нормативных актах и прочих документах Банка России, включая правила, не представленные в контрольных соотношениях, определенных в таксономии XBRL Банка России (контрольные соотношения за пределами таксономии XBRL Банка России). В том случае, если по мнению отчитывающейся организации контрольное соотношение не выполняется по объективным причинам, отчитывающейся организации следует дать пояснения по данному контрольному соотношению в сопроводительном файле формата MS WORD (pz.doc), включенном в состав архива с отчетностью.

При пересдаче пакета отчетности XBRL-CSV рекомендуется давать краткие пояснения по внесенным в файл изменениям в сопроводительном файле формата MS WORD (pz.doc).

2.3.13. Требования к длине элементов

Длина значений элементов отчета XBRL не должна превышать максимальное значение для соответствующего типа элемента, указанное в таблице 6.

Таблица 6

Тип элемента

Максимальная длина элемента

Идентификатор контекста

800

Домен открытой оси

4000

Идентификатор единицы измерения

50

Единица измерения

100

Значение показателей

4000

2.3.14. Обязательность сведений в составе файла XBRL,

представляемого в Банк России

Каждый пакет XBRL-CSV, представляемый в Банк России отчитывающейся организацией, должен содержать в себе сведения об отчитывающейся организации, а также о лице, подписавшем отчетность (для пакета XBRL-CSV по надзорной и бухгалтерской (финансовой) отчетности). Также в составе пакета XBRL-CSV (кроме пакетов XBRL-CSV по бухгалтерской (финансовой) отчетности) должны быть представлены сведения о лицах, ответственных за предметную область отчетности, для оперативной связи сотрудников Банка России по возникающим при обработке отчетности вопросам. В случае если составлением пакета XBRL-CSV занималось только одно ответственное лицо, достаточно указать его один раз.

При наличии соответствующей формы также указывается информация об отсутствии значений по показателям форм отчетности в отношении форм отчетности при одновременном выполнении следующих условий:

1. требования по составлению всех или части показателей формы отчетности распространяются на отчитывающуюся организацию;

2. по всем показателям формы отчетности у отчитывающейся организации отсутствуют значения;

3. форма отчетности входит в представляемую точку входа.

Пример заполненных сведений о лицах, ответственных за предметную область отчетности, представлен в Приложении 2 к настоящим правилам.

2.3.15. Расширение таксономии отчитывающимися организациями

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

2.4. Дополнительные требования к именованию файлов внутри

пакета отчетности в формате XBRL-CSV

В именах файлов в архиве могут использоваться только следующие символы:

- русские буквы в верхнем и нижнем регистре;

- латинские буквы в верхнем и нижнем регистре;

- арабские цифры;

- специальные символы:

- _ "нижнее подчеркивание";

- - "тире";

- . "точка";

- ( "левая круглая скобка";

- ) "правая круглая скобка";

- [ "левая квадратная скобка";

- ] "правая квадратная скобка".

2.5. Набор схем DRAFT7 для проверки сервисных файлов JSON

Набор схем DRAFT представляет собой набор связанных JSON-файлов, расположенных в иерархической структуре файловых директорий.

Набор схем получен путем конвертации выбранных точек входа таксономий Банка России в формат JSON DRAFT7.

2.5.1. Файловая структура набора схем

Релятивным корнем набора схем является директория

./schemas/www.cbr.ru/xbrl_csv

или для ОС Windows:.\schemas\www.cbr.ru\xbrl_csv

Корневая директория содержит набор субдиректорий, каждая из которых представляет собой одну из таксономий Банка России.

Именем такой директории является идентифицирующая таксономию дата в формате ГГГГ-ММ-ДД.

Например:

./schemas/www.cbr.ru/xbrl_csv/2018-03-31

Такой путь определяет таксономию Банка России версии 1.3.0

Каждая директория таксономии имеет одну или более директорию, определяющую версию набора схем DRAFT для данной версии таксономии Банка России в формате ГГГГММДД.

Например:

./schemas/www.cbr.ru/xbrl_csv/2018-03-31/20200601

./schemas/www.cbr.ru/xbrl_csv/2018-03-31/20200820

Данные директории содержат две разные версии набора схем одной и той же таксономии.

Эволюция набора схем происходит с помощью обновления набора путем включения новой версии набора для отдельной таксономии.

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

В один момент времени действуют все версии схем для каждой отдельной таксономии.

При этом рекомендуется формировать отчетность самой поздней версии набора схем для нужной таксономии.

2.5.2. Файлы - точки входа набора схем

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

Сервисный файл JSON связывается с файлом схемы точки входа конкретной версии.

Например:

    "dtsReferences":

    {
     "href":"http://www.cbr.ru/xbrl_csv/2018-03-
    31/20200601/ep_nso_npf_y_90d_reestr_0420257.def.ep.json",
     "type":"schema"
    }

Сервисный файл, имеющий данную ссылку на точку входа, является частью набора файлов отчета таксономии Банка России версии 1.3.

Относится к точке входа ep_nso_npf_y_90d_reestr_0420257 и будет проверяться по схеме версии 20200601.

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

Например:

В составе файла точки входа

./schemas/www.cbr.ru/xbrl_csv/2018-03-31/20200601/ep_nso_npf_y_90d_reestr_0420257.def.ep.json

есть ссылки на файлы схемы, определяющие роли:

{
 "$ref":
"tab/nso/npf/sr_0420257_types.def.json#/definitions/table_w_open_axis_hyp_ID_Zastraxovannogo_LiczaTaxis"
},
{
 "$ref":
 "tab/nso/npf/sr_sved_otch_org_types.def.json#/definitions/table_w_open_axis_hyp_PrOblastOtcetnostiTaxis"
},
{
 "$ref":"tab/nso/npf/sr_sved_otch_org_types.def.json#/definitions/table_wo_open_axis_hyp_sr_sved_otch_org"
}

2.5.3. Файл общей информации схемы DRAFT

Каждая версия схем каждой таксономии имеет JSON-схему общей информации - xbrl-csv.json.

Данная схема содержит описания общих элементов схемы, которые используются во всех JSON-файлах точек входа и JSON-файлах описания состава ролей.

2.6. Срок действия таксономии XBRL Банка России

При формировании файлов XBRL и представлении их в Банк России отчитывающаяся организация должна учитывать срок действия таксономии XBRL Банка России. Срок действия таксономии содержится в файле description.xml, в составе архива с таксономией XBRL Банка России.

Пример содержания файла description.xml таксономии XBRL Банка России версия 1.0 представлен на рисунке 2.

Рис. 2

<TaxonomyDescription xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>20171231</Version>
  <DateBegin>2018-01-01T00:00:00</DateBegin>
  <DateEnd>2018-06-30T00:00:00</DateEnd>
  <DatePublic xsi:nil="true"></DatePublic>
  <Comments>Таксономия XBRL Банка России версия 1.0</Comments>
</TaxonomyDescription >

Отчитывающаяся организация должна формировать отчетность XBRL на основе той версии таксономии XBRL Банка России, срок действия которой включает в себя отчетную дату.

Пример:

Отчетная дата 2018-06-30. Следовательно, необходимо использовать версию таксономии XBRL Банка России, в файле description.xml которой отчетная дата попадает в интервал срока действия таксономии XBRL Банка России.

При необходимости повторного формирования отчетности XBRL с целью представления исправленных данных при наличии выявленных ошибок отчитывающаяся организация должна использовать ту версию таксономии XBRL Банка России, которая была актуальна на ту отчетную дату, на которую необходимо пересдать отчет XBRL.

3. РЕКОМЕНДАЦИИ ПО ПРЕДСТАВЛЕНИЮ ОТЧЕТНОСТИ В ФОРМАТЕ XBRL

ОТЧИТЫВАЮЩИМИСЯ ОРГАНИЗАЦИЯМИ-ПРАВОПРЕЕМНИКАМИ

ПОСЛЕ ЗАВЕРШЕНИЯ ПРОЦЕДУРЫ РЕОРГАНИЗАЦИИ В ФОРМЕ СЛИЯНИЯ,

ПРИСОЕДИНЕНИЯ ИЛИ РАЗДЕЛЕНИЯ ПРИ ПРЕДСТАВЛЕНИИ ОТЧЕТНОСТИ

В ФОРМАТЕ XBRL ЗА РЕОРГАНИЗОВАННУЮ ОРГАНИЗАЦИЮ

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

Пример: по состоянию на отчетную дату 30.11.2019 существовало две отчитывающиеся организации, организация А и организация Б. Отчетность по состоянию на 30.11.2019 должна быть представлена в Банк России в течение 30 календарных дней после отчетной даты. Организация А прекратила свое существование в связи с реорганизацией в форме присоединения к организации Б, реорганизация завершилась 02.12.2019. При этом организация А не представила отчетность по состоянию на отчетную дату 30.11.2019 в Банк России. В связи с тем, что организация Б становится правопреемником организации А, то обязанность по представлению в Банк России отчетности организации А по состоянию на отчетную дату 30.11.2019 возлагается на организацию Б.

Для обеспечения корректного представления отчета XBRL правопреемником за организацию, прекратившую деятельность в результате реорганизации, должны выполняться следующие рекомендации.

Архив, содержащий отчет в формате XBRL-CSV (instance файл(ы)), должен быть подготовлен в соответствии с разделом 2 настоящих правил. При этом в отчете(ах) XBRL (instance файле(ах)), представляемом(ых) в Банк России, в качестве идентификатора должен указываться ОГРН реорганизованной организации, за которую правопреемник представляет отчетность.

Библиография

1. Extensible Business Reporting Language (XBRL) 2.1

(https://www.xbrl.org/Specification/XBRL-2.1/REC-2003-12-31/XBRL-2.1-REC-2003-12-31+corrected-errata-2013-02-20.html).

2. xBRL-CSV design 1.0 (https://www.xbrl.org/WGN/xbrl-csv-design/WGN-2020-10-14/xbrl-csv-design-2020-10-14.html).

3. xBRL-CSV requirements 1.0 (https://www.xbrl.org/REQ/xbrl-csv-requirements/REQ-2020-10-14/xbrl-csv-requirements-2020-10-14.html).

4. Financial Reporting Instance Standards 1.0

(http://www.xbrl.org/technical/guidance/FRIS-PWD-2004-11-14.htm).

5. Руководство пользователя. Единая платформа внешнего взаимодействия (ЕПВВ). Портал "Биврест"

(https://portal5.cbr.ru/documents/instruction.pdf).

6. Understanding JSON Schema (https://json-schema.org/understanding-json-schema/index.html)

Приложение 1

СТРУКТУРА

АРХИВА, ПРЕДСТАВЛЯЕМОГО В БАНК РОССИИ И СОДЕРЖАЩЕГО ФАЙЛ

XBRL-CSV, СЕРВИСНЫЙ ФАЙЛ И ДРУГИЕ ФАЙЛЫ

Заархивированный пакет отчетности (.zip)

Файлы отсоединенной подписи (.sig) (один или два)

Файл(ы)

XBRL-CSV

(.csv)

Service (.json)

Иные данные

(.docx, .pdf, .xlsx и иные)

Зашифрованный архив (.zip.enc)

Приложение 2

ПРИМЕРЫ

ЗАПОЛНЕНИЯ ОБЯЗАТЕЛЬНЫХ СВЕДЕНИЙ О ЛИЦАХ, ОТВЕТСТВЕННЫХ

ЗА СОСТАВЛЕНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ В ФАЙЛЕ XBRL,

ПРЕДСТАВЛЯЕМЫХ В БАНК РОССИИ

Предметная область отчетности

ФИО должностного лица, ответственного за предметную область отчетности

Должность лица, ответственного за предметную область отчетности

Номер контактного телефона лица, ответственного за предметную область отчетности

Показатели формы 0420257

Петров Александр Александрович

Специалист отдела отчетности

+7 985 5555***

Показатели формы 0420258

Иванов Николай Петрович

Специалист отдела отчетности

+7 985 5556***

Приложение 3

ИНСТРУКЦИЯ

ПО ВАЛИДАЦИИ JSON ДОКУМЕНТОВ ПОСРЕДСТВОМ

СХЕМ DRAFT7 ДЛЯ РАЗРАБОТЧИКОВ

Для работы с json мы используем

┌─────────────────────────────────────────────────────────────────────────┐
│    <dependency>                                                         │
│      <groupId>org.json</groupId>                                        │
│      <artifactId>json</artifactId>                                      │
│      <version>20190722</version>                                        │
│    </dependency>                                                        │
└─────────────────────────────────────────────────────────────────────────┘

Для работы со схемами и валидации по ним

┌─────────────────────────────────────────────────────────────────────────┐
│      <dependency>                                                       │
│      <groupId>com.github.everit-org.json-schema</groupId>               │
│      <artifactId>org.everit.json.schema</artifactId>                    │
│      <version>1.12.1</version>                                          │
│    </dependency>                                                        │
└─────────────────────────────────────────────────────────────────────────┘

1. Загрузка схем

┌─────────────────────────────────────────────────────────────────────────┐
│    //Открываем файл корневой схемы                                      │
│    InputStream schemaStream = new FileInputStream(schemaFile);          │
│    JSONObject jsonTree = new JSONObject(new JSONTokener(schemaStream)); │
│                                                                         │
│    SchemaLoader loader = SchemaLoader.builder()                         │
│        .schemaClient(new SchemaClient() {                               │
│           //Переопределяем этот метод на случай, если нужно при загрузке│
│вложенных схема корректировать пути                                      │
│           @Override                                                     │
│           public InputStream get(String url) {                          │
│                    InputStream is;                                      │
│           ...                                                           │
│           ...                                                           │
│           return is;                                                    │
│        }                                                                │
│      })                                                                 │
│      .schemaJson(jsonTree)                                              │
│      .draftV7Support()                                                  │
│      .build();                                                          │
│    Schema schema = loader.load().build();                               │
│    schemaStream.close();                                                │
│                                                                         │
│    // Далее для валидации будет использоваться этот объект              │
│    return schema;                                                       │
└─────────────────────────────────────────────────────────────────────────┘

2. Валидация json

┌─────────────────────────────────────────────────────────────────────────┐
│    InputStream jsonStream = new FileInputStream(json);                  │
│    JSONObject jsonTree = new JSONObject(new JSONTokener(jsonStream));   │
│    schema.validate(jsonTree);                                           │
└─────────────────────────────────────────────────────────────────────────┘

Если вызов validate отработал без исключений, значит валидация прошла успешно.

Если было брошено исключение org.everit.json.schema. ValidationException, значит есть ошибки валидации.

3. Обработка ответа валидатора

Валидатор возвращает древовидную цепочку исключений типа ValidationException.

Для получения полного отчета валидатора необходимо рекурсивно пройти по всему дереву используя метод getCausingExceptions. Либо можно получить сокращенный список сообщений (только значимые сообщения) методом getAllMessages.