Перейти до вмісту

Технічне завдання: Передача звітності з K2 ERP до Електронного кабінету ДПС

Матеріал з K2 ERP Wiki

16.; Нефункціональні вимоги

=== 16.2.; Надійність ===
== 9.; Сценарій 1: ручне подання ==
</div>
{| class="wikitable"
== 19.; Етапи реалізації ==

{| class="wikitable"
=== 10.3.; Endpoint для відправки одного звіту ===

!Як зменшити
== 2.; Область сфера застосування ==
Метою задачі є собою розробка програмного забезпечення механізму передачі податкової звітності з K2 ERP до Електронного кабінету ДПС України.; |-
|Не прийнято
|Звіт відхилено ДПС.; !характеристика
=== 6.1.; Ручне подання звітності ===
}
!характеристика
|-
|K2 ERP
|ERP-система, з якої формується та передається формування звітів.; |}

=== 8.4.; Перевірка XML ===

=== 10.4.; Endpoint для пакетного подання ===
{| class="wikitable"
!Роль
!Параметр
|-
|API URL
|Базова адреса API ДПС.; |-
|Код ДПС
|Рядок
|Так
|Код контролюючого органу.; |}

Окремо варто відзначити підписання КЕП, шифрування, передачі через API і обробки квитанцій.; платформа повинна підтримувати підписання XML-документів за допомогою КЕП.; |-
|XML перевірено
|XML пройшов внутрішню перевірку.; |-
|Сформувати XML
|Генерує XML-файл.; # платформа запитує квитанції.; "contentBase64": "BASE64_ПІДПИСАНИЙ_ТА_ЗАШИФРОВАНИЙ_XML"

Мінімальні вимоги:

* використовувати актуальні сертифікати ДПС;
* перевіряти строк дії сертифікатів;
* шифрувати підписаний XML;
* формувати транспортний контейнер;
* кодувати результат у Base64;
* зберігати дату та результат шифрування.; |-
|Експортувати XML
|Завантажує XML-файл користувачу.; |-
|AC-4
|користувач системи експортує XML
|XML-файл завантажується на комп'ютер.; |-
|AC-8
|платформа перевіряє XML
|XML проходить XSD-перевірку.; |-
|Податковий номер
|Перевірити формат РНОКПП або ЄДРПОУ.;<pre>
|-
|Обов'язкові поля
|Перевірити, що всі обов'язкові реквізити заповнені.; |-
|Передано до ДПС
|Запит до API успішно виконано.;=== 9.4.; Статуси ручного сценарію ===
=== Етап 2.; Напівавтоматичний сценарій ===

* додавання нових форм звітності;
* актуалізація XSD-схем;
* додавання нових сценаріїв підписання;
* розширення списку API-методів;
* підтримку пакетної передачі.; |-
|Очікується квитанція №1
|платформа очікує первинну квитанцію.; |-
|Режим роботи
|Ручний або автоматизований.; |}

платформа повинна дозволяти:

