Проверка отчета XBRL для НФО

Публикация № 805177

Обмен - Обмен с другими системами

XBRL arelle arelleCmdLine Анкета-редактор

6
Проверка отчета XBRL для НФО средствами Arelle и анализ полученного журнала сообщений. Обработки тестировались в пустой конфигурации на платформе 8.3.10

В предыдущей части пытались разбираться с таксономией (тут). Если получать готовый отчет XBRL из учетной системы, то нам необходимо как-то его проверить (валидировать) по определенным в таксономии правилам (база формул). Это можно сделать в ПО "Анкета-редактор XBRL". Но это не удобно: создавать пакет, загружать, проверять...

Увидев что Анкета-редактор проверяет отчет вызовом arelleCmdLine.exe через командную строку, возникла идея получать и обрабатывать log-файл об ошибках самим.

Как это делает ПО "Анкета-редактор XBRL" (пример):

C:\Program Files (x86)\Anketa-redaktor XBRL\bin\anketa-assets\arelleCmdLine.exe -f <путь отчета>.xml -v --packages <путь таксономии>final_1_2.zip --parameters {http://parameters}param_min1=2017-12-28,{http://parameters}PriorPeriod-1Start=2015-01-01,{http://parameters}CurrentPeriodStart=2016-01-01,{http://parameters}param_min3=2017-06-28,{http://parameters}param_min2=2017-09-28,{http://parameters}startRepYear=2017-12-31,{http://parameters}PriorPeriod-2Start=2014-01-01,{http://parameters}refPeriodEnd=2018-02-28,{http://parameters}refPeriodStart=2016-01-01,{http://parameters}PriorPeriod-2End=2016-02-28,{http://parameters}startQuart=2017-12-29,{http://parameters}PriorPeriod-1End=2015-12-31,{http://parameters}CurrentPeriodEnd=2018-02-28,{http://parameters}startMonth=2018-01-31 --logFile <путь лога>.xml --export --exportDir <путь выгрузки ролей> --uiLang ru --labelLang ru-RU --calcDecimal --infoset --formula run --formulaUnsatisfiedAsser --logFormat "%(messageCode)s DIVIDER %(message)s DIVIDER %(file)s DIVIDER %(refs)s DIVIDER %(levelname)s DIVIDER %(args)s ENDOFROW"

Посмотрев help к arellecmdLine.exe выясняем что часть параметров лишняя:

  • --parameters: используются для базы таблиц, в проверках не используются (может и ошибаюсь, но не нашел где в формулах используется).  В версии таксономии 1.3 используется.
  • --export: видимо используют для создания ссылок на таблицы из список ошибок. Нам это не нужно.
  • --infoset: не используем.

Просто убрать --parameters нельзя,т.к. будут выходить ошибки при загрузке/проверки базы таблиц. Необходимо исключать файлы *-rend.xml, *-lab.xml:

  • --skipLoading "*-rend.xml|*-lab.xml"

Так же в логах идет ошибка с кодом "err:XPTY0004", ее можно пропускать через параметр --logCodeFilter.

Проверять отчет можно через arelleCmdLine.exe как от Анкеты-редактора так и от сайта arelle.org.

Важно!!! Результаты проверки через Анкету-редактор (1.0.345) и arelle.org (2018-03-16) разные:

  • не совпадают количество ошибок;
  • есть ошибки которые присутствуют в Анкете, но нет в  arelle.org  и наоборот;
  • не совпадают описание переменных.

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

На следующих двух скринах показано различие в описании переменных по одной и той же ошибке.

На вкладке "Подробности" xml-тексты для информации.

Инструкция к обработке:

1. Указываем пути к arelleCmdLine.exe, файлу таксономии (zip), отчету XBRL. Кнопка "Проверить и сформировать отчет проверки". Если файл-лог не был указан, то создается новый в том же каталоге что и отчет XBRL. Если указан, то перезаписывается.

2. Если хотим вывести отчет по уже существующему файлу-логу, указываем его и кнопка "Вывести отчет по логу-файлу".

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

 

Обновление вер. 1.2: После выпуска таксономии версии 1.3 пришлось включить выбор периода для установки параметров проверки.

Замечание: при проверке бухгалтерской отчетности используется установленная для фактов разрядность "-3", что не очень удобно,т.к. в отчет проверки суммы выходят округленные до тыс.рублей. Поэтому мы обычно для проверки готовим xbrl-отчет с разрядностью "2".

Обновление 07.09.2018: с последней версией Анкета-редактор обработка не работает, т.к. разработчики запретили запускать проверку через командную строку (ключ key). Занялся обработкой базы формул, уже получается проверять по части формул. Готовиться статья по разбору базы формул таксономии...

6

Скачать файлы

Наименование Файл Версия Размер
Проверка отчета XBRL для НФО через Arelle
.epf 15,30Kb
27.04.18
18
.epf 1.2 15,30Kb 18 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Dziden 10 24.04.18 09:02 Сейчас в теме
Мы тоже обратили недавно внимание на это внимание =). На самом деле arellecmdLine.exe в пакете анкеты доработан Банком России.

Больше всего бесит, что вендоры берут за валидацию миллионы, когда вопрос решается параметрами общедоступного исполняемого файла с открытом кодом.
2. Milan-1c 27.07.18 10:32 Сейчас в теме
Добрый день!
Спасибо за обработку.
Помогите расшифровать ошибку, пожалуйста?
Сообщение пустое.
Формула: $Prinadlezhashhie_affilirovannomu_liczu_akczii_Aff_l ge 20
Текст сообщения:
<message error="Соответствующая последовательность переменных включает в себя факт modelFact[419257, qname: purcb-dic:Kod_osnovaniya_affilirovannosti_otch_orgEnumerator, contextRef: a1f04c9be-c43d-43a0-9ec0-430354e9f42b, unitRef: None, value: mem-int:Chlen_sovet_dirzacziiMember, XBRL_1027402052347_ep_nso_purcb_m_q_30d_20180630.xml, line 1539] несогласованный в аспекте dim-int:ID_strokiTaxis" label="valueAssertion_SR_0420402_9">Message: [xbrlmfe:inconsistentMatchedVariableSequence] Переменный набор %(label)s
Исключение: %(error)s Соответствующая последовательность переменных включает в себя факт modelFact[419257, qname: purcb-dic:Kod_osnovaniya_affilirovannosti_otch_orgEnumerator, contextRef: a1f04c9be-c43d-43a0-9ec0-430354e9f42b, unitRef: None, value: mem-int:Chlen_sovet_dirzacziiMember, XBRL_1027402052347_ep_nso_purcb_m_q_30d_20180630.xml, line 1539] несогласованный в аспекте dim-int:ID_strokiTaxis
Message log error: incomplete format key</message>
Прикрепленные файлы:
4. tgrstart 26 27.07.18 17:55 Сейчас в теме
(2) может указан факт Chlen_sovet_dirzacziiMember с неверной осью ID_strokiTaxis в контексте contextRef: a1f04c9be-c43d-43a0-9ec0-430354e9f42b?
А сама формала должна проверять кол-во аф.лиц не более 20.
3. Solikamsk 2 27.07.18 15:09 Сейчас в теме
Так пройдись по файлу поиском "a1f04c9be-c43d-43a0-9ec0-430354e9f42b" - должен быть сам элемент и его описание.
5. starik-2005 1864 07.09.18 13:46 Сейчас в теме
Интереса ради посмотрел обработку. С арелем из последней версии анкеты эта штука работать не стала. В анкете появился параметр key, с которым запускается командная строка, но при этом он каждый раз различный. Возможно без него теперь обработка не работает.
6. tgrstart 26 07.09.18 22:30 Сейчас в теме
(5) Да, с последней версией Анкета-редактор обработка не работает, т.к. разработчики запретили запускать проверку через командную строку (ключ key). Причины не известны. C последней arelle твориться что-то непонятное: если при запуске проверки из командной строки (или через обработку) не выдает результат, то помогало переименование файлов отчета.
Занялся изучением базы формул, уже получается проверять по части формул. Прототип обработки для проверки xbrl-файла уже проверяет около 70% формул из таксономии. Может скоро что-нибудь выложу...
7. user761157 14.09.18 11:11 Сейчас в теме
(6) Нашли адекватную документацию по базам формул?
Из того, что я видел - очень поверхностно, в самих проверка используется большое количество тэгов, которые нигде не описаны.
8. tgrstart 26 14.09.18 14:06 Сейчас в теме
(7) нет, не нашел. Пошел от обратного: собрал статистику использования тэгов, типов дуг и ресурсов в базе формул от ЦБ. По смыслу формул определяю назначение того или иного атрибута.
9. dragonCat 19.09.18 15:11 Сейчас в теме
(5) Здравствуйте!
А как удалось отследить данный ключ запуска и "постоянно меняющиеся значения"? Перехватывали внешние запуски Анкеты чем то или есть какой то иной способ?
10. tgrstart 26 19.09.18 21:51 Сейчас в теме
(9) Если запустить Анкету из командной строки (или через FarManager), то в консоли видны все команды запуска arelle
11. dragonCat 20.09.18 11:04 Сейчас в теме
12. Solikamsk 2 14.02.19 15:04 Сейчас в теме
У меня задача готовый файл отчетности проверить с данными системы учёта. Можно ли как-то с помощью arelle сделать запросы к определенным значениям фактов?
14. starik-2005 1864 15.02.19 11:13 Сейчас в теме
(12)
Можно ли как-то с помощью arelle сделать запросы к определенным значениям фактов?
Смотря какая отчетность. Если это страховая НСО, то они там накрутили на каждый элемент ОСВ сове КС, которых в общей сложности по 10к - арель мрет на этомю
13. Solikamsk 2 14.02.19 16:04 Сейчас в теме
Ну или другие утилиты.. В идеале конечно хотелось бы что-то вроде OLE DB, типа запросы..
15. starik-2005 1864 15.02.19 11:14 Сейчас в теме
(13)
Ну или другие утилиты.
У нас скоро портал будет для тестирования отчетности - на выходе лог.
16. Solikamsk 2 19.02.19 10:02 Сейчас в теме
(15) Я предполагаю, что портал будет платным.. В чём преимущество от обычной анкеты?
И ещё.. юзали "Office Tool for XBRL Prototype"? Я пока только узнал, что он есть и ничего найти не могу.
17. starik-2005 1864 20.02.19 09:18 Сейчас в теме
(16) в отчетности страховых добрые люди из ЦБ накуевертили столько контрольных соотношений, что анкета дохнет. Не от отчета дохнет, а от контролей, ибо там каждый элемент в каждом соотношении ищется по фильтрам, потом все это вычиляется, потом снова... КС в XBRL - это очень слабенькая реализация функций над даными. Особенно в подходе к ССД, когда все счета по отдельности в ОСВ сравниваются по сумме начала, оборота и окончания, линии бизнеса и элемента валюты с итогами. Это не бигдата подход - это наепалово налогоплательщиков)))
18. tgrstart 26 20.02.19 10:03 Сейчас в теме
(17) последняя версия анкеты вроде бы не "дохнет", и быстрее проверяет. Еще пришлось ограничить анкету на использование оперативной памяти.
Интересно было бы сравнить скорость проверки и у разных разработчиков... а то своей программой проверяешь по таксономии - полчаса, анкетой - два часа. Как будто что-то делаю не так.

Идея счет ОСВ = концепт мне не нравиться, я бы код счета в измерение поставил.
19. starik-2005 1864 20.02.19 10:40 Сейчас в теме
(18)
я бы код счета в измерение поставил
Тогда другие трудности возникнут с проверкой, например, сальдо на расчетных счетах как сумма сальдо определенных счетов. Лучше было бы проверять все элементы по оси валютного признака и периода, но там свои трудности в самом XBRL-стандарте.
20. tgrstart 26 20.02.19 11:21 Сейчас в теме
(19)Наоборот легко: Факт A (измерение счет B) = Факт A (измерение счет C) + Факт A (измерение счет D). А их тысяча формул по ОСВ описывалась одной одной. И таблица ОСВ была бы читаемой (отображались бы счета по которым есть данные, а не все подряд).
21. starik-2005 1864 20.02.19 14:02 Сейчас в теме
(20)
Факт A (измерение счет B) = Факт A (измерение счет C) + Факт A (измерение счет D). А их тысяча формул по ОСВ описывалась одной одной.
Так было бы круто, но вот есть какой-то факт СуммаНаРасчетныхСчетах, который собирается из 205/206/303,,, - там сложности возникают.
Оставьте свое сообщение