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

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

Как правильно интегрировать онлайн-кассу с ботом в MAX: отправка электронных чеков, работа с ОФД, возвраты и соответствие требованиям 54-ФЗ.

  • MAX
  • 54-ФЗ
  • онлайн-касса
  • интеграция

Бот в MAX, принимающий оплату, автоматически попадает в зону регулирования 54-ФЗ. Это не опциональная тема — это юридическое требование. При этом большинство разработчиков ботов либо игнорируют кассовый вопрос (и создают риск для бизнеса), либо реализуют его неправильно. Разберём, как устроена корректная интеграция онлайн-кассы с ботом MAX: технически, юридически и операционно.

Зачем боту касса: требования 54-ФЗ

54-ФЗ обязывает формировать кассовый чек при каждом расчёте с физическим лицом — независимо от канала оплаты. Оплатил через сайт, через приложение или через бота в MAX — чек обязателен. Исключения крайне редки и, как правило, не применимы к стандартным B2C-бизнесам.

За отсутствие кассы или невыдачу чека — штрафы: для ИП 10 000–30 000 ₽, для юридических лиц — 75 000–100 000 ₽ и более. При повторном нарушении и обороте свыше 1 млн ₽ — приостановление деятельности до 90 суток.

Важный момент: проверяющий органы всё активнее мониторят боты и интернет-магазины. «Не знал» и «мы маленькие» — не аргументы при проверке.

Схема работы: бот, эквайринг и ОФД

Корректная цепочка выглядит так: покупатель оплачивает через бот → платёжный шлюз принимает оплату → сигнал уходит в кассовый сервис → касса формирует чек → чек отправляется в ОФД (оператор фискальных данных) → чек приходит покупателю на email/телефон. Всё это автоматически, без участия человека, в момент оплаты.

Для ботов в MAX на практике используются два подхода. Первый — облачная касса (например, OrangeData, Атол Онлайн, Эвотор Облако): физической кассы нет, расчёты ведутся через API, чек формируется на стороне сервиса. Подходит для большинства онлайн-бизнесов. Второй — интеграция с физической кассой через API: кассовое устройство в офисе, интеграция с ботом через специальный middleware. Чаще используется для гибридных бизнесов (офлайн + бот).

Вариант кассыСтоимость подключенияЕжемесячные расходыПодходит для
Облачная касса (OrangeData)0–5 000 ₽1 500–3 500 ₽Онлайн-бизнес, боты
Атол Онлайн0 ₽1 800–4 000 ₽Онлайн-бизнес
Физическая касса + API15 000–40 000 ₽500–1 000 ₽ (ОФД)Гибридный бизнес

Электронный чек: что должно быть в нём

Чек, сформированный при оплате через бот MAX, должен содержать обязательные реквизиты: наименование продавца, ИНН, номер кассы, дату и время, перечень позиций с ценой, ставку и сумму НДС (если применяется), QR-код для проверки в ФНС, адрес ОФД, телефон или email покупателя.

Последний пункт важен для бота: при оформлении заказа нужно запрашивать email или телефон для отправки чека. Это обязательное поле — без него чек некуда отправить. Хорошая практика: бот спрашивает email один раз и запоминает для всех последующих покупок.

Возвраты: как это работает через бота

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

В боте MAX возврат инициируется либо автоматически (при отмене заказа клиентом до определённого момента), либо вручную через административный интерфейс. В обоих случаях система должна автоматически отправлять запрос в кассовый сервис на формирование чека возврата. Деньги возвращаются клиенту через платёжный шлюз, чек приходит по тем же каналам, что и исходный.

Типичная ошибка: возврат делают вручную через личный кабинет эквайринга, не формируя кассовый чек. Это нарушение, даже если деньги фактически вернулись.

Предоплата и постоплата: нюансы

Если бот принимает предоплату (задаток за мероприятие, бронь в гостинице, первый взнос за обучение), схема чеков усложняется. При получении предоплаты формируется чек с признаком «аванс». При окончательном расчёте — чек с признаком «полный расчёт» и зачётом аванса. Кассовый сервис должен поддерживать эти признаки расчёта.

Аналогично для постоплаты: если товар передаётся сначала, а деньги приходят потом (например, при доставке наложенным платежом), формируется чек с признаком «передача в кредит», а после оплаты — чек полного расчёта.

Сценарий оплатыТип чека при получении денегТип чека при передаче товара
100% предоплата«Полная предоплата»Не нужен отдельный чек
Частичная предоплата (аванс)«Аванс»«Полный расчёт» с зачётом аванса
Оплата при полученииНе нужен при отправке«Полный расчёт» при оплате
Подписка / регулярные платежи«Полный расчёт» при каждом списании

Практические советы по интеграции

При выборе кассового сервиса обращайте внимание на документированность API: он должен поддерживать все нужные признаки расчёта, теги ФФД (формата фискальных данных), и иметь тестовую среду для разработки. Работать с боевой кассой во время разработки — плохая практика: чеки уходят в ОФД, их потом нужно аннулировать.

Тестируйте все сценарии: успешная оплата, оплата с ошибкой (карта отклонена), отмена заказа после оплаты, возврат частичный и полный. Каждый сценарий должен корректно обрабатываться кассой.

Логируйте все транзакции: дата, сумма, статус чека (сформирован / ошибка), номер чека. При налоговой проверке эти данные могут понадобиться.

Разработка бота с корректной интеграцией кассы стоит на 20 000–40 000 ₽ дороже, чем без неё. Это не трата — это страховка от штрафов в 75 000–100 000 ₽ и потенциального закрытия бизнеса. Считайте это обязательным вложением, а не опцией.

Бот в MAX, работающий с оплатой без корректной кассовой интеграции — это бомба с таймером. Лучше решить вопрос правильно с самого начала, чем переделывать под давлением проверки.