{| class="wikitable"
До MVP входить:

<div style="border-left: 6px solid #2e7d32; background: #e8f5e9; padding: 12px 16px; margin: 16px 0;">

* вибір ключа користувачем;
* введення пароля до ключа;
* перевірка строку дії сертифіката;
* перевірка належності сертифіката платнику;
* підписання XML;
* збереження інформації про підписанта;
* журналювання факту підписання.; # платформа формує Base64-контейнер.; |-
|Квитанція №1 отримана
|ДПС підтвердила отримання документа.; |-
|Аудитор
|Перевіряє історію дій.; |-
|403
|Доступ заборонено.; |-
|Подано вручну
|користувач системи підтвердив ручне подання.; |-
|Помилка
|Етап, код, характеристика, користувач системи.; |-
|ФОП
|Самостійно формує та подає власну формування звітів.; |-
|Експортовано
|користувач системи завантажив XML.; # Чи потрібна супровід тільки ФОП, чи додатково юридичних осіб?; |Показувати текст помилки та дозволяти повторне формування.; |-
|Помилка КЕП
|Виникла помилка підписання.;

Тип запиту:

== 23.; Див.; додатково == === 11.1.; Загальні вимоги === '''Головна ідея:''' реалізувати в K2 ERP два варіанти подання звітності до ДПС: ручний експорт XML для подальшого подання користувачем та автоматизовану передачу через API Електронного кабінету ДПС.; # Чи потрібно робити окрему роль для податкового консультанта?; |- |AC-12 |платформа відправляє звіт |API ДПС приймає запит.; |Перегляд, підписання, контроль статусів.;== 15.; конфігурація інтеграції == == 18. MVP ==

  • XML не відповідає XSD;
  • відсутній обов'язковий тег;
  • неправильна структура XML;
  • неправильне ім'я файлу;
  • застосовується застаріла форма звіту.; |-

|Отримання квитанції |Тип квитанції, дата, статус.; |Використовувати актуальні сертифікати ДПС.; |- |Помилки КЕП |Можливі проблеми з ключами, паролями, сертифікатами.; |- |Шлях до ключа |Для файлового КЕП.; |- |Назва / ПІБ |Рядок |Так |Найменування юридичної особи або ПІБ ФОП.; |- |Позначити як подано вручну |Змінює статус документа після ручного подання.;=== 10.2.; Послідовність дій === Приклади:

  • довідник платників податків у K2 ERP;
  • реквізити ФОП або юридичної особи;
  • код контролюючого органу ДПС;
  • актуальні форми звітності;
  • XSD-схеми для відповідних форм;
  • правила іменування XML-файлів;
  • механізм роботи з КЕП;
  • актуальні сертифікати ДПС для шифрування;
  • доступ до API Електронного кабінету ДПС.; # Обирає тип звіту.; |-

|AC-15 |платформа журналює дії |Усі етапи записані в журнал.;</div><div style="border-left: 6px solid #f57c00; background: #fff3e0; padding: 12px 16px; margin: 16px 0;"> </div>За замовчуванням пароль КЕП має вводитися користувачем під час підписання.;== 13.; Журналювання == платформа повинна підтримувати два сценарії: До MVP не входить:

"fname": "назва_файлу_згідно_правил_ДПС.xml",

<pre> |- |401 |Неавторизований запит.; |}

== 17. Acceptance Criteria == У K2 ERP має бути розроблена картка звіту.; # платформа отримує відповідь API.; [ випадків забезпечується через Ручний сценарій призначений; додатково реалізовано коли K2 ERP формує XML, але не передає його напряму до ДПС.; |- |AC-11 |платформа формує Base64 |Підготовлено тіло запиту для API.; # Чи є собою в K2 ERP існуючий компонент КЕП?; |- |Ім'я файлу |Перевірити відповідність правилам ДПС.; |- |Податковий номер |Рядок |Так |РНОКПП або ЄДРПОУ.; |- |КЕП |Кваліфікований електронний підпис.; |- |Логування |Рівень деталізації журналу.; |- |Відправка API |Endpoint, HTTP-код, час відповіді.;=== 6.3.; Отримання квитанцій ===

  • автоматичне підписання КЕП;
  • автоматичне шифрування;
  • передача через API;
  • автоматичне отримання квитанцій;
  • пакетне подання.; До області задачі входить:
  • формування XML-документів звітності;
  • перевірка XML перед поданням;
  • експорт XML для ручного подання;
  • завантаження квитанцій вручну;
  • підписання XML за допомогою КЕП;
  • шифрування XML;
  • передача звітності через API ДПС;
  • отримання квитанцій;
  • ведення статусів звіту;
  • журналювання дій користувачів та системи.; # платформа завантажує XML-файл.; |-

|Формування XML |Дата, форма, реліз, результат.; |- |Зашифровано

|XML зашифровано для ДПС.;

Логічна структура тіла запиту:

* даних платника;
* даних обліку в K2 ERP;
* вибраного звітного періоду;
* вибраної форми звітності;
* актуальної структури XML;
* правил ДПС щодо іменування файлів.; |}

Мінімальний набір полів:
== 20.; Ризики ==

