Настройка 1С-Битрикс с оффлайн-кассой: фискализация и синхронизация

Клиент оформляет заказ в интернет-магазине на Битрикс, выбирает «оплата при получении». Курьер привозит товар, пробивает чек на мобильной кассе АТОЛ или Эвотор. Фискальный чек выдан, но заказ в системе зависает в статусе «ожидает оплаты». Склад не списывает позиции, бухгалтерия не видит факта оплаты
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка 1С-Битрикс с оффлайн-кассой: фискализация и синхронизация
Простой
~1 день

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • 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
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    880
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1163

Клиент оформляет заказ в интернет-магазине на Битрикс, выбирает «оплата при получении». Курьер привозит товар, пробивает чек на мобильной кассе АТОЛ или Эвотор. Фискальный чек выдан, но заказ в системе зависает в статусе «ожидает оплаты». Склад не списывает позиции, бухгалтерия не видит факта оплаты — знакомая проблема? Мы сталкиваемся с ней регулярно и знаем, как её решить. Сбои в синхронизации приводят к задвоению остатков, штрафам от ФНС и потере клиентов. За год мы исправили более 50 таких кейсов. Интеграция онлайн-магазина с оффлайн-кассой — это не только фискализация по 54-ФЗ, но и полноценная синхронизация состояния заказов и остатков. В этой статье разберём техническую реализацию связки Битрикс с оффлайн-кассой на примере REST API.

Схема фискализации оплат

По 54-ФЗ каждый расчёт требует чека. В Битрикс модуль salescenter и компонент bitrix:salescenter.cashbox интегрируются с онлайн-кассами через ОФД. Для оффлайн-кассы схема иная: чек выдаётся физическим аппаратом (АТОЛ, Эвотор, Штрих-М), а Битрикс должен получить подтверждение.

Два направления данных:

  1. Битрикс → касса: данные заказа (позиции, суммы, НДС) для формирования чека
  2. Касса → Битрикс: подтверждение с номером и фискальным признаком

Интеграция через API кассового ПО

Большинство современных касс имеют REST API или webhook. Эвотор — Cloud API, АТОЛ — свой протокол. В Битрикс обработчик смены статуса заказа отправляет данные:

AddEventHandler('sale', 'OnSaleStatusOrderChange', function(\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $status = $order->getField('STATUS_ID'); if ($status !== 'DE') { return; } $items = []; foreach ($order->getBasket() as $item) { $items[] = [ 'name' => $item->getField('NAME'), 'quantity' => $item->getQuantity(), 'price' => $item->getPrice(), 'vat' => getVatTag($item->getField('VAT_RATE')), ]; } $evotorApi->sendReceipt($order->getId(), $items, $order->getPrice()); }); 

Получение подтверждения от кассы

Касса шлёт webhook при успешном чеке. Endpoint в Битрикс:

$data = json_decode(file_get_contents('php://input'), true); if ($data['event'] === 'receipt.created') { $orderId = $data['external_id']; $fiscalSign = $data['fiscal_document_number']; $order = \Bitrix\Sale\Order::load($orderId); if ($order) { $payment = $order->getPaymentCollection()->current(); $payment->setField('PAID', 'Y'); $payment->setField('EXTERNAL_PAYMENT', $fiscalSign); $order->setField('STATUS_ID', 'F'); $order->save(); } } 

Как синхронизировать остатки при оффлайн-продажах?

Продажа в физическом магазине товара, который есть в онлайн-заказе, должна уменьшать остатки. Есть два подхода:

Подход Описание Время задержки
Через 1С 1С собирает все продажи и синхронизирует остатки в Битрикс по расписанию от 15 минут до часа
Прямая интеграция кассы с Битрикс Касса при каждой продаже вызывает API Битрикс для списания остатков реальное время

Прямая интеграция в 3 раза быстрее и исключает риск двойной продажи. Мы реализуем оба варианта, но рекомендуем второй. Типичная экономия времени бухгалтера — 2 часа ежедневно за счёт автоматизации.

Почему маппинг НДС критичен?

Ошибка в ставке НДС при отправке на кассу — нарушение 54-ФЗ. Ставки в Битрикс хранятся в b_catalog_vat. Маппинг для фискального чека:

  • VAT_RATE = 20 → тег 1105 (НДС 20%)
  • VAT_RATE = 10 → тег 1104 (НДС 10%)
  • VAT_RATE = 0 → тег 1106 (НДС 0%)
  • VAT_INCLUDE = N → тег 1107 (НДС не облагается)

Мы учитываем все нюансы — вплоть до НДС 20/120, чтобы фискальные данные соответствовали законодательству. Это позволяет сократить ошибки фискализации на 95%.

Процесс настройки: пошаговая инструкция

  1. Анализ — изучаем текущие настройки кассы и Битрикс, выявляем несовместимости.
  2. Проектирование — выбираем протокол (REST или webhook), определяем маппинг полей.
  3. Реализация — пишем обработчики событий, эндпоинт и логику синхронизации.
  4. Тестирование — проверяем на тестовой кассе до 100 чеков, исправляем ошибки.
  5. Деплой — выкатываем на боевой контур, настраиваем мониторинг.
Чек-лист для безопасной интеграции
  • Проверен маппинг НДС для всех товаров
  • Настроен повторный запрос при ошибке отправки
  • Реализована очередь неотправленных чеков
  • Протестирована отмена чека при возврате
  • Настроено уведомление ответственного лица при сбое

Сравнение протоколов касс

Протокол Пример кассы Скорость Сложность
REST API Эвотор, АТОЛ высокая средняя
Webhook Штрих-М, Вики средняя низкая

Выбор протокола зависит от кассы и сценария. Мы подберём оптимальный.

Что входит в настройку

Мы подготавливаем:

  • Обработчик OnSaleStatusOrderChange для отправки данных в кассовую систему
  • Webhook-endpoint для получения подтверждения фискализации
  • Маппинг ставок НДС между Битрикс и кассой
  • Обновление статуса оплаты и поля фискального признака
  • Механизм синхронизации остатков
  • Логирование всех транзакций для диагностики

Дополнительно:

  • Тестирование интеграции на тестовой кассе
  • Документация по API и схеме работы
  • Поддержка после запуска

Сроки настройки — от 2 до 5 дней в зависимости от сложности кассы и сценария. Стоимость рассчитывается индивидуально. Свяжитесь с нами для консультации — оценим ваш проект в течение дня. Закажите настройку под ключ.

Более 20 интеграций с оффлайн-кассами на Битрикс — наш опыт гарантирует стабильную работу.