Продажа маркированных товаров через интернет-магазин часто напоминает прогулку по минному полю: один потерянный спецсимвол при сканировании, и эквайринг выдает ошибку, а следом приходят неприятные вопросы от надзорных органов.
В этой статье мы пошагово разберем, как правильно выстроить работу с маркировкой «Честный ЗНАК» внутри 1С-Битрикс, чтобы избежать штрафов и не усложнять жизнь кладовщикам.
Исходные данные нашего проекта: интернет-магазин со смешанными продуктовыми группами («Корма для животных» и «Косметика, бытовая химия») на базе 1С-Битрикс в редакции «Бизнес» (актуально и для «Малого бизнеса»). Складской учет ведется прямо на сайте. Заказы поступают как напрямую, так и с маркетплейсов по моделям FBS и DBS. Оплата на сайте проходит через эквайринг ЮKassa, которая сама пробивает чеки (собственной кассы нет, а значит, интеграция с ТС ПИоТ магазину не требуется).
Наши задачи:
- Включить штатный функционал продажи маркированных товаров в 1С-Битрикс.
- Настроить корректную передачу КИЗов в ЮKassa с учетом их жестких требований к формату.
- Автоматизировать самостоятельный вывод марок для заказов с маркетплейсов, так как у нас нет внешних учетных программ (1С:Предприятие, МойСклад и т.д.), и всё обрабатывается в админке сайта.
Включаем маркировку на стороне 1С-Битрикс
Для старта нам нужно «показать» Битриксу, что в каталоге присутствуют товары, подлежащие обязательной маркировке. За этот механизм в системе отвечает штатный Highload-блок «Типы групп товаров» (ТНВЭД).
Переходим в административной панели по ссылке: /bitrix/admin/highloadblock_index.php?lang=ru.
Далее для каждого маркируемого товара необходимо указать его ТНВЭД. Заходим в карточку товара, открываем вкладку Торговый каталог → Параметры и в поле «Группа товаров» выбираем нужное значение (в нашем случае — корма или косметика). Если ассортимент большой, проще запустить массовую обработку групп товаров из общего списка.
Как только сопоставление выполнено, при оформлении новых заказов (на уже созданных ранее заказах это не сработает) в карточке отгрузки появится специальная форма для ввода кода маркировки под каждую единицу товара.
Настройка ЮKassa: кодировка и скрытые разделители
Для оплат мы используем штатный обработчик ЮKassa (yandexcheckout), который находится на странице /bitrix/admin/sale_pay_system.php?lang=ru. Детальную настройку самой кассы мы рассматривать не будем (она отлично описана в мануалах Битрикса), но остановимся на критически важном параметре.
Перейдите в настройки касс с чеками от ЮKassa (/bitrix/admin/sale_cashbox_list.php?lang=ru) и в параметре «Кодировка маркировочного кода» обязательно укажите значение «Не кодировать». Это всё, что нужно от настроек магазина.
Мастер-сканер (BLE): работа с сырыми данными без боли
Чтобы ваши сборщики не уволились после первого же крупного заказа, мы используем наш бесплатный модуль «Мастер-сканер (BLE)».
Модуль позволяет подключить сканер в админке Битрикса не в режиме эмуляции клавиатуры (HID), а по протоколу Bluetooth Low Energy (BLE). Если в заказе 100 товаров (часть с марками, часть без), кладовщик просто открывает карточку заказа и непрерывно «пропикивает» всё подряд в хаотичном режиме. Модуль сам понимает, к какому товару относится код, и раскидывает маркировку по нужным полям. Больше не нужно брать мышку и вручную ставить курсор в поле перед каждым пиком.
В режиме BLE сканер читает и передает код в первозданном виде — с тем самым битовым разделителем, который так нужен ЮKassa. Именно в таком виде марка улетит в кассу для чека. Но когда потребуется отправить код в Честный ЗНАК напрямую по API (где криптохвост, наоборот, вызывает ошибку), наш основной модуль найдет этот битовый маркер и ювелирно отсечет хвост.
Кейс с заказами сайта закрыт: мы быстро считали валидную марку, сохранили её, а при переходе отгрузки в статус «Отгружен» ЮKassa сформирует второй чек и сама выведет КИЗ из оборота (или вернет при отмене). Но как быть с маркетплейсами?
Честный ЗНАК: самостоятельный вывод из оборота для маркетплейсов
Суть проблемы заказов извне (Wildberries, Ozon, Яндекс Маркет) в том, что маркетплейсы не выводят вашу маркировку из оборота при продаже по FBS. Яндекс Маркет делает это частично и с опозданием, а Битрикс сам по себе ничего дальше кассы не отправляет.
Здесь в игру вступает основной модуль «Честный ЗНАК: вывод из оборота».
- В настройках модуля мы указываем, при достижении каких статусов заказа марка должна улетать по API в Честный ЗНАК для выбытия, а при каких — возвращаться в оборот.
- Поскольку на проекте настроено автоматическое получение статусов от маркетплейсов, магия происходит без участия человека — система сама закрывает вопросы с маркировкой в нужный момент.
- Умные исключения: В модуле можно указать, что заказы, оплаченные через ЮKassa, обрабатывать не нужно (так как эквайер делает это сам). Модуль просто «прозванивает» судьбу таких марок и аккуратно выводит в админке статус, подтверждая, что касса успешно вывела код из оборота.
Оба модуля доступны на Маркетплейсе 1С-Битрикс, а оценить их работу на живых складских процессах можно благодаря бесплатному демо-периоду!