АВТОМАТИЗОВАНА СИСТЕМА РОЗРАХУНКУ ТА ДЕКЛАРУВАННЯ ПОДАТКІВ ДЛЯ ФОП
18.01.2024 14:44
[1. Information systems and technologies]
Author: Васильківський Валерій Максимович, здобувач другого (магістерського) рівня вищої освіти, Дніпровський національний університет імені Олеся Гончара, м. Дніпро
Вступ. Метою є розробка автоматизованої системи на платформі Java з використанням Spring Boot Framework, Kafka, Nginx для автоматизації процесів роботи з рахунками та деклараціями ФОПів.
Аналіз проблеми. Через низьку податкову ставку для ФОП 3 групи у вигляді 5%, кількість ФОПів за останні роки тільки зростає. Це призводить до щоквартального великого потоку декларацій, які по статистиці часто заповнюють невірно, через що виникають досить великі труднощі. Але оскільки перевірка декларацій контрагента та доходів, які задекларував ФОП проводиться на наступний рік за попередній, наприклад в 2024 році податкова служба буде перевіряти достовірність декларації за 2023 рік, може виникнути проблема несплати необхідної суми податків, через що до податкової подається пояснювальна, уточнююча декларація та нараховується пеня, її розмір буде визначатися як відсоток від несплаченої суми. Крім того сам процес заповнення декларації досить нудний та виснажливий, оскільки у ФОПа може бути декілька рахунків у різних банках, може бути втрачена виписка за рахунком або він може просто торгувати великою кількістю дрібних товарів з не менш великим відсотком повернення грошей за цей товар, через що заповнити декларацію буде досить тяжко, якщо ФОП сам не веде звіт доходів.
Запропоноване технічне рішення. Веб-застосунок розроблений в середовищі розробки Eclipse на об’єктно-орієнтованій мові програмування Java з використанням технологій Spring Boot Framework, Kafka та Nginx. Використання такого набору технологій дає змогу розробити систему з вхідною точкою у вигляді REST API та відкритою до горизонтального масштабування. Сама система здатна працювати з базами даних на рівні моделей та вибірок і крім цього підтримувати комунікацію з іншими сервісами та середовищами за допомогою протоколу HTTPS, GRPC або за допомогою серверу черг Kafka.
Оскільки мова йде про систему обробки інформації за рахунками фізичної особи, то вона може бути двох типів. Перший тип це доповнення до вже існуючого порталу платників податків, саме тому запропоноване рішення побудоване як REST API. Другий тип це побудова застосунку, який буде використовувати Дія.Підпис або ЕЦП банку для верифікації користувача та отримання даних по його рахункам та про його систему оподаткування. Важливо зазначити те, що під інформацією про рахунки користувача мається на увазі його дохід, який був за поточний або за минулий звітній період. Розглянемо на прикладі взаємодії системи з рахунком ФОП від банку monobank. Monobank пропонує нам відкрите API за допомогою якого ми можемо дізнатись інформацію щодо доходів ФОП та прорахувати необхідну суму, яку ФОП має задекларувати та суму податку за відсотком згідно його системи оподаткування. Крім монобанку, таке API має Sense Bank, Privat Bank та інші, що означає можливість повної інтеграції з поточними банківськими системами в Україні.
Технічна реалізація та принцип роботи автоматизованої системи податкових звітів. В системі присутні три рівня: інтерфейс взаємодії, сервісний рівень та рівень роботи з базою даних. Інтерфейс взаємодії з системою представляє собою вхідні точки для запитів, які буде обробляти контролер за принципом REST API, на цьому етапі відбувається первинна валідація параметрів запиту та перевірка аутентифікації користувача. Сервісний рівень є рівнем обробки даних та взаємодією з API різних банків для отримання статистики, що буде використовуватись для формування параметрів для декларації. Рівень роботи з базою даних присутній для збереження значень для звітного періоду у випадку якщо замовник вказав у своїй декларації більшу суму ніж оплатив на ФОП рахунок.
Система розбита на два сервіси, перший з яких містить в собі рівні інтерфейсу та сервісний рівень, а другий сервіс вже містить рівень роботи з базою. Зв’язок між ними встановлюється за допомогою Kafka, що дозволяє масштабувати перший сервіс перетворюючи його на ноду, в якості регулятора (балансувальника) навантаження використовується Nginx. Така система є дуже стійкою до навантажень, а також легко масштабується для збільшення продуктивності. Щоб не контролювати кількість одночасно піднятих нод мануально, можна використати kubernetes, який буде сам при необхідності створювати додаткову ноду або навпаки для економії ресурсів вимикати її.
Висновок. Така система дуже полегшить щоквартальне декларування для ФОПів, які ведуть ФОП самостійно, а також допоможе не створювати помилки у звітах. Крім того для ФОПів з багатьма рахунками це буде зручним інструментом прорахунку кінцевої суми для декларування. Якщо ж це доповнить існуючий портал кабінету платника податків, то це стане дуже потужним інструментом для автоматизації підрахунків податків.