Юр. сторона и интеграции

Приём оплаты на сайте и 54-ФЗ: чек, касса, кто его пробивает

Кто обязан выдавать чек при оплате картой на сайте, как работает облачная касса, что берёт на себя платёжный сервис.

обновлено 9 минут чтения 2 Дмитрий Акиндинов
Содержание
  1. Кто обязан пробивать чек при оплате на сайте
  2. Три варианта: своя касса, облачная касса, чек от агрегатора
  3. Что должно быть в чеке
  4. Типовые ошибки интеграции
  5. Самозанятые и ИП без кассы
  6. Что проверить на своём сайте прямо сейчас
  7. Частые вопросы

Чек при оплате на сайте пробивает тот, кто получает деньги от покупателя. Платёж идёт напрямую вам, значит нужна касса: облачная стоит 500-1 200 рублей в месяц плюс около 3 000 рублей в год за ОФД. Если деньги принимает агрегатор как агент, чек его забота.

Вопрос «нужна ли мне касса, если я принимаю оплату на сайте» всплывает у каждого второго клиента, который подключает приём карт напрямую, без посредника. Ответ почти всегда «да», но детали зависят от формы бизнеса, способа оплаты и того, кто технически проводит платёж. Разберу, кто обязан пробивать чек, какие есть варианты подключения кассы и на чём обычно ловят ошибки при интеграции.

Чек, выходящий из терминала рядом с окном браузера

Сразу предупрежу: это не юридическая консультация, а разбор с точки зрения того, кто настраивает интеграции на сайтах последние годы и регулярно видит, как эти интеграции ломаются. За точным толкованием закона под свой конкретный случай идите к бухгалтеру или в налоговую, здесь же дам техническую и организационную сторону вопроса.

Кто обязан пробивать чек при оплате на сайте

54-ФЗ требует применения контрольно-кассовой техники при расчётах, и оплата картой или через СБП на сайте это тоже расчёт, даже если деньги физически не переходят из рук в руки. Момент выдачи чека, это момент подтверждения оплаты, а не момент отгрузки товара или оказания услуги.

Обязаны применять кассу:

  • организации (ООО, АО) при продаже товаров и услуг физическим лицам;
  • индивидуальные предприниматели на большинстве систем налогообложения при расчётах с физлицами.

Освобождены от кассы в общем случае:

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

Частая ошибка: ИП думает, что раз он «почти самозанятый по духу», касса ему не нужна. Нужна, если он именно ИП, а не встал на учёт как плательщик НПД. Разница на бумаге небольшая, а по обязанностям, в том числе кассовым, принципиальная.

Момент выдачи чека критичен для интернет-магазинов с предоплатой. Если клиент оплатил на сайте, а товар вы отправите через три дня, чек об оплате должен уйти клиенту сразу после платежа, а не после отгрузки. Отдельный чек с признаком расчёта «приход» на отгрузку (если предоплата была полной) отправлять не нужно, но если была частичная предоплата, потребуется второй чек в момент окончательного расчёта.

Три варианта: своя касса, облачная касса, чек от агрегатора

Технически передать данные о продаже в ФНС можно тремя разными путями, и выбор сильно влияет на то, сколько это стоит и сколько с этим возни.

Своя физическая или облачная касса

Вы регистрируете кассу на своё юрлицо или ИП, подключаете к сайту через API оператора фискальных данных (ОФД). При каждой оплате сайт дёргает API кассы, касса формирует чек и передаёт данные в ОФД, а оттуда в налоговую.

Плюсы: полный контроль над номенклатурой в чеке, никакой зависимости от условий платёжного агрегатора, подходит для сложных случаев (маркированный товар, разные ставки НДС на разные позиции).

Минусы: касса стоит денег даже в облачном виде (аренда от 500-1 500 рублей в месяц плюс тариф ОФД около 3 000 рублей в год), нужна интеграция и её техническое обслуживание, ошибки в передаче данных это ваша ответственность.

Облачная касса в аренду от посредника

