Настройка онлайн-кассы на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка онлайн-кассы на 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка онлайн-кассы на 1С-Битрикс

По 54-ФЗ каждый платёж в интернет-магазине должен сопровождаться фискальным чеком, отправленным покупателю. Магазин без кассы — штраф от 30 000 рублей за первое нарушение, до 100% от суммы расчётов за повторное. Битрикс поддерживает подключение онлайн-кассы через модуль sale с рядом кассовых операторов.

Поддерживаемые кассовые операторы

Битрикс имеет встроенные обработчики для:

  • АТОЛ Онлайн — модуль salereports, обработчик AtolOnline
  • ЮКасса (Яндекс.Касса) — встроен в платёжный модуль
  • Сбербанк — через платёжный модуль Сбербанка
  • CloudPayments — сторонний модуль
  • Эвотор — через Marketplace

Сторонние операторы подключаются через Marketplace или самостоятельную разработку обработчика.

Установка и настройка модуля АТОЛ

В административной панели: «Marketplace» → «Установленные решения» → проверить наличие модуля salereports. Если нет — установить из каталога.

После установки: «Магазин» → «Онлайн-кассы» → «Добавить кассу».

Параметры подключения АТОЛ:

  • Логин и Пароль — учётные данные в АТОЛ-сервисе
  • ИНН — ИНН организации
  • Группа касс — идентификатор группы в АТОЛ
  • URLhttps://online.atol.ru/possystem/v4/ (боевой) или https://testonline.atol.ru/possystem/v4/ (тестовый)

Конфигурация в базе данных

Настройки кассы хранятся в таблицах b_sale_cashbox и b_sale_cashbox_handler:

-- Просмотр подключённых касс
SELECT ID, NAME, ACTIVE, KPP, INN FROM b_sale_cashbox WHERE ACTIVE = 'Y';

-- Очередь чеков
SELECT ID, STATUS, TYPE, ORDER_ID, PAYMENT_ID, DATE_CREATE
FROM b_sale_cashbox_check
WHERE STATUS = 'N'  -- ожидают отправки
ORDER BY DATE_CREATE DESC
LIMIT 20;

Статусы чека (STATUS): N — новый, P — обрабатывается, Y — отправлен, F — ошибка.

Автоматическая отправка чеков

Чеки формируются автоматически при определённых событиях:

  • Приход (тип sell) — при оплате заказа (PAID = Y)
  • Возврат прихода (тип sell_refund) — при отмене оплаченного заказа
  • Полный расчёт — при доставке (для двухстадийной оплаты)

Настроить триггеры формирования чека: «Магазин» → «Онлайн-кассы» → редактировать кассу → вкладка «Настройки чека».

Программно создать чек:

use Bitrix\Sale\Cashbox;

$order = \Bitrix\Sale\Order::load($orderId);
$payment = $order->getPaymentCollection()->getInnerPayment();

// Создать чек прихода
$check = Cashbox\CheckManager::createCheck(
    Cashbox\Internals\Check\SellCheck::getType(),
    $payment
);

if ($check) {
    $result = Cashbox\CheckManager::send($check);
    if (!$result->isSuccess()) {
        // Логировать ошибку
        foreach ($result->getErrors() as $error) {
            AddMessage2Log($error->getMessage(), 'sale');
        }
    }
}

Состав чека: номенклатура и ставки НДС

54-ФЗ требует передачи в чек состава заказа — наименований и количества товаров с указанием ставки НДС.

Настройка ставок НДС в торговом каталоге: «Магазин» → «Ставки НДС» → добавить ставки (20%, 10%, 0%, «Не облагается»). Затем в свойствах товаров указать соответствующую ставку.

Битрикс автоматически передаёт номенклатуру в чек. Если состав некорректен — проверить заполненность полей b_catalog_vat:

SELECT BV.RATE, BP.NAME
FROM b_catalog_product BP
JOIN b_catalog_vat BV ON BP.VAT_ID = BV.ID
WHERE BP.ID IN (SELECT PRODUCT_ID FROM b_sale_basket WHERE ORDER_ID = 12345);

Агент отправки очереди чеков

Чеки отправляются через агент Bitrix\Sale\Cashbox\CheckManager::send. Если агент не настроен или не работает — чеки накапливаются в b_sale_cashbox_check со статусом N.

Проверить агент:

SELECT NAME, LAST_EXEC, NEXT_EXEC, ACTIVE
FROM b_agent
WHERE NAME LIKE '%Cashbox%';

Если агент не активен — активировать через административную панель или SQL:

UPDATE b_agent SET ACTIVE = 'Y' WHERE NAME LIKE '%CheckManager%';

Тестирование

Перед переключением на боевой режим — протестировать на тестовой среде АТОЛ. В настройках кассы указать тестовый URL. Сделать тестовый заказ, оплатить, убедиться что чек появился в личном кабинете АТОЛ с корректным составом. Особое внимание: НДС, наименования товаров (должны быть понятными, не «Товар 001»), признак способа расчёта («Полный расчёт» для немедленной оплаты или «Предоплата 100%» для предоплаты).