Настраивал онлайн-кассу в Битрикс на нескольких проектах, и почти каждый раз клиент удивлялся тому, сколько деталей стоит за одной строчкой в заказе. Кассовый аппарат или облачный сервис, оператор фискальных данных, который передает данные в налоговую, и обязательный набор реквизитов, которые должны попасть покупателю, все это работает вместе. Ниже разбираю, как устроена онлайн-касса в 1С-Битрикс, где подключается драйвер кассы, что настраивается в админке магазина и что конкретно получает покупатель после оплаты.
Зачем интернет-магазину на Битрикс касса с подключением к ОФД
Если на сайте принимается оплата картой, через СБП или любым другим безналичным способом, продавец обязан пробить кассовый чек в момент поступления денег и передать данные в ОФД, а тот в свою очередь в налоговую. Это требование 54-ФЗ, и оно касается интернет-магазинов так же, как розничных точек с обычным кассовым аппаратом на прилавке.
На практике это означает, что подключенного эквайринга недостаточно. Деньги могут списываться с карты покупателя корректно, заказ будет виден в админке Битрикса как оплаченный, но если касса не привязана к обработчику оплаты, фискальный чек не формируется. Я видел такую схему на паре проектов, где эквайринг подключили, а кассу нет, потому что решили разобраться позже. Разбираться позже с налоговой дороже, чем настроить сразу, и штрафы за отсутствие чека или его несвоевременную отправку выписываются по факту проверки, а не по количеству жалоб.
Какие сервисы касс подключаются к 1С-Битрикс
В админке модуля интернет-магазина есть отдельный раздел с настройками касс, где к способу оплаты привязывается конкретный сервис фискализации. Это может быть физический кассовый аппарат с драйвером вроде АТОЛ Онлайн, либо облачный сервис вроде OrangeData или CloudKassir, который берет на себя фискализацию без физического устройства на вашей стороне. Список доступных подключений зависит от установленных модулей и меняется у провайдеров, поэтому актуальный набор я всегда смотрю прямо в админке магазина, а не по старым скриншотам из документации.
Разница между этими двумя моделями практическая:
| Модель | Где физически стоит касса | Бумажный чек | Когда выгодна |
|---|---|---|---|
| Своя касса с драйвером (АТОЛ и подобные) | У вас в офисе, на складе или у курьера | Можно распечатать на месте, если покупатель рядом | Много заказов с оплатой наличными или картой при получении |
| Облачная касса (OrangeData, CloudKassir и подобные сервисы) | На стороне провайдера, у вас нет физического устройства | Не печатается, чек уходит только в электронном виде | Интернет-магазин без розничной точки и без расчетов наличными при получении |
Для чистого интернет-магазина без пункта выдачи облачная касса обычно проще, не нужно покупать оборудование и следить за заменой фискального накопителя самостоятельно, этим занимается провайдер сервиса. Для магазина с розничной точкой или курьерской доставкой с оплатой наличными физическая касса часто нужна в любом случае, и тогда логичнее подключить ее же и к сайту, чтобы не вести два разных договора с двумя ОФД.
Чем это отличается от подключения кассы в других системах управления сайтом. В Тильде фискализация обычно закрывается через встроенную интеграцию с Робокассой в настройках платежных систем, которая сама выступает как касса, и отдельный сервис ОФД для сайта подключать не нужно, потому что этим занимается платежный агрегатор. В Битриксе модель другая, касса подключается на стороне магазина как отдельный модуль, а не только на стороне платежной системы, поэтому сервис фискализации нужно выбирать и настраивать отдельно от эквайринга, если сам провайдер эквайринга не берет это на себя. В WooCommerce для рынка СНГ похожая история, фискализация обычно подключается через сторонние плагины к конкретному сервису кассы, и их нужно ставить и обновлять отдельно от основной корзины.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Подключение ОФД в админке Битрикс: пошагово
Регистрация кассы и договор с ОФД
Сначала касса регистрируется в налоговой, или уже зарегистрирована у облачного провайдера, если выбрана эта модель, затем заключается договор с оператором фискальных данных. После этого провайдер выдает технические реквизиты для подключения: адрес API, логин или токен, идентификатор кассы. Эти данные вносятся в настройки драйвера в админке Битрикса, в разделе с кассами интернет-магазина.
Привязка кассы к способу оплаты и статусам заказа
Дальше касса привязывается к конкретной платежной системе. Когда заказ переходит в статус «оплачен», Битрикс инициирует формирование чека прихода. Если заказ отменяется или оформляется возврат уже после оплаты, система должна сформировать чек возврата прихода, а не просто изменить статус заказа во внутренней базе.
Тут я обычно проверяю отдельно ставки НДС по каждому товару в каталоге. Один из частых источников ошибок на моей практике: у части товаров в карточке не проставлена или неверно проставлена ставка НДС, и касса отклоняет чек либо формирует его с неверной суммой налога. Это не видно на витрине сайта, но всплывает именно на этапе фискализации, поэтому проверять стоит до запуска, а не после первой жалобы покупателя. Отдельно проверяю совпадение единиц измерения и наименований товаров в чеке с тем, что видит покупатель в карточке заказа, расхождения тоже случаются, если каталог собирался из разных источников и часть карточек заводилась вручную.
Что уходит покупателю в кассовом чеке
Набор обязательных реквизитов задан законом, и Битрикс формирует его автоматически на основе данных заказа и настроек кассы. В чеке присутствуют: наименование продавца и его ИНН, применяемая система налогообложения, признак расчета (приход или возврат), дата и время расчета, перечень товарных позиций с количеством, ценой и суммой, форма расчета (наличными или безналичными), сумма НДС, регистрационный номер ККТ, номера фискального накопителя, документа и признака, QR-код и адрес сайта ОФД, где можно проверить подлинность чека.
Покупателю чек уходит электронно на email или по SMS, в зависимости от того, какой контакт он оставил при оформлении заказа. Отправить чек нужно не позднее следующего рабочего дня после оплаты, это тоже требование 54-ФЗ, а не внутренняя договоренность с ОФД. Проверить подлинность полученного чека покупатель может по QR-коду через приложение ФНС «Проверка чека», это отдельный канал контроля, не зависящий от того, что показывает сайт магазина.
Отдельная история, если товар оплачивается наличными курьеру, например при доставке через СДЭК с оплатой при получении. В этом случае чек пробивает мобильная касса курьера в момент передачи товара, и это отдельное устройство, не связанное напрямую с кассой, подключенной к оплате на сайте. Путать эти два контура не стоит: онлайн-оплата на сайте и оплата курьеру фискализируются разными кассами и в разный момент времени, и в настройках заказа это тоже должно быть разведено, иначе получится задвоенный чек на одну и ту же сумму.
Особенности интеграции: эквайринг и разные сценарии оплаты
На одном из проектов я подключал эквайринг Т‑Банка вместе с их сервисом кассы: чек формировался автоматически в момент, когда заказ переходил в статус «Оплачен», без ручных действий менеджера. Такая связка удобна тем, что эквайринг и касса настраиваются в одном личном кабинете и меньше шансов, что статусы разъедутся между системами.
Если магазин запускается с нуля и нужно, чтобы касса, ОФД и эквайринг были продуманы сразу на этапе архитектуры, а не докручивались постфактум, проще заказать интернет-магазин под ключ, чем потом разбирать по частям уже работающий, но криво настроенный сайт.
Отдельно стоит продумать сценарий с частичной оплатой или предоплатой. Если покупатель вносит предоплату на сайте, а остаток платит курьеру, это два отдельных расчета и два отдельных чека, с разными признаками способа расчета. Настройка такого сценария в Битриксе требует отдельной логики в обработчике статусов заказа, обычная привязка «один заказ, один чек» тут не сработает. То же самое касается подписок и рекуррентных платежей: каждое повторное списание формирует отдельный чек, а если карта покупателя перестала действовать и списание не прошло, чек формировать не нужно, но об этом стоит явно предупредить того, кто настраивает интеграцию, иначе легко получить чек на несостоявшийся платеж.
Частые проблемы при подключении кассы к Битрикс
Из того, с чем сталкивался на практике:
- Просроченный токен или сертификат у сервиса кассы, из-за которого чеки перестают уходить, а заказы при этом продолжают оформляться как обычно.
- Расхождение суммы позиций в заказе и итоговой суммы заказа из-за скидок или промокодов, которые касса не всегда корректно раскладывает по позициям.
- Долгий синхронный ответ от драйвера кассы прямо во время оформления заказа, из-за чего покупатель видит зависшую страницу оплаты.
- Очередь неотправленных чеков, которая копится молча, если не настроен мониторинг ошибок.
Последний пункт я обычно закрываю простым вебхуком в n8n: сценарий раз в несколько минут дергает API сервиса кассы, проверяет очередь неотправленных чеков и, если там что-то зависло дольше разумного времени, шлет уведомление в Telegram. Без этого узнаешь о проблеме от бухгалтера через неделю, а с вебхуком, обычно в течение часа после сбоя.
Перед запуском магазина на Битриксе с новой кассой я обычно прохожу по одному и тому же списку: тестовый платеж с реальной картой на минимальную сумму, проверка получения чека на email и по SMS, проверка чека через приложение ФНС, проверка возврата, чтобы убедиться, что чек возврата тоже формируется, а не просто меняется статус заказа, и проверка ставок НДС по всем категориям каталога, а не только по нескольким тестовым товарам.
1С-Битрикс регулярно обновляется, поэтому перед внедрением я сверяюсь с актуальной документацией.
Частые вопросы
Нужна ли отдельная касса, если магазин принимает оплату только картой на сайте?
Да. Способ оплаты не влияет на обязанность фискализировать расчет. Даже если наличные в магазине вообще не участвуют, касса и подключение к ОФД нужны при любой безналичной оплате через сайт.
Что делать, если покупатель не получил чек на почту?
Сначала проверяю в личном кабинете ОФД или сервиса кассы, был ли чек фактически сформирован и отправлен, часто проблема не в кассе, а в том, что email указан с опечаткой при оформлении заказа. Если чек ушел, но не дошел, его можно переслать вручную по номеру или ссылке из личного кабинета сервиса.
Можно ли работать без ОФД совсем?
Для расчетов через сайт нет. ОФД обязателен при работе с онлайн-кассой, это часть схемы передачи фискальных данных в налоговую, а не опциональная надстройка.
Как проверить, что касса в Битрикс настроена правильно?
Оформляю тестовый заказ на минимальную сумму, оплачиваю его реальным способом оплаты и смотрю, пришел ли чек на указанный email или телефон, а также проверяю его через приложение ФНС по QR-коду. Это быстрее и надежнее, чем читать логи интеграции.