Онлайн-касса и 54-ФЗ: что нужно сайту, который принимает оплату
Если сайт принимает онлайн-оплату от физических лиц, покупателю в общем случае должен уйти чек. Формирует его не сайт: сайт передаёт состав заказа в кассовый сервис, а тот пробивает чек и отправляет его покупателю и в налоговую через оператора фискальных данных. Задача разработки — сделать эту передачу корректной и автоматической.
Сразу важная оговорка: это область закона, и она содержит исключения и частные случаи. Ниже — общая механика, чтобы вы понимали, из чего состоит подключение и о чём спрашивать. Конкретику по вашей ситуации — форма бизнеса, вид товара, налоговый режим, ставки НДС, обязанность применять кассу — уточняйте у своего бухгалтера и у банка-эквайера. Мы не даём юридических гарантий и не заменяем консультацию.
Зачем вообще нужен чек
Чек решает три задачи одновременно.
- Для покупателя. Подтверждение покупки: что купил, за сколько, у кого. Без него сложно вернуть товар или доказать факт оплаты.
- Для государства. Информация о расчёте поступает в налоговую в электронном виде.
- Для вас. Понятная связь между заказом, платежом и документом. Когда чеки формируются автоматически из заказов, сверка перестаёт быть ручной работой.
Практическая сторона: покупатель, который получил чек на почту сразу после оплаты, реже пишет «а деньги прошли?».
Кто участвует в процессе
Участников больше, чем кажется, и полезно понимать, кто за что отвечает.
- Сайт. Хранит заказ: позиции, количество, цены, сумму. Инициирует создание чека.
- Платёжный провайдер или банк-эквайер. Проводит деньги. Иногда фискализация подключается через него же — тогда чек создаётся по факту платежа.
- Кассовый сервис или облачная касса. Формирует фискальный документ.
- Оператор фискальных данных. Передаёт данные в налоговую.
- Покупатель. Получает чек — обычно на почту или по телефону.
Разработчик работает с первым звеном и его стыком со вторым и третьим. Всё, что дальше, — это договоры и настройки, которые оформляет владелец бизнеса вместе с бухгалтером.
Что сайт передаёт в чек
Чек собирается не из суммы, а из состава заказа. Обычно передаются:
- Наименования позиций.
- Количество и цена каждой.
- Итоговая сумма.
- Ставка налога по каждой позиции.
- Признак расчёта — полная оплата, предоплата, аванс.
- Контакт покупателя для отправки чека: почта или телефон.
- Отдельной позицией — доставка, если она платная.
Отсюда практический вывод для разработки: состав заказа на сайте должен быть точным. Если скидка применена «одной суммой на весь заказ», а в чеке позиции должны идти со своими ценами, это придётся правильно раскладывать. Такие детали проще заложить сразу, чем переделывать после запуска.
Плохо: передавать в чек одну строку «Заказ №1234» на всю сумму. Хорошо: передавать реальные позиции с ценами и признаками — так, как это согласовано с бухгалтером.
Как это подключается к сайту
Общая схема, без привязки к конкретному сервису:
- Покупатель оплачивает заказ. Механику разбирали в статье про интеграцию онлайн-оплаты.
- Сайт получает от провайдера подтверждение платежа.
- По этому подтверждению формируется запрос на чек: сайт передаёт состав заказа в кассовый сервис.
- Касса пробивает чек, данные уходят оператору фискальных данных.
- Покупателю приходит чек на указанный контакт.
- Сайт получает подтверждение и сохраняет ссылку на чек в карточке заказа.
Шестой шаг стоит делать обязательно. Когда ссылка на чек лежит в заказе, любой вопрос покупателя закрывается за секунды из админки, без похода в сторонние кабинеты.
Возвраты идут по той же логике: при возврате денег оформляется чек возврата, и он тоже должен быть привязан к заказу.
Два варианта подключения
На практике встречаются два подхода, и выбор между ними — вопрос к эквайеру и бухгалтеру.
- Фискализация через платёжного провайдера. Чек формируется на стороне провайдера по данным, которые сайт передал вместе с платежом. Меньше отдельных договоров, меньше кода.
- Отдельный кассовый сервис. Сайт работает с кассой напрямую. Больше контроля и гибкости, особенно если чеки нужны не только по онлайн-оплате.
Оба рабочие. Что подойдёт вам, зависит от того, чем вы торгуете, как оформлены расчёты и что предлагает ваш банк.
О чём спросить бухгалтера и эквайера
Список вопросов, с которым имеет смысл прийти до старта разработки:
- Обязаны ли мы применять кассу в нашем случае и при нашем режиме налогообложения.
- Какие ставки налога применяются к нашим товарам и услугам.
- Какой признак расчёта использовать: полная оплата или предоплата — например, если товар отгружается позже.
- Как оформлять доставку в чеке.
- Через кого фискализируем: через эквайера или отдельный кассовый сервис.
- Как оформляются возвраты и частичные возвраты.
- Что требуется от сайта на проверке при подключении эквайринга — обычно это набор публичных документов и корректные реквизиты.
Ответы на эти вопросы — исходные данные для разработчика. Без них интеграция делается наугад, а исправлять фискальные настройки после запуска неприятно.
Что делаем мы, а что не делаем
Мы подключаем сайт к выбранному кассовому сервису, следим за корректной передачей состава заказа, сохраняем ссылки на чеки в заказах и делаем так, чтобы возвраты оформлялись из админки. Так это устроено, например, в e-com системе «Жук и Плут», где вся цепочка от заказа до доставки живёт в одной админке.
Чего мы не делаем: не выбираем за вас налоговый режим, не даём юридических заключений и не гарантируем соответствие вашей конкретной схемы расчётов требованиям закона. Это зона бухгалтера. Список остальных решений, которые стоит принять до старта, собрали в статье про разработку интернет-магазина.
Коротко
- При онлайн-оплате физлицам покупателю в общем случае нужен чек.
- Чек формирует не сайт: сайт передаёт состав заказа в кассовый сервис.
- В чек уходят позиции, количество, цены, ставки налога и признак расчёта — поэтому состав заказа должен быть точным.
- Ссылку на чек стоит хранить в карточке заказа: это закрывает вопросы покупателей.
- Обязанность применять кассу, ставки и признаки расчёта — вопросы к бухгалтеру и банку-эквайеру, а не к разработчику.
Обсудить проект
Подключим оплату и передачу чеков так, чтобы всё это работало без ручных действий, а спорные места вы согласовали с бухгалтером заранее. Напишите в телеграм @artem_sergeevic.
Первый разговор — разбор задачи: нужна ли вам система или хватит одной страницы. Без обязательств и без счёта.
Частые вопросы
Можно ли принимать оплату на сайте без кассы?
Требования к применению кассы зависят от того, кто вы, что продаёте и кому. Общее правило при продаже физлицам с онлайн-оплатой — чек нужен. Но исключения и частные случаи в законе есть, поэтому свою ситуацию стоит проверить с бухгалтером и уточнить у банка-эквайера, что он требует при подключении.
Нужно ли покупать физическую кассу для интернет-магазина?
Для интернет-магазина обычно используют облачную кассу — оборудование стоит в дата-центре и арендуется, потому что покупателю нужен электронный чек, а не бумажный. Физический аппарат нужен там, где есть очный расчёт. Какой вариант подходит вам, подскажут бухгалтер и оператор фискальных данных.
Что должен сделать разработчик, а что вы сами?
Разработчик подключает сайт к кассовому сервису и следит, чтобы в чек уходил корректный состав заказа: позиции, количество, цены, признаки расчёта. Выбор кассового сервиса, договоры, налоговые настройки и ставки — зона бухгалтера и владельца бизнеса.
Те, что не помогают, мы переписываем — по этой кнопке и решаем, какие именно.
Ещё по теме
Что малому бизнесу от CRM реально нужно, чем готовая система отличается от своей внутри сайта и по каким признакам выбирать между ними.
тем, кто заказывает CRM купили, а работать в ней не стали: разбор причинШесть ошибок, из-за которых оплаченная CRM превращается в пустую базу, и что делать с каждой, пока подписка ещё действует.
тем, кто заказывает Freedom Gym: клубная система с абонементами и расписаниемИстория одного проекта: как из журнала на ресепшене выросла клубная система с абонементами, расписанием и правами тренеров, и что пошло не так.
тем, кто заказывает