Маркировка «Честный ЗНАК» превращает знакомую цепочку «оформил заказ — пробили чек — отдали товар» в контролируемую процедуру, где у каждой единицы товара есть уникальный код Data Matrix, а его продажа обязана попасть в государственную систему. Для интернет-магазина на 1С-Битрикс это не «ещё одна галочка в настройках», а вопрос архитектуры: кто хранит коды, кто выводит их из оборота, как код попадает в чек и что должно произойти при самовывозе и при курьерской доставке. Ошибка в этой логике приводит к чекам без кода, штрафам и «зависшим» в обороте товарам.
Ниже — практический разбор того, как правильно распределить роли между сайтом, 1С и кассой, чтобы маркировка работала без ручных костылей и рассинхронизации. Материал основан на наших проектах по интеграции интернет-магазинов с учётными системами — с 1С, кассами и ОФД. Мы намеренно не пересказываем нормативку дословно: сроки и перечни меняются, поэтому фокус на инженерной схеме, которая остаётся устойчивой.
Коротко
- Сайт на 1С-Битрикс — витрина и оформитель заказа; коды Data Matrix он не хранит и из оборота не выводит.
- Учётная система маркировки — 1С: она обменивается с ГИС МТ, ведёт коды и статусы, передаёт их на кассу.
- Код выводится из оборота в момент продажи через кассовый чек — реквизит «код маркировки» (тег 1162) уходит в ОФД и ГИС МТ.
- Связка выглядит как сайт → 1С → касса (+ код) → ОФД, а ЮKassa отвечает только за деньги.
- Отдельно проектируйте сценарии самовывоза и доставки: момент фискализации и считывания кода в них разный.
Что такое обязательная маркировка и код Data Matrix
Обязательная маркировка — это государственная система прослеживаемости товаров, оператором которой выступает «Честный ЗНАК» (информационная система мониторинга, ГИС МТ). Идея простая: каждая физическая единица товара из подконтрольной группы получает уникальный цифровой «паспорт», по которому можно проследить весь путь от производителя или импортёра до конечного покупателя. Когда товар продают физлицу, его код выводят из оборота — и повторно продать этот же экземпляр легально уже нельзя.
Носитель этого «паспорта» — двумерный код Data Matrix, нанесённый на упаковку или этикетку. Он компактнее QR-кода и хорошо читается даже при малом размере. Внутри кода зашифрованы несколько частей:
- Код товара (GTIN). Идентификатор товарной позиции — то, что роднит код с привычным EAN. Одинаков для всех единиц одной номенклатуры.
- Индивидуальный серийный номер. Уникальная случайная последовательность, которая отличает конкретный экземпляр от всех остальных таких же товаров.
- Ключ и код проверки (крипто-«хвост»). Криптографическая подпись, которую генерирует система и которую проверяет фискальный накопитель кассы при продаже.
Ключевое отличие Data Matrix от линейного штрихкода — уникальность на уровне единицы товара. Обычный EAN-13 одинаков у тысячи одинаковых кроссовок; код маркировки — свой у каждой пары. Из этого вытекает главный архитектурный вывод для интернет-магазина: коды нельзя заранее «завести в каталог сайта», потому что сайт торгует номенклатурой (моделью, размером), а не конкретными пронумерованными экземплярами. Экземпляр и его код появляются только на складе, в момент, когда сотрудник берёт с полки конкретную коробку.
Какие товарные группы подпадают под маркировку
Маркировка вводится не разом, а поэтапно, товарная группа за товарной группой, и перечень постоянно расширяется. К моменту, когда вы читаете этот материал, список может отличаться, поэтому перед запуском продаж всегда сверяйтесь с официальным ресурсом «Честного ЗНАКА» по своей категории и датам. Тем не менее полезно видеть картину целиком, чтобы понимать масштаб.
| Товарная группа | Что маркируется | Особенность для магазина |
|---|---|---|
| Обувь | Пары обуви всех видов | Одна из первых групп, коды на каждой паре |
| Лёгкая промышленность и одежда | Отдельные виды одежды, бельё, трикотаж | Расширяющийся перечень по кодам ТН ВЭД |
| Духи и туалетная вода | Парфюмерия | Код на каждом флаконе |
| Шины и покрышки | Автомобильные шины | Крупногабарит, важна агрегация |
| Молочная продукция | Молоко, сыры, мороженое и др. | Скоропорт, важны сроки и объёмная продажа |
| Упакованная вода | Питьевая вода в упаковке | Большие объёмы, часто короба и агрегаты |
| Табак и никотинсодержащая продукция | Сигареты, альтернативный табак | Строгий контроль, поштучный учёт |
| Фотоаппараты, БАДы, антисептики | Соответствующие товары | Разные даты старта, сверяйте перечень |
Практический смысл этой таблицы для интернет-магазина в том, что маркировка редко касается всего каталога сразу. Чаще подконтрольна лишь часть ассортимента, и её нужно уметь отличать от обычного товара на всех этапах: в 1С, в заказе, при сборке и на кассе. Поэтому первый шаг внедрения — не техника, а инвентаризация: какие именно позиции каталога попадают под маркировку сейчас и какие попадут в ближайших этапах.
Роли в системе: сайт-витрина, 1С-учёт, касса
Главное, что нужно понять про маркировку в связке с интернет-магазином: у каждого узла своя зона ответственности, и их нельзя смешивать. Когда роли размыты, начинаются проблемы — либо сайт пытается делать то, что должна делать касса, либо в 1С «не доезжают» данные о продаже. Разложим по полочкам.
- Сайт на 1С-Битрикс — витрина и оформитель заказа. Он показывает каталог, принимает заказ, фиксирует состав, способ получения и способ оплаты, инициирует онлайн-оплату через ЮKassa. Он не оперирует конкретными кодами Data Matrix и не выводит их из оборота. Максимум — знает признак «товар маркированный», чтобы правильно построить сценарий.
- 1С — учётная система маркировки. Именно 1С обменивается с ГИС МТ: принимает коды при поступлении товара, ведёт их остатки и статусы, формирует документы ввода/вывода из оборота, передаёт коды на кассу в момент продажи. 1С — «единая точка правды» по кодам.
- Касса и ОФД — фискализация и вывод из оборота. Касса формирует чек, включает в него код маркировки (тег 1162), фискальный накопитель проверяет код, а ОФД передаёт данные в налоговую и в ГИС МТ. Именно чек — юридический момент вывода кода из оборота.
- ЮKassa — эквайринг. Проводит деньги покупателя. К кодам маркировки отношения не имеет, хотя часто в одном потоке с фискализацией (об этом ниже).
Эта схема объясняет, почему «интеграция маркировки с Битриксом» на деле почти всегда означает интеграцию Битрикса с 1С, а уже 1С — с ГИС МТ и кассой. Сам сайт в контуре маркировки играет вспомогательную роль. Если у вас ещё не выстроен надёжный обмен сайта с учётной системой, начинать нужно именно с него — мы подробно разбирали это в материале про интеграцию магазина с 1С.
Жизненный цикл кода: от ввода до вывода из оборота
Чтобы правильно спроектировать интеграцию, полезно видеть весь путь кода, а не только момент продажи. Жизненный цикл кода маркировки в контуре магазина проходит несколько стадий, и на каждой у 1С своя операция обмена с ГИС МТ.
- Эмиссия и заказ кодов. Производитель или импортёр заказывает коды в «Честном ЗНАКе», наносит Data Matrix на товар и вводит коды в оборот. Если вы сами импортёр или маркируете остатки — эту стадию ведёте вы через 1С.
- Поступление на склад. Товар с кодами приходит по универсальному передаточному документу (УПД) с электронной подписью через ЭДО. 1С принимает УПД, коды «переезжают» на ваш баланс в ГИС МТ, статус — «в обороте, у вас».
- Хранение и учёт. Коды лежат в 1С привязанными к номенклатуре и остаткам. Сайт при этом видит только обычные остатки по позиции, без разбивки на экземпляры.
- Заказ на сайте. Покупатель оформляет заказ. Сайт передаёт состав в 1С; конкретные коды пока не выбираются — резервируется номенклатура.
- Сборка и отгрузка. Сотрудник сканирует Data Matrix с реальных единиц — так заказ связывается с конкретными кодами.
- Продажа и вывод из оборота. Касса пробивает чек с кодами (тег 1162), ОФД и касса сообщают в ГИС МТ, статус кодов меняется на «выбыл, розничная продажа».
Обратите внимание: конкретный код появляется в цепочке поздно — только на этапе сборки. До этого момента и сайт, и заказ оперируют номенклатурой. Это принципиально: если пытаться «привязать код к позиции заказа» на сайте в момент оформления, вы получите нерешаемую задачу — на складе может уехать совсем другая коробка с другим кодом. Поэтому связывание «заказ ↔ код» всегда происходит на складе через сканер, а не в интерфейсе сайта.
Вывод из оборота при продаже: розница и дистанционка
Вывод из оборота — центральное событие. Именно оно снимает код с вашего баланса в ГИС МТ и легально завершает продажу. Способ вывода зависит от того, как именно происходит продажа.
Розничная продажа на месте
Классический случай — покупатель забирает товар в пункте выдачи или магазине (самовывоз), оплата на месте или онлайн. Сотрудник сканирует код на кассе, касса включает его в чек, ФН проверяет крипто-«хвост», чек уходит в ОФД, а тот сообщает в ГИС МТ о выводе из оборота с признаком «розничная продажа». Всё происходит в одной точке и почти мгновенно.
Дистанционная продажа (доставка)
При доставке покупатель не стоит у кассы, и момент фискализации привязывается к схеме расчётов:
- Полная предоплата на сайте. Деньги проведены через ЮKassa при оформлении. Чек может формироваться при отгрузке/передаче в доставку, когда коды уже считаны на складе. Вывод из оборота идёт с признаком «дистанционная продажа».
- Оплата при получении. Чек и вывод кода привязываются к моменту расчёта — когда курьер принимает оплату (мобильная касса у курьера) или когда деньги проходят иным способом. Коды при этом уже должны быть закреплены за заказом на сборке.
Для интернет-магазина ключевой вывод такой: вывод из оборота всегда завязан на чек, а не на статус заказа на сайте. Поэтому нельзя «выводить код из оборота» кнопкой в админке Битрикса — это делает только фискальная операция. Задача интеграции — гарантировать, что к моменту формирования чека код уже считан и передан на кассу через 1С. Тонкости фискализации при онлайн-оплате и доставке мы разбирали в отдельном материале про кассовые чеки по 54-ФЗ.
Код маркировки в кассовом чеке: тег 1162 и ОФД
Технически «передать код в чек» — значит положить его в специальный реквизит фискального документа. За код маркировки в чеке отвечает реквизит «код товара», тег 1162 (в актуальных форматах фискальных документов он несёт данные маркировки в структурированном виде). Разберём цепочку по шагам.
- Сотрудник сканирует Data Matrix. Кассовое ПО получает считанный код с реальной упаковки на этапе сборки или на кассе.
- ФН проверяет код. Фискальный накопитель по крипто-«хвосту» проверяет, что код валиден и не был выведен из оборота ранее. Если код «плохой» или уже продан — касса не должна пропустить продажу.
- Код кладётся в реквизит тега 1162. В позицию чека добавляется код товара с признаком маркированной продукции и результатом проверки кода в ФН.
- Чек уходит в ОФД. Оператор фискальных данных принимает чек и передаёт данные в налоговую.
- Сведения о выводе идут в ГИС МТ. Информация о продаже и смене статуса кода на «выбыл» поступает в «Честный ЗНАК» — через ОФД и/или напрямую от кассового ПО, в зависимости от схемы.
Из этого следует несколько практических требований к оборудованию и ПО. Касса и фискальный накопитель должны поддерживать актуальный формат фискальных данных (ФФД) с реквизитами маркировки. Кассовое ПО должно уметь принимать код от 1С и работать с проверкой кода в ФН. А договор с ОФД должен покрывать передачу данных маркировки. Если хоть одно звено устарело, чек с тегом 1162 корректно не сформируется.
| Элемент чека | Что означает для маркировки |
|---|---|
| Тег 1162 (код товара) | Несёт данные кода маркировки конкретной единицы |
| Признак предмета расчёта | Указывает, что это подлежащий маркировке товар |
| Результат проверки кода в ФН | Итог валидации Data Matrix фискальным накопителем |
| Признак способа расчёта | Предоплата / полный расчёт — согласуется со схемой оплаты |
| Данные ОФД | Маршрут передачи чека в ФНС и сведений в ГИС МТ |
Связка сайт → 1С → касса → ЮKassa
Соберём все узлы в единый поток на примере самого частого сценария — онлайн-оплата на сайте и последующая отгрузка. Важно развести два параллельных потока: денежный (через ЮKassa) и товарно-фискальный (коды и чек через 1С и кассу).
- Заказ на сайте. Покупатель собирает корзину, выбирает способ получения и оплаты. Битрикс фиксирует заказ, среди позиций есть маркированные (с признаком из 1С).
- Оплата через ЮKassa. Сайт инициирует платёж, ЮKassa проводит деньги и возвращает статус «оплачено». Это чисто денежная операция.
- Заказ уезжает в 1С. Через обмен сайт передаёт состав, оплату и способ получения в 1С. 1С — теперь ответственная за фискализацию и коды.
- Сборка и сканирование кодов. На складе сотрудник сканирует Data Matrix реальных единиц; 1С связывает коды с позициями заказа.
- Формирование чека с кодами. 1С передаёт на кассу состав чека и коды; касса кладёт их в тег 1162, ФН проверяет, чек уходит в ОФД.
- Вывод из оборота. Сведения о продаже поступают в ГИС МТ, статус кодов меняется на «выбыл».
- Синхронизация статуса обратно на сайт. 1С возвращает статусы «оплачен/отгружен/выполнен» в Битрикс — покупатель видит актуальное состояние заказа.
Обратите внимание, что ЮKassa и коды маркировки не встречаются напрямую. Часто их путают, потому что при онлайн-оплате чек может формироваться через облачную кассу, связанную с эквайрингом. Но даже тогда сам код в чек кладёт кассовое ПО на основе данных из 1С, а не платёжный сервис. Держите эти потоки в голове раздельно — это снимает половину вопросов на этапе проектирования. Подробнее подключение эквайринга и СБП мы разбираем в смежных материалах рубрики оплата и доставка.
Обмен с ГИС МТ через 1С
Всё общение вашего магазина с «Честным ЗНАКом» идёт через 1С — это самый удобный и штатный путь. Современные конфигурации 1С («Управление торговлей», «Розница», «ERP» и другие) содержат встроенную подсистему работы с маркировкой, которая берёт на себя рутину обмена с ГИС МТ. Что именно делает 1С в этом контуре:
- Приёмка по УПД через ЭДО. 1С принимает электронные документы поставки с кодами, сверяет фактическое поступление и подтверждает переход кодов на ваш баланс.
- Ведение остатков кодов. Коды хранятся привязанными к номенклатуре и складам; 1С знает, какие экземпляры у вас есть и в каком они статусе.
- Вывод из оборота. При розничной продаже через кассу — автоматически по чеку; при иных сценариях (например, продажа не через ККТ) — отдельным документом вывода из оборота.
- Перемаркировка и списание. Если код повреждён, утерян или товар списан, 1С формирует соответствующие документы, чтобы статус в ГИС МТ был корректным.
- Сверка и отчётность. Периодическая сверка остатков кодов между 1С и ГИС МТ выявляет расхождения до того, как они станут проблемой.
Для интернет-магазина это означает, что основную нагрузку по маркировке несёт 1С, а не сайт. Задача интеграции сайта — обеспечить, чтобы заказы, оплаты и способы получения корректно и вовремя доезжали до 1С, а статусы возвращались обратно. Если ваша розница и онлайн-продажи ведутся омниканально (единый склад, единые остатки, продажи и в офлайне, и на сайте), связку особенно важно выстроить аккуратно — мы разбирали это в материале про интеграцию 1С:Розница и омниканальность на Битрикс.
Агрегация, короба и коды агрегатов
Когда товар едет и продаётся коробами и палетами, поштучное сканирование каждого Data Matrix превращается в проблему. Для этого в системе есть агрегация — объединение нескольких единиц под одним общим кодом транспортной упаковки (кодом агрегата, часто в формате SSCC). Отсканировав один код короба, вы фактически «раскрываете» весь его состав.
Как это влияет на процессы магазина:
- Приёмка ускоряется. Вместо десятков сканирований — один код короба, а 1С по нему знает весь вложенный состав кодов.
- Хранение по коробам. Пока короб не вскрыт, коды внутри «путешествуют» вместе; при продаже поштучно короб расформировывается (дезагрегация), и дальше коды живут по отдельности.
- Оптовая отгрузка. При продаже коробом целиком (частый случай для B2B) можно передавать код агрегата, не раскрывая поштучный состав, если это допускается для группы.
Для интернет-магазина агрегация чаще всего актуальна на входе (приёмка) и для оптовых сценариев. В рознице и поштучной доставке короба обычно расформировываются, и покупателю уходит единичный код. Логику агрегации и дезагрегации целиком ведёт 1С — сайту достаточно знать признак «оптовая/поштучная продажа», чтобы построить правильный сценарий.
Сценарии самовывоза и доставки
Момент считывания кода и момент фискализации различаются в зависимости от способа получения. Разберём два основных сценария интернет-магазина, потому что именно здесь чаще всего допускают ошибки в проектировании.
Самовывоз из пункта выдачи
Самый простой случай. Товар собран, коды считаны на складе или считываются в момент выдачи. Покупатель приходит, сотрудник пробивает чек с кодом на стационарной кассе, код выводится из оборота, покупатель получает товар и чек. Здесь фискализация и передача покупателю совпадают по времени и месту — рисков минимум.
Курьерская и почтовая доставка
Здесь появляется разрыв между сборкой, оплатой и вручением, и его нужно закрыть корректно:
| Схема | Когда считывается код | Когда формируется чек и вывод из оборота |
|---|---|---|
| Самовывоз, оплата на месте | При сборке или выдаче | В момент расчёта на кассе ПВЗ |
| Доставка, предоплата на сайте (ЮKassa) | При сборке | При отгрузке/передаче в доставку |
| Доставка, оплата курьеру | При сборке | В момент расчёта — мобильная касса курьера |
| Оптовая отгрузка коробом | Код агрегата при отгрузке | По документу реализации / выводу из оборота в 1С |
Главный принцип: к моменту формирования чека код уже должен быть считан и закреплён за заказом. Поэтому сканирование кодов встраивают в процесс сборки заказа на складе, а не откладывают на вручение. Для курьерской доставки с оплатой при получении нужна мобильная касса, поддерживающая маркировку, и заранее подготовленный список кодов из 1С по заказу — тогда курьер лишь подтверждает продажу, а не «выбирает» коды на месте.
Реализация в 1С-Битрикс
Теперь о том, что конкретно делается на стороне сайта. Повторим главную мысль: Битрикс не оперирует кодами, но он должен корректно передавать в 1С всё, что нужно для правильной фискализации маркированного товара, и уметь показывать актуальные статусы покупателю. Практические шаги:
- Признак маркировки в каталоге. Заведите в инфоблоке торгового каталога свойство-флаг «Подлежит обязательной маркировке» и синхронизируйте его из 1С при обмене. Оно нужно не для кодов, а для построения сценария — например, чтобы предупредить о сроках доставки или ограничить способы оплаты для группы.
- Обмен заказами с 1С. Используйте штатный обмен «1С — Битрикс» (модуль
sale, компоненты обменаbitrix:sale.export.1c/ протокол CommerceML) или коннектор вашей конфигурации. Убедитесь, что в выгрузку заказа попадают состав, признак маркировки позиций, способ получения и способ/статус оплаты. - Корректная передача признаков расчёта. Для онлайн-оплаты через ЮKassa настройте, чтобы в 1С уходил верный признак способа расчёта (предоплата/полный расчёт). От этого зависит корректность чека и вывода из оборота.
- Возврат статусов на сайт. Настройте обратную синхронизацию статусов заказа из 1С в Битрикс (оплачен, собран, отгружен, выполнен), чтобы покупатель в личном кабинете видел актуальное состояние.
- Не храните коды в Битрикс. Не создавайте свойств «код маркировки» на уровне заказа сайта и не пытайтесь выводить коды из оборота из админки. Это зона 1С и кассы.
- Обработка ошибок обмена. Настройте логирование и уведомления, чтобы «застрявшие» заказы (не доехавшие до 1С) не оставались незамеченными — иначе товар отгрузят без корректной фискализации.
Отдельно про оборудование и ПО: онлайн-касса и фискальный накопитель должны поддерживать актуальный ФФД с реквизитами маркировки, кассовое ПО — принимать коды от 1С и работать с проверкой в ФН, а конфигурация 1С — иметь включённую подсистему маркировки и настроенный ЭДО. Сайт в этой цепочке — самое «лёгкое» звено, и именно поэтому его роль важно не переоценить и не нагрузить лишним.
Если у вас связка ещё не выстроена или обмен с 1С работает нестабильно, начинать проект по маркировке нужно с наведения порядка в интеграции сайта и учётной системы. Базовую механику мы подробно описали в материале про интеграцию магазина с 1С, а комплексно такие задачи мы закрываем в рамках услуги по интеграциям.
Частые ошибки
- Чек без кода маркировки. Товар пробили без реквизита тега 1162 — нарушение, штраф и «зависший» в обороте код. Причина обычно в неверной настройке кассы или в том, что код не доехал из 1С на кассу.
- Попытка хранить коды в Битрикс. Заводят свойство «код маркировки» на заказе сайта и пытаются «продавать» конкретные экземпляры из витрины — это ломает связь с ГИС МТ, потому что сайт не знает, какая коробка реально уедет.
- Пересорт при сборке. Считали код от одной единицы, а отгрузили другую — в чеке уходит «чужой» код. Лечится обязательным сканированием на сборке и контролем соответствия кода позиции.
- Повторный вывод из оборота. Один и тот же код пытаются продать дважды (например, из-за дубля заказа или ручного вмешательства) — ФН должен блокировать, но при неверной настройке возникает ошибка и расхождение.
- Неверный признак расчёта. При предоплате через ЮKassa в чек уходит «полный расчёт» вместо «предоплата» (или наоборот) — чек и вывод из оборота формируются некорректно.
- Возврат «мимо» маркировки. Приняли возврат, не вернув код в оборот через 1С — товар легально перепродать больше нельзя, код числится выбывшим.
- Устаревшее оборудование или ФФД. Касса или ФН не поддерживают актуальный формат с реквизитами маркировки — чек с кодом просто не формируется.
- Нет сверки остатков кодов. Расхождения между 1С и ГИС МТ копятся месяцами и всплывают при проверке. Регулярная сверка ловит их заранее.
Чек-лист внедрения
Сведём всё в практический список готовности перед запуском продаж маркированного товара через интернет-магазин на 1С-Битрикс.
- Ассортимент размечен. Определены все позиции каталога, подпадающие под маркировку сейчас и в ближайших этапах; заведён признак в 1С и синхронизирован в Битрикс.
- 1С готова. Включена подсистема маркировки, настроен ЭДО для приёмки по УПД, идёт обмен с ГИС МТ, ведутся коды и статусы.
- Оборудование поддерживает маркировку. Онлайн-касса и ФН работают на актуальном ФФД с реквизитами маркировки, договор с ОФД покрывает передачу данных.
- Сборка со сканированием. В складской процесс встроено обязательное считывание Data Matrix и связывание кодов с заказом до формирования чека.
- Обмен сайт → 1С настроен. Заказы, оплаты, признаки расчёта и способы получения корректно уходят в 1С; статусы возвращаются на сайт.
- Сценарии получения проработаны. Отдельно описаны самовывоз, доставка с предоплатой и оплата курьеру; для последней есть мобильная касса с поддержкой маркировки.
- Возвраты закрывают маркировку. Процедура возврата возвращает код в оборот через 1С, а не «в обход».
- Сверка и мониторинг. Настроена периодическая сверка остатков кодов между 1С и ГИС МТ, есть уведомления об ошибках обмена и «застрявших» заказах.
Вывод
Интеграция маркировки «Честный ЗНАК» с интернет-магазином на 1С-Битрикс — это в первую очередь вопрос правильного разделения ролей. Сайт остаётся витриной и оформителем заказа, 1С ведёт коды и обменивается с ГИС МТ, а касса выводит код из оборота через чек с тегом 1162. Как только эта схема выстроена, а обмен сайта с 1С работает надёжно, маркировка перестаёт быть источником штрафов и превращается в фоновую, предсказуемую часть продаж — и для розницы, и для доставки.