Если Telegram-бот принимает деньги от физических лиц за товары или услуги, он обязан соблюдать требования 54-ФЗ — пробивать кассовые чеки и передавать данные в ОФД. Это не опциональное требование, а законодательная норма, нарушение которой влечёт штрафы от 10 000 ₽ до полной суммы расчётов, проведённых без чека. В этой статье разберём, как правильно интегрировать онлайн-кассу с Telegram-ботом.
Кому нужна онлайн-касса в боте
Онлайн-касса необходима, если бот принимает оплату от физических лиц за:
— товары (включая цифровые); — услуги (запись, абонементы, курсы); — работы.
Исключения, когда касса не нужна: расчёты с юридическими лицами через банковские счёта (БТО — безналичный расчёт); самозанятые, работающие через приложение «Мой налог» (они формируют чеки там); агентские схемы, когда бот принимает предоплату через платёжного агрегатора, который сам является плательщиком НДС.
Проконсультируйтесь с бухгалтером или налоговым консультантом применительно к вашей конкретной ситуации — нюансы зависят от организационно-правовой формы и вида деятельности.
Как работает фискализация в боте
Схема работы выглядит следующим образом.
Шаг первый: клиент совершает покупку в боте и оплачивает через платёжную систему (ЮКасса, Тинькофф, Сбер).
Шаг второй: платёжная система подтверждает успешную оплату через webhook — то есть отправляет уведомление на сервер бота.
Шаг третий: сервер бота (или платёжная система напрямую) отправляет запрос в кассовое ПО — например, через API Атол, Модулькассы, CloudKassir или встроенный функционал платёжного агрегатора.
Шаг четвёртый: кассовое ПО формирует фискальный чек, передаёт его в ОФД и возвращает электронный чек.
Шаг пятый: бот отправляет клиенту электронный чек — в Telegram или на email (по выбору клиента).
Весь этот процесс занимает 5–15 секунд и при правильной реализации незаметен для клиента — он просто получает сообщение «Оплата принята» и чек.
Варианты реализации кассы для бота
Вариант первый — встроенная фискализация платёжного агрегатора. Самый простой способ. ЮКасса, Тинькофф Касса, Сбер Эквайринг предлагают встроенный модуль фискализации: при подключении кассы через них агрегатор сам формирует чек и отправляет в ОФД. Вам нужно только настроить список товаров/услуг с налоговыми ставками.
Плюсы: минимальная разработка, нет необходимости в отдельном кассовом ПО. Минусы: ограниченная гибкость в настройке чеков, зависимость от агрегатора.
Вариант второй — облачная касса через API. Подключается отдельная облачная касса (Атол Онлайн, CloudKassir, МодульКасса) с API для формирования чеков. Разработчик бота вызывает API после каждой успешной оплаты и получает готовый чек.
Плюсы: гибкость, работа с любым платёжным агрегатором. Минусы: дополнительная разработка, ежемесячная стоимость кассы.
Вариант третий — физическая касса с онлайн-модулем. Для бизнесов с офлайн-присутствием (магазин, кафе) и параллельными продажами через бота — касса уже есть. Нужно настроить API-интеграцию с ботом.
| Вариант | Стоимость (мес., ₽) | Сложность интеграции | Гибкость |
|---|---|---|---|
| Встроенный модуль ЮКассы | 0–500 | Низкая | Ограниченная |
| Атол Онлайн (облако) | 1 800 – 3 500 | Средняя | Высокая |
| CloudKassir | 1 500 – 2 500 | Средняя | Высокая |
| МодульКасса | 1 200 – 2 200 | Низкая | Средняя |
Что обязательно должно быть в чеке
По 54-ФЗ в фискальном чеке должны присутствовать:
— наименование товара/услуги (нельзя писать «товар» — нужно конкретное название); — количество и цена; — сумма НДС (или пометка «НДС не облагается»); — применяемая система налогообложения; — форма расчёта (электронными, наличными); — телефон или email покупателя (для электронного чека).
Распространённая ошибка: в боте пишут «оплата за услуги» без расшифровки. Это нарушение — наименование должно соответствовать фактической услуге.
Возвраты: как оформить через бота
Возврат — это фискальная операция, требующая чека на возврат прихода. Алгоритм:
Клиент пишет боту или менеджеру: «Хочу вернуть заказ №12345». Менеджер подтверждает возврат в системе. Бот отправляет через API кассы запрос на формирование чека возврата на соответствующую сумму. ОФД фиксирует возврат. Средства возвращаются клиенту через платёжный агрегатор.
Важно: возврат через бота должен быть синхронизирован с фактическим возвратом средств. Нельзя вернуть деньги без чека на возврат — это нарушение.
Частичные возвраты и корректировки
Если клиент купил 5 единиц товара, а возвращает 2, нужен чек на возврат именно 2 единиц по соответствующей цене. API облачных касс поддерживает частичные возвраты — при реализации убедитесь, что ваш разработчик учёл этот сценарий.
Нюансы с подписками и регулярными платежами
Подписки (ежемесячная оплата) требуют чека при каждом списании — даже если это автоплатёж без участия клиента. Каждое списание = отдельный чек. Это важно учитывать при настройке регулярных платежей.
При использовании рекуррентных платежей через ЮКассу встроенный модуль фискализации автоматически формирует чек при каждом списании — убедитесь, что функция активирована.
Чек самозанятому: отдельный случай
Если исполнитель — самозанятый и работает через «Мой налог», он выдаёт чеки сам через это приложение. Telegram-бот в этом случае не является кассовым аппаратом — самозанятый сам фиксирует доход. Но если самозанятый продаёт через бот товары, а не только свои услуги — ситуация усложняется. Проконсультируйтесь с налоговым консультантом.
Как проверить, что всё работает правильно
Первый шаг — тестовая транзакция. Сделайте оплату на минимальную сумму и убедитесь, что чек сформировался и отправлен.
Второй шаг — проверка через ОФД. Войдите в личный кабинет вашего ОФД (Первый ОФД, Контур.ОФД и т. д.) и убедитесь, что чек отображается в реестре.
Третий шаг — проверка QR-кода на чеке. Каждый чек содержит QR-код, по которому его можно проверить через сайт ФНС. Этот QR должен вести на реальную запись в системе ФНС.
Штрафы за нарушения
За расчёты без применения ККТ штрафы составляют: для ИП — 25–50% от суммы расчётов без чека, но не менее 10 000 ₽; для юрлиц — 75–100%, но не менее 30 000 ₽. Повторное нарушение при обороте > 1 млн ₽ — дисквалификация и приостановка деятельности.
Это не та сфера, где стоит экономить на разработке. Правильная интеграция кассы — это инвестиция в отсутствие проблем с налоговой.
Стоимость интеграции кассы в бота
| Работа | Стоимость (₽) |
|---|---|
| Интеграция ЮКасса + встроенная фискализация | 15 000 – 25 000 |
| Интеграция с Атол / CloudKassir через API | 30 000 – 55 000 |
| Настройка возвратов и корректировок | 10 000 – 20 000 |
| Тестирование и проверка сценариев | 5 000 – 10 000 |