Налаштування онлайн-каси на 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування онлайн-каси на 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування онлайн-кассі на 1С-Bitrix

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

Підтримувані касові оператори

Bitrix має вбудовані обробники для:

  • АТОЛ Онлайн — модуль 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%, «Не облагається»). Потім у властивостях товарів вказати відповідну ставку.

Bitrix автоматично передає номенклатуру в чек. Якщо склад некоректний — перевірити заповненість полів 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%» для передоплати).