Legan Studio
Все статьи
~ 5 мин чтения

Интеграция онлайн-кассы с Telegram-ботом: ОФД, чеки, возвраты и 54-ФЗ

Практическое руководство по фискализации платежей в Telegram-боте: выбор кассового решения, отправка чеков, обработка возвратов согласно требованиям 54-ФЗ.

  • Telegram
  • 54-ФЗ
  • онлайн-касса
  • оплата

Если Telegram-бот принимает деньги от физических лиц за товары или услуги, он обязан соблюдать требования 54-ФЗ — пробивать кассовые чеки и передавать данные в ОФД. Это не опциональное требование, а законодательная норма, нарушение которой влечёт штрафы от 10 000 ₽ до полной суммы расчётов, проведённых без чека. В этой статье разберём, как правильно интегрировать онлайн-кассу с Telegram-ботом.

Кому нужна онлайн-касса в боте

Онлайн-касса необходима, если бот принимает оплату от физических лиц за:

— товары (включая цифровые); — услуги (запись, абонементы, курсы); — работы.

Исключения, когда касса не нужна: расчёты с юридическими лицами через банковские счёта (БТО — безналичный расчёт); самозанятые, работающие через приложение «Мой налог» (они формируют чеки там); агентские схемы, когда бот принимает предоплату через платёжного агрегатора, который сам является плательщиком НДС.

Проконсультируйтесь с бухгалтером или налоговым консультантом применительно к вашей конкретной ситуации — нюансы зависят от организационно-правовой формы и вида деятельности.

Как работает фискализация в боте

Схема работы выглядит следующим образом.

Шаг первый: клиент совершает покупку в боте и оплачивает через платёжную систему (ЮКасса, Тинькофф, Сбер).

Шаг второй: платёжная система подтверждает успешную оплату через webhook — то есть отправляет уведомление на сервер бота.

Шаг третий: сервер бота (или платёжная система напрямую) отправляет запрос в кассовое ПО — например, через API Атол, Модулькассы, CloudKassir или встроенный функционал платёжного агрегатора.

Шаг четвёртый: кассовое ПО формирует фискальный чек, передаёт его в ОФД и возвращает электронный чек.

Шаг пятый: бот отправляет клиенту электронный чек — в Telegram или на email (по выбору клиента).

Весь этот процесс занимает 5–15 секунд и при правильной реализации незаметен для клиента — он просто получает сообщение «Оплата принята» и чек.

Варианты реализации кассы для бота

Вариант первый — встроенная фискализация платёжного агрегатора. Самый простой способ. ЮКасса, Тинькофф Касса, Сбер Эквайринг предлагают встроенный модуль фискализации: при подключении кассы через них агрегатор сам формирует чек и отправляет в ОФД. Вам нужно только настроить список товаров/услуг с налоговыми ставками.

Плюсы: минимальная разработка, нет необходимости в отдельном кассовом ПО. Минусы: ограниченная гибкость в настройке чеков, зависимость от агрегатора.

Вариант второй — облачная касса через API. Подключается отдельная облачная касса (Атол Онлайн, CloudKassir, МодульКасса) с API для формирования чеков. Разработчик бота вызывает API после каждой успешной оплаты и получает готовый чек.

Плюсы: гибкость, работа с любым платёжным агрегатором. Минусы: дополнительная разработка, ежемесячная стоимость кассы.

Вариант третий — физическая касса с онлайн-модулем. Для бизнесов с офлайн-присутствием (магазин, кафе) и параллельными продажами через бота — касса уже есть. Нужно настроить API-интеграцию с ботом.

ВариантСтоимость (мес., ₽)Сложность интеграцииГибкость
Встроенный модуль ЮКассы0–500НизкаяОграниченная
Атол Онлайн (облако)1 800 – 3 500СредняяВысокая
CloudKassir1 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 через API30 000 – 55 000
Настройка возвратов и корректировок10 000 – 20 000
Тестирование и проверка сценариев5 000 – 10 000