Сервисы вроде АТОЛ Онлайн, Штрих-М, Такском предоставляют кассу как услугу: вы не покупаете оборудование, а арендуете доступ к их фискальному регистратору через API. По сути то же самое, что своя касса, только без капитальных затрат на оборудование.

Ориентир по цене на 2026 год: 500-1 200 рублей в месяц за одну кассу с лимитом на количество чеков, плюс отдельно оплата ОФД, если не входит в пакет.

Чек от платёжного агрегатора

Если вы принимаете оплату через ЮKassa, CloudPayments, Т-Кассу или аналогичный сервис, у них часто есть встроенная фискализация: агрегатор сам формирует и отправляет чек от вашего имени, используя свою инфраструктуру касс. Вам не нужно покупать или арендовать отдельную кассу, но нужно правильно передавать данные о товарах в запросе на оплату.

Это самый простой вариант для малого и среднего интернет-магазина или сайта услуг, потому что не требует отдельной интеграции с ОФД, только настройки в личном кабинете платёжного сервиса и в коде отправки запроса.

Сравнение вариантов сведено в таблицу.

ВариантСтоимость в месяцКто настраиваетКому подходит
Своя облачная касса800-2 000 руб.отдельная интеграция с ОФДсложная номенклатура, маркировка, разные ставки НДС
Аренда кассы у оператора500-1 200 руб.интеграция через API операторасредний бизнес с частой сменой ассортимента
Фискализация через агрегаторобычно включена в комиссию за эквайрингнастройки в личном кабинетемалый бизнес, сайт услуг, простой каталог

Что должно быть в чеке

Формальные требования к содержанию чека регулярно нарушаются не из злого умысла, а потому что при интеграции их просто не заложили в код. Минимальный набор для интернет-продажи:

  • наименование товара или услуги, а не общее «оплата по счёту №123»;
  • количество и цена за единицу;
  • признак способа расчёта: предоплата 100 процентов, предоплата частичная, полный расчёт;
  • признак предмета расчёта: товар, услуга, работа;
  • ставка и сумма НДС, если применяется;
  • email или номер телефона покупателя, куда отправляется электронный чек.

Пример структуры одной позиции чека, которую сайт должен собрать и передать в кассу или агрегатор при оформлении заказа:

{
  "description": "Консультация по настройке сайта, 1 час",
  "quantity": 1,
  "amount": {
    "value": "2500.00",
    "currency": "RUB"
  },
  "vat_code": 1,
  "payment_subject": "service",
  "payment_mode": "full_payment"
}

Если сайт передаёт в кассу общую сумму заказа одной строкой вместо номенклатуры по товарам, формально это нарушение: чек должен содержать позиции, а не обобщённую сумму. На практике агрегаторы это допускают технически, но при проверке налоговой такой чек не соответствует требованиям.

Типовые ошибки интеграции

По моей практике настройки и аудита интеграций на сайтах, ошибки повторяются из проекта в проект.

Чек без товарных позиций. Разработчик когда-то собрал интеграцию по минимуму: передаётся сумма и всё. Работает, пока не приходит проверка или пока бухгалтер не пытается свести отчётность с фактическими продажами.

Задвоенные чеки. Обычно случается при повторной отправке запроса на оплату из-за таймаута или ошибки сети: пользователь два раза нажал «оплатить», ушло два запроса, касса пробила два чека на одну покупку. Лечится идемпотентным ключом на стороне сайта: один и тот же заказ не должен порождать два запроса на фискализацию, даже если пользователь кликнул дважды.

Чек не уходит при отмене или возврате заказа. Если клиент оплатил, а потом заказ отменили и вернули деньги, по закону нужен чек с признаком расчёта «возврат прихода». На практике эту часть интеграции часто не делают вообще, потому что отмены редкие и о них забывают на этапе разработки.

Чек уходит на несуществующий email. Если в форме заказа email не обязателен, а касса требует контакт для отправки электронного чека, часть заказов формирует чеки, которые никуда не долетают. Формально фискализация состоялась, но обязанность проинформировать покупателя не выполнена. Решение: делать поле контакта (email или телефон) обязательным именно в блоке оплаты, даже если остальная форма заказа этого не требует.