* довідник платника;
* картка звіту;
* формування XML;
* базова перевірка XML;
* експорт XML;
* ручне завантаження квитанцій;
* статуси ручного сценарію;
* журнал дій.; |}

=== 6.4.; Контроль помилок ===

# Які форми звітності підтримуються першими?; |-
|AC-13
|платформа отримує квитанції
|Квитанції збережено в картці звіту.; |Додати перевірку сертифікатів до підписання.;== 8.; Функціональні блоки ==
=== 8.1.; Довідник платника податків ===
|-
|Створити звіт
|Створює нову картку звіту.; |конфігурація API, сертифікатів, ролей, журналів.; # Обирає звітний період.; # платформа зберігає ідентифікатор документа.; |-
|Готово до відправки
|Сформовано Base64-контейнер.; # користувач системи натискає '''Експортувати XML'''.; |-
|XML сформовано
|XML-файл створено.; |-
|Перевірка сертифіката
|Обов'язкова перед підписанням.; |-
|Timeout
|Перевищено час очікування відповіді.; |-
|Помилка шифрування
|Виникла помилка шифрування.; |-
|Відповідальна особа
|користувач системи
|Ні
|користувач системи, відповідальний за подання звітності.; |-
|Період
|Перевірити коректність звітного періоду.; |-
|XSD
|Схема перевірки структури XML-документа.; |-
|XML сформовано
|XML-документ створено.; |-
|XML-структура
|Перевірити наявність потрібних тегів.; # Чи потрібна супровід хмарного КЕП?; Автоматизований сценарій призначений для передачі звітності до ДПС без ручного завантаження XML у кабінет.; !характеристика
== 1.; Мета ==

* ключ не знайдено;
* неправильний пароль;
* сертифікат прострочено;
* сертифікат не відповідає платнику;
* користувач системи не має права підпису.; |-
|Група платника
|Довідник
|Ні
|Для ФОП на єдиному податку.; |-
|Завантажити квитанцію
|Додає квитанцію до картки звіту.; '''Заборонено:''' зберігати пароль КЕП у відкритому вигляді.; |-
|Підписано
|XML підписано КЕП.; |-
|Юридична особа
== 22.; Джерела ==
|}

=== 9.2.; Послідовність дій ===
У системі має бути довідник платника податків.; # Чи потрібно реалізовувати пакетне подання?; |-
|Керівник
|Підписує формування звітів.; # Створює новий звіт.;=== Етап 3.; Повна API-інтеграція ===
!Критерій
До першої версії має змогу не входити:
Як бухгалтер або ФОП, я хочу сформувати XML-файл звітності в K2 ERP, щоб завантажити його та самостійно подати через Електронний кабінет ДПС.; Як користувач системи K2 ERP, я хочу бачити квитанції ДПС безпосередньо в картці звіту, щоб контролювати, чи прийнята формування звітів.; |-
|КНЕДП
|Надавач електронних довірчих послуг.;== 11.; Вимоги до КЕП ==

!Очікуваний результат

* створити довідник платника;
* створити картку звіту;
* реалізувати формування XML;
* реалізувати перевірку XML;
* реалізувати експорт XML;
* реалізувати завантаження квитанцій;
* реалізувати ручні статуси;
* реалізувати журнал дій.; |-
|Зберігання пароля
|Заборонено за замовчуванням.; |Передбачити механізм актуалізація схем.; |Перегляд звітів, квитанцій, журналів.; |-
|Квитанція 1
|Підтвердження отримання документа контролюючим органом.; '''істотно:''' автоматизований сценарій потребує формування XML за актуальними XSD-схемами ДПС.; платформа повинна:
!Тип платника

!характеристика !№ |- |Зміна форм звітності |ДПС має змогу оновлювати форми та XSD.; |- |Очікується квитанція №2 |платформа очікує фінальну квитанцію.; # платформа формує XML.; |}

Приклади:

6.2.; Автоматизоване подання звітності

Приклади:

!Тип

!характеристика

  1. користувач системи відкриває розділ звітності.; !Код / тип

