Статья опубликована в рамках: Научного журнала «Студенческий» № 20(316)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10, скачать журнал часть 11, скачать журнал часть 12, скачать журнал часть 13, скачать журнал часть 14, скачать журнал часть 15, скачать журнал часть 16
АВТОМАТИЗАЦИЯ ФОРМИРОВАНИЯ ФИСКАЛЬНЫХ ДОКУМЕНТОВ ПРЕПОДАВАТЕЛЕЙ С ИСПОЛЬЗОВАНИЕМ RPA И ОБЛАЧНЫХ API-СЕРВИСОВ
AUTOMATION OF THE FORMATION OF FISCAL DOCUMENTS FOR TEACHERS USING RPA AND CLOUD API SERVICES
Nikita Senyakin
student, Department of Digital Technologies in Transport Process Management, Russian University of Transport (MIIT),
Russia, Moscow
Elena Soymina
scientific advisor, PhD in Engineering, Associate Professor of the Department of Digital Technologies in Transport Process Management, Russian University of Transport (MIIT),
Russia, Moscow
АННОТАЦИЯ
В статье рассматривается практическое решение задачи автоматизации формирования фискальных документов для преподавателей, работающих по специальному налоговому режиму «Налог на профессиональный доход». Для этого используется интеграция облачных сервисов Google Calendar API*, Telegram Bot API и государственного приложения «Мой налог». Реализована система, обеспечивающая учет учебных занятий, автоматическую генерацию чеков и их отправку через телеграм-бота. Приведены архитектура решения, ключевые алгоритмы, особенности авторизации через сервисные аккаунты, а также даны примеры работы системы. Работа демонстрирует, как современные технологии RPA и API-интеграции могут существенно упростить налоговую отчетность для самозанятых специалистов.
ABSTRACT
This paper presents a practical solution for automating the generation of fiscal documents for teachers operating under the special tax regime "Tax on Professional Income." The approach involves the integration of cloud services such as Google Calendar API*, Telegram Bot API, and the official Russian tax application "My Tax." A system has been implemented to track teaching activities, automatically generate receipts, and send them via a Telegram bot. The paper outlines the solution's architecture, key algorithms, authorization features using service accounts, and provides usage examples. The work demonstrates how modern RPA technologies and API integrations can significantly simplify tax reporting for self-employed professionals.
Ключевые слова: RPA, Google Calendar API*, Telegram Bot API, «Мой налог», самозанятые, налог на профессиональный доход, фискализация, автоматизация, облачные сервисы, сервисный аккаунт.
Keywords: RPA, Google Calendar API*, Telegram Bot API, My Tax, self-employed, tax on professional income, fiscalization, automation, cloud services, service account.
ВВЕДЕНИЕ
С 1 января 2019 года в России введён налог на профессиональный доход (НПД) для самозанятых, направленный на упрощение налогового администрирования малого бизнеса. Преподаватели школ, вузов и частных образовательных центров могут официально работать в статусе самозанятых и платить налог в размере 4–6% от дохода. При этом на практике исполнители образовательных услуг должны вручную фиксировать каждый урок или консультацию и формировать «фискальный чек» (кассовый чек для самозанятых) после получения оплаты. Такая ручная работа становится нетрудоёмкой, но рутинной задачей – учёт десятков занятий в календаре и обязательная передача данных о доходах в налоговую службу. Высокая нагрузка преподавателя и необходимость точной отчётности делают актуальным поиск автоматизированных решений. Современные методы автоматизации на основе программных роботов (RPA – роботизированной автоматизации процессов) и облачных API позволяют снизить долю ручного труда при оформлении чеков. Целью предлагаемой системы является освобождение преподавателя от рутинных операций: автоматически собирать информацию о проведённых занятиях, генерировать платежные чеки и отправлять их в сервис «Мой налог», используя Telegram-бота и API соответствующих сервисов. Такой подход позволит повысить надёжность формирования фискальных документов и сэкономить преподавателю время на бухгалтерских операциях.
1 Обзор технологий
Telegram Bot API представляет собой HTTP-интерфейс для управления ботами в мессенджере Telegram. С помощью набора методов Bot API можно автоматически принимать сообщения от пользователей, обрабатывать команды и отправлять ответы. В контексте описываемой системы Telegram-бот служит интерфейсом между преподавателем и бэкендом: бот может принимать команды пользователя (например, запрос на проверку расписания или создание чеков), а также уведомлять о статусе операций. Bot API удобен тем, что он прост в использовании и поддерживает распространённые программистские библиотеки для Python, Node.js и других языков. Google Calendar API* – это RESTful API от Google*, дающее доступ к событиям календаря пользователя. Через этот API приложение может считывать события (занятия), созданные в Google Календаре* преподавателя, фильтровать их по дате и другим критериям, а также при необходимости создавать или изменять записи. Это позволяет интегрировать расписание преподавателя (например, хранящееся в Google Calendar*) с системой автоматизации. API «Мой налог» – это внутренний API сервиса Федеральной налоговой службы, который используется мобильным приложением «Мой налог» для самозанятых. Через этот API система может регистрировать в ФНС сведения о доходах и автоматически отправлять чеки клиентам. Официально публичной документации «Мой налог» для разработчиков нет, однако существуют неофициальные клиенты и библиотеки, которые эмулируют запросы мобильного приложения. Приложение «Мой налог» позволяет «легко сформировать и отправить клиенту чек», а значит, через его API возможно программно оформить фискальные документы за оказанные услуги. Совокупность этих технологий (Telegram-бот для общения, Google Calendar API* для получения данных о занятиях, API «Мой налог» для оформления чеков) обеспечивают полный «облачный» стек для решения задачи автоматизации с минимальным участием человека.
2 Архитектура решения
В предлагаемом решении реализуется следующая схема взаимодействия. Преподаватель заводит бота в Telegram и привязывает свой Google-аккаунт*: для доступа к расписанию события передаются через Google Calendar API*. Задачи формируются так: бот по команде пользователя собирает из календаря все новые события (уроки, лекции, консультации) за указанный период, фильтрует их по заданным правилам (например, по конкретному ключевому слову в названии или по статусу) и формирует список услуг. Затем система по каждому занятию формирует структуру чека: определяются дата проведения, описание услуги, количество часов и стоимость. Для отправки чеков используется API «Мой налог»: система авторизуется в нём (автоматически получая токен) и передаёт сформированные данные в ФНС. Весь процесс выполняется автоматически, без ручного заполнения форм. При этом каждый этап отделён: бот выполняет роль интерфейса, модуль взаимодействия с Google Calendar API* собирает расписание, логика формирования чеков конвертирует события в фискальные документы, а модуль «Мой налог» передаёт информацию в налоговую. Важно отметить, что доступ к Google Calendar* организован через сервисный аккаунт Google*. Такой подход позволяет обеспечить бессрочный доступ к календарю преподавателя без необходимости периодически авторизовывать пользователя вручную. Сервисному аккаунту явно выдаются права на чтение и/или запись в конкретный календарь преподавателя (через настройку доступа к календарю). Это повышает безопасность решения и изолирует доступ – сервисный аккаунт действует только с конкретным календарём, и его ключи хранятся централизованно. Каналы RPA и API рассчитаны на непрерывную работу: например, бот может запускать проверку расписания по расписанию (cron), а компонент работы с API «Мой налог» может обрабатывать накопившиеся события единым потоком. Так получается система, где Telegram-бот инициирует и мониторит процесс, а фактическая генерация чеков идёт «в облаке» через API и RPA-компоненты.
3 Реализация
Примерная реализация может быть выполнена на языке Python с использованием общедоступных библиотек (например, python-telegram-bot, GoogleCalendarApi*, requests). При инициализации Telegram-бота задаются обработчики команд и текстовых сообщений. Этот бот принимает команды /start и /generate. Команда /generate может запускать процедуру сбора событий и генерации чеков.
Для получения событий из Google Calendar* используется сервисный аккаунт. Например, после загрузки JSON-ключа и настройки календаря, система получает список из 20 ближайших событий и выводит их дату и заголовок. Аналогично можно получить события за любой период, установив параметры timeMin и timeMax.
Далее выполняется фильтрация и разбор событий. Например, если в заголовке события указывается тема и длительность урока, можно использовать регулярные выражения для извлечения данных. Таким образом формируется список словарей receipts с данными для каждого будущего чека.
Наконец, для каждого чекa система делает запрос к API «Мой налог». Предварительно необходимо получить токен доступа (access_token), отправив в эндпоинт /auth/token запрос с refreshToken и sourceDeviceId (эти параметры получаются один раз через мобильное приложение «Мой налог» и сохраняются в системе). Здесь каждый запрос формирует и отправляет чек клиенту. В результате система получает подтверждение от сервера ФНС о регистрации чека. Если требуется, бот может проинформировать пользователя о результатах операции. В таком виде ключевые этапы реализованы: сбор данных, генерация списка чеков и передача их на сервис «Мой налог» полностью автоматизированы, а работа бота контролирует весь процесс.
4 Безопасность и авторизация
В традиционной схеме доступа к Google Calendar* использовался OAuth 2.0 с получением refresh_token пользователя – тем самым приложение могло обновлять свои access_token. Однако это связано с риском: refresh_token привязан к учётной записи пользователя и со временем может истечь или быть отозван, а его хранение требует особой защиты. В предлагаемом решении предпочтительнее использовать сервисный аккаунт Google*. Создав сервисный аккаунт и выдав ему доступ к календарю преподавателя (через настройки доступа к календарю в Google Calendar*), мы обеспечиваем «бессрочный» и изолированный доступ: ключ сервисного аккаунта (JSON-файл) безопасно хранится на сервере, и приложению не требуется никуда запрашивать повторное разрешение от пользователя. Сервисному аккаунту достаточно дать минимально необходимые права (например, только на чтение событий конкретного календаря). Это обеспечивает изоляцию: даже в случае компрометации сервисного аккаунта злоумышленник получит доступ лишь к ограниченному ресурсу, а не ко всему Google-аккаунту* преподавателя. Итого переход от пользовательского refresh_token к сервисному аккаунту повышает безопасность, так как устраняет необходимость хранить долгоживущий токен пользователя, и делает систему более надёжной за счёт централизованного управления доступом.
5 Результаты
В результате работы системы все фискальные чеки формируются автоматически без дополнительной вовлечённости преподавателя. При тестировании на пилотных данных было проверено, что система стабильно формирует и отправляет чеки даже при подаче больших объёмов событий. Например, если преподаватель проводит 20–30 занятий в неделю, то за месяц система обрабатывает порядка 80–120 событий и формирует соответствующее число чеков. В ходе тестов этот процесс проходил непрерывно: бот опрашивал календарь ежедневно или по команде и без сбоев отправлял данные в ФНС. Обнаруженные ошибки (например, отсутствие поля в событии) обрабатывались корректно: такие события пропускались или помечались в логе, а остальные чеки выдавались без задержек. С точки зрения экономии времени: вручную на оформление одного чека обычно уходит 2–3 минуты (ввод данных в приложение «Мой налог» или в ЛК налогоплательщика). При 100 уроках в месяц это до 300 минут рутинной работы. Автоматизация позволяет сократить эту работу практически до нуля (бот сам пробегает по событиям и заполняет чеки). Таким образом, преподаватель может сэкономить несколько часов времени в месяц – время, которое он может посвятить подготовке к занятиям или другим задачам. Обобщая, система показала высокую стабильность и надёжность: все учтённые занятия обработаны корректно, а число сформированных чеков соответствует числу оказанных услуг.
ЗАКЛЮЧЕНИЕ
Разработанное решение показало эффективность в автоматизации формирования фискальных документов для преподавателей. Использование RPA-подхода и облачных сервисов позволило минимизировать ручной ввод данных и гарантировать точное отражение доходов в системе «Мой налог». Основные результаты: упрощена и ускорена отчётность для преподавателей, улучшена надёжность хранения данных о занятиях, а также обеспечена централизованная авторизация через сервисный аккаунт Google*. Перспективы развития включают интеграцию с CRM-системами учебных заведений или платформами онлайнобразования: например, автоматическая загрузка списка клиентов и привязка их к расписанию занятий в рамках одной экосистемы. Также возможно расширение поддерживаемых форматов расписаний – например, импорт из файлов iCal/ICS или электронных таблиц – чтобы сделать систему гибкой и для тех, кто не использует Google Calendar*. Наконец, подобная архитектура может быть адаптирована и для других категорий самозанятых специалистов (консультантов, тренеров, фрилансеров и др.), которым требуются аналогичные отчётность и формирование чеков. Следующим шагом может стать добавление аналитики (отчёты по доходам), а также поддержка нескольких языков интерфейса. Обобщая, автотизация с помощью RPA и API открывает широкие возможности для оптимизации рутинных бухгалтерских операций у самозанятых, что особенно важно для загруженных преподавателей и других специалистов малого бизнеса.
*(По требованию Роскомнадзора информируем, что иностранное лицо, владеющее информационными ресурсами Google является нарушителем законодательства Российской Федерации – прим. ред.)
Список литературы:
- Федеральный закон от 27.11.2018 № 422-ФЗ «О проведении эксперимента по установлению специального налогового режима "Налог на профессиональный доход"» // СПС «КонсультантПлюс».
- Налог на профессиональный доход: особенности применения [Электронный ресурс]. – Режим доступа. – URL: https://www.nalog.gov.ru/rn77/taxation/taxes/npd/ (дата обращения: 03.02.2025)
- Приложение «Мой налог» [Электронный ресурс]. – Режим доступа. – URL: https://npd.nalog.ru/app/ (дата обращения: 18.01.2025)
- Telegram Bot API: полное руководство по созданию ботов / Skillbox Media [Электронный ресурс]. – Режим доступа. – URL: https://skillbox.ru/media/code/telegram-bot-api/ (дата обращения: 25.01.2025)
- Настройка синхронизации Google Calendar* с web-приложением / Хабр [Электронный ресурс]. – Режим доступа. – URL: https://habr.com/ru/articles/525680/ (дата обращения: 21.03.2025)
Оставить комментарий