Разные ставки НДС в одном заказе перепутаны местами. Актуально для магазинов со смешанным ассортиментом (часть товаров без НДС, часть с 20 процентами). Ошибка возникает, когда ставка берётся не из карточки товара, а зашита в код интеграции как константа.

Самозанятые и ИП без кассы

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

Ключевое ограничение: самозанятый не может нанимать сотрудников для этой деятельности и лимитирован доходом 2,4 миллиона рублей в год. Если сайт услуг растёт и оборот подбирается к этой границе, дальнейшая работа без перехода на ИП или ООО и без кассы станет невозможной, и лучше планировать переход заранее, а не в последний месяц.

ИП и организации, которые принимают оплату исключительно безналичным переводом по счёту от юридических лиц и ИП (без карты, без СБП через сайт), также освобождены от применения ККТ по этому виду расчётов. Но как только на том же сайте появляется приём оплаты картой от физических лиц, касса становится обязательной именно для этого потока платежей, даже если основная часть выручки идёт через счета.

Что проверить на своём сайте прямо сейчас

  • [ ] Оплата картой или через СБП на сайте подключена и активно используется
  • [ ] Юридический статус (ООО, ИП, самозанятый) сверен с требованиями по кассе для вашей формы
  • [ ] Чек, который получает клиент, содержит товарные позиции, а не общую сумму
  • [ ] В чеке указан корректный признак способа расчёта (предоплата или полный расчёт)
  • [ ] Поле email или телефон обязательно именно в блоке оплаты
  • [ ] Проверен сценарий повторной отправки запроса на оплату: чек не задваивается
  • [ ] Настроен возврат чека при отмене оплаченного заказа
  • [ ] Ставки НДС в интеграции берутся из карточки товара, а не захардкожены

Если работаете через агрегатора, большинство пунктов чек-листа настраивается в его личном кабинете за один вечер. Если используете свою или арендованную кассу, стоит один раз попросить разработчика показать реальный запрос, который сайт отправляет при оплате, и свериться по нему с этим списком, а не доверять «вроде работает».

Похожая по духу проверка нужна и на стороне персональных данных: если форма оплаты собирает email и телефон, эти поля тоже подпадают под требования 152-ФЗ, и там своя логика согласий, разобранная в статье 152-ФЗ для сайта малого бизнеса. Если оплата на сайте пока идёт через отдельный счёт и интернет-эквайринг не подключён, посмотрите статью про оплату без интернет-эквайринга, там разбор альтернатив для тех, кому касса и агрегатор пока избыточны. А если параллельно с оплатой заявки уходят в CRM, стоит свериться, что фискальные данные и данные сделки не расходятся: настройка такой связки описана в статье про интеграцию amoCRM и Битрикс24.

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

Частые вопросы

Нужна ли онлайн-касса для сайта

Нужна, если оплату от физлица получаете вы. Исключения есть. Освобождены самозанятые на НПД и часть ИП по виду деятельности. Приём карт через агрегатор, который выступает агентом, переносит обязанность пробивать чек на него.

Сколько стоит облачная касса

500-1 200 рублей в месяц аренды за одну кассу плюс договор с ОФД около 3 000 рублей в год. Своя физическая касса дороже на старте, но при большом потоке платежей выходит выгоднее аренды.

Что должно быть в чеке

Наименование товара или услуги, количество, цена, сумма, ставка НДС, признак способа расчёта и контакт покупателя, куда чек уходит. Обезличенная строка вида оплата услуг в наименовании это нарушение.

Когда пробивать чек при предоплате

Дважды. Первый чек на аванс в момент поступления денег, второй на зачёт аванса в момент оказания услуги. Пропуск второго чека обычная ошибка при интеграции.

Передайте техническую часть в надёжные руки.

Слежу за хостингом, бэкапами и обновлениями. Когда что-то пойдёт не так – звоните мне, не своему программисту, не в спортзал и не маме.

Короткие вопросы по теме

Все вопросы по теме "Юр. сторона и интеграции"

Заявка

Обсудим задачу

Напишите имя и телефон, выберите удобный канал. Перезвоню или напишу в течение часа в рабочее время.

Куда удобнее ответить?