!Очікуваний результат

12.; Вимоги до шифрування

15.2.; конфігурація КЕП

17.2.; Автоматизований сценарій

!Ризик

Етап 1.; Ручний сценарій

!Термін

15.1.; конфігурація API

9.1.; характеристика

|
|-- Формування звітних даних
|
|-- Генерація XML
|
|-- Перевірка XML / XSD
|
|-- Сценарій 1: ручний експорт
| |
| |-- користувач системи завантажує XML
| |-- користувач системи подає XML через кабінет ДПС
| |-- користувач системи завантажує квитанції в K2 ERP
|
|-- Сценарій 2: автоматизована передача
|
|-- Підписання КЕП
|-- Шифрування
|-- Передача через API ДПС
|-- Отримання квитанцій
|-- актуалізація статусу

!№

</syntaxhighlight>

17.1.; Ручний сценарій

11.3.; Зберігання пароля

Статус Сценарій

21.; Відкриті питання

Основні права
Тип платника Довідник Так ФОП або юридична особа.; !Обов'язковість
  • повна супровід всіх форм звітності;
  • автоматичне актуалізація всіх XSD-схем;
  • супровід всіх КНЕДП;
  • супровід всіх варіантів хмарного КЕП;
  • повноцінний податковий календар.; |}
Підписанти інформаційні дані журналу
  • розмежування прав доступу;
  • заборону зберігання паролів КЕП у відкритому вигляді;
  • маскування чутливих даних у логах;
  • захист XML-файлів;
  • захист квитанцій;
  • аудит операцій із КЕП;
  • контроль доступу до налаштувань API;
  • резервне копіювання звітів та квитанцій.; У цьому сценарії K2 ERP виконує:
  • реалізувати відправку одного звіту через API;
  • реалізувати пакетну відправку;
  • реалізувати отримання квитанцій;
  • реалізувати автоматичне актуалізація статусів;
  • додати повторні спроби;
  • додати моніторинг помилок;
  • додати адміністративну панель інтеграції.; |-
Квитанція №1 отримана До звіту додано першу квитанцію.; Картка звіту повинна містити:
  • додати компонент КЕП;
  • реалізувати підписання XML;
  • реалізувати шифрування XML;
  • формувати Base64-контейнер;
  • дозволити експорт підписаного та зашифрованого документа.; # користувач системи натискає Перевірити.; # користувач системи створює звіт.; # користувач системи обирає КЕП.; |-
No receipt - AC-14 платформа оновлює статус } POST https://cabinet.tax.gov.ua/cabinet/public/api/exchange/kvt_by_id

10.1.; характеристика

Чернетка }

10.5.; Endpoint для отримання квитанцій

K2 ERP

4.; Терміни та скорочення

характеристика
Адміністратор }
"encryptedId": "ІДЕНТИФІКАТОР_ДОКУМЕНТА"

Технічне задача: Передача звітності з K2 ERP до Електронного кабінету ДПС

Параметр
  • не заповнено обов'язкове поле;
  • некоректний податковий номер;
  • неправильний звітний період;
  • відсутній код контролюючого органу;
  • некоректний формат суми.; |-
Інтервал опитування - Кількість повторів - Не прийнято Створення звіту, перевірка, експорт, підписання, відправка.; |- AC-2 користувач системи формує XML - ФОП - Код ДПС Перевірити наявність контролюючого органу.; !Критерій
  • зберігати проміжні стани обробки;
  • не втрачати XML після помилки API;
  • дозволяти повторну відправку;
  • не дублювати звіт без підтвердження користувача;
  • фіксувати всі помилки в журналі.; |-
Перевірка XML - Сертифікати ДПС - API - XML - Прийнято Отримано позитивну квитанцію №2.; !Статус

</syntaxhighlight>

1 Ручний - 500 Внутрішня помилка сервера.; # Хто відповідає за актуалізація форм і XSD?; # платформа формує XML.; # користувач системи завантажує квитанції в K2 ERP.;=== 14.2.; Помилки XML ===

10.; Сценарій 2: автоматизоване подання через API

Кнопка
"zipBase64": "BASE64_АРХІВ_ЗІ_ЗВІТАМИ"
AC-1 користувач системи створює звіт У системі створюється картка звіту.; # Чи потрібен тестовий режим?;== 5.; Ролі користувачів == характеристика Поле

{{SEO

Перед експортом або відправкою платформа повинна виконати перевірку:

характеристика

16.1.; Безпека

{ POST https://cabinet.tax.gov.ua/cabinet/public/api/exchange/report

8.3.; Формування XML

14.3.; Помилки КЕП

9.3.; Кнопки інтерфейсу

POST https://cabinet.tax.gov.ua/cabinet/public/api/exchange/reportzip платформа повинна забезпечити:
Перевірка

{

Як бухгалтер, я хочу бачити зрозумілий характеристика помилки, щоб оперативно виправити звіт і повторно подати його.; |-

Експорт XML - платформа оподаткування Довідник Так - AC-6 користувач системи фіксує результат подання - XML перевірено - Підписання - AC-5 користувач системи додає квитанцію Формування, підписання, подання, перегляд квитанцій.; # платформа оновлює статус звіту.; # платформа підписує XML.; |- AC-10 платформа шифрує XML - AC-3 користувач системи перевіряє XML - 404 - Негативна квитанція Звіт має змогу бути не прийнятий.;Логічна структура тіла запиту:<syntaxhighlight lang="json">

користувач системи самостійно подає файл через Електронний кабінет ДПС або інше офіційне ПЗ.; |-

2 Автоматизований - Некоректне шифрування - Помилка API - Квитанція №2 }

}

7.; Загальний бізнес-процес

платформа повинна формувати XML-документ на основі:

  • тип звіту;
  • звітний період;
  • платника;
  • контролюючий орган;
  • дату створення;
  • автора;
  • поточний статус;
  • XML-файл;
  • підписаний файл;
  • зашифрований файл;
  • квитанцію №1;
  • квитанцію №2;
  • журнал дій;
  • повідомлення про помилки.; |-
AC-9 платформа підписує XML }

Як бухгалтер або ФОП, я хочу передати формування звітів до ДПС напряму з K2 ERP, щоб не виконувати ручний експорт, підписання та завантаження звіту в кабінет ДПС.; |-
|Пароль
|Вводиться користувачем.; |-
|Шифрування
|Дата, сертифікат ДПС, результат.; Content-Type: application/json
Логічна структура тіла запиту:<syntaxhighlight lang="json">
характеристика

]

6. User Story

Створення звіту - Бухгалтер - Таймаут Час очікування відповіді API.; {

14.; Обробка помилок

10.6.; Статуси автоматизованого сценарію

платформа повинна:

}

14.4.; Помилки API

Подія характеристика
Чернетка Додати повторні спроби та журнал помилок.; # Де зберігати XML та квитанції: БД, файлове сховище або DMS?; |- XSD Перевірити відповідність XML актуальній XSD-схемі.; # платформа надсилає звіт через API ДПС.;=== 8.2.; Картка звіту ===

16.3.; Масштабованість

залежно від вимог форми виступає ключовою рисою |КЕП директора, бухгалтера, печатки.; |-

Недоступність API - ДПС Державна податкова служба України.;=== 14.1.; Помилки даних ===

Після підписання XML має бути зашифрований для передачі до ДПС.; |}

Для реалізації задачі необхідно мати:
характеристика
Тип КЕП - AC-7 платформа формує XML XML створено відповідно до форми звітності.; Приклади: характеристика
  • формування XML;
  • перевірку XML;
  • підписання КЕП;
  • шифрування;
  • формування Base64;
  • передачу через API;
  • отримання квитанцій;
  • актуалізація статусів.; |-
Перевірити - Електронний кабінет - Прийнято - Потребує виправлення }

3.; Передумови

функціональні можливості застосовують, коли потрібно для підготовки та передачі податкової звітності з K2 ERP.; * API Електронного кабінету ДПС

11.2.; Типи підписантів