Маркировка и ЕГАИС меняют работу с документами: у товара появляются коды идентификации, которые надо передавать в позициях и в фискальный чек. Для разработчика ключевое — понимать, как коды маркировки живут в JSON API и чем товарные группы отличаются по требованиям.
Две системы прослеживаемости
В России параллельно действуют две системы. Честный Знак покрывает маркировку большинства товарных групп (обувь, табак, лёгкая промышленность, молочная продукция, вода, парфюмерия и др.), а ЕГАИС — оборот алкоголя. У них разные коды, форматы и API, но в МойСклад обе привязаны к номенклатуре и документам движения.
- Честный Знак — код маркировки (DataMatrix) на каждой единице товара, тег ФФД 1162 в чеке;
- ЕГАИС — акцизные марки и справки А/Б, учёт по партиям и алкокодам;
- Общее — необходимость передавать идентификатор в позиции документа, а не только количество.
Коды маркировки в позициях документов
В JSON API 1.2 маркируемая позиция документа отличается тем, что несёт конкретные коды, а не только номенклатуру и количество. Коды передаются в поле things позиции — это массив строк с кодами идентификации единиц товара.
Логика простая: если продаётся 3 единицы маркированного товара, в things должно быть 3 кода. Это касается документов, где происходит физическое движение маркированных единиц:
| Документ | Сущность | Роль в обороте |
|---|---|---|
| Приёмка | supply | Ввод/приём кодов |
| Отгрузка | demand | Вывод из оборота (опт) |
| Розничная продажа | retaildemand | Вывод из оборота (розница) |
| Возврат | salesreturn | Возврат в оборот |
При розничной продаже код из things уходит в чек тегом 1162, а МойСклад Касса проверяет его в Честном Знаке перед выводом из оборота.
GTIN и карточка товара
Чтобы система прослеживаемости приняла товар, номенклатура должна нести корректный GTIN (глобальный номер товарной единицы). В карточке product за это отвечают штрихкоды: массив barcodes с типами gtin, ean13 и др.
Что проверять разработчику при синхронизации карточек:
- у маркируемого товара заполнен GTIN в
barcodes; - единица измерения (
uom) соответствует правилам группы; - признак маркировки товарной группы задан в карточке или атрибутах;
- для набора/комплекта учтены коды каждой входящей единицы.
Особенности ЕГАИС и алкоголя
Алкоголь стоит особняком. ЕГАИС учитывает продукцию по алкокодам и партиям, а движение оформляется через специальные документы поступления и списания. В рознице продажа крепкого алкоголя требует считывания акцизной марки (PDF417 + DataMatrix) и подтверждения через УТМ (универсальный транспортный модуль).
С точки зрения интеграции важны различия:
| Аспект | Честный Знак | ЕГАИС |
|---|---|---|
| Идентификатор | Код маркировки DataMatrix | Акцизная марка + алкокод |
| Учёт | Поштучный | Партионный (справки А/Б) |
| Канал | API Честного Знака | УТМ / ЕГАИС |
В JSON API движения алкоголя отражаются документами и остатками, но обмен с ЕГАИС идёт через отдельный контур. Задача коннектора — синхронизировать учёт, не подменяя собой УТМ.
Ввод в оборот и вывод
Жизненный цикл кода маркировки — от эмиссии до вывода из оборота. В большинстве сценариев производитель или импортёр вводит коды в оборот, а розница выводит их продажей. Через API МойСклад разработчик участвует в двух точках:
- Приёмка — при создании
supplyкоды из УПД попадают вthingsпозиций; - Продажа — при
retaildemandкоды выводятся из оборота через кассу и Честный Знак.
Объёмно-сортовой учёт (ОСУ) для отдельных групп упрощает приёмку: передаётся не каждый код, а количество по GTIN. Поддержку ОСУ нужно уточнять по конкретной товарной группе и этапу внедрения.
Синхронизация с сайтом на 1С-Битрикс
Когда маркированный товар продаётся через сайт, коды нельзя «придумать» на стороне интернет-магазина — они привязаны к физическим единицам на складе. Поэтому мастер-системой маркировки остаётся МойСклад, а сайт оперирует номенклатурой и остатками.
- каталог и GTIN синхронизируются из МойСклад на сайт;
- заказ с сайта создаёт
customerorderбез кодов; - коды подтягиваются на этапе отгрузки/продажи из фактических остатков;
- чек с тегом 1162 формирует касса, а не сайт.
Такое разделение ответственности избавляет от рассинхрона и ошибок вывода из оборота, а на 1С-Битрикс реализуется штатным обменом каталога плюс коннектором заказов.
Итог
Маркировка и ЕГАИС в МойСклад — это работа с кодами идентификации в позициях документов (things), корректными GTIN в barcodes и разными правилами по товарным группам. Честный Знак ведёт поштучный учёт кодов, ЕГАИС — партионный учёт алкоголя через УТМ, и оба контура нельзя подменять произвольной логикой на стороне сайта.
Мы в B2Bsite настраиваем обмен так, чтобы маркированный товар корректно проходил путь от приёмки до чека, а сайт на 1С-Битрикс не ломал прослеживаемость. Поможем спроектировать интеграцию по вашим товарным группам и взять её на сопровождение.
Частые вопросы
В каком поле JSON API хранятся коды маркировки?
В поле things позиции документа — это массив кодов идентификации единиц товара. Количество кодов должно совпадать с количеством продаваемых или принимаемых единиц.
Чем отличается работа с Честным Знаком и ЕГАИС?
Честный Знак ведёт поштучный учёт кодов DataMatrix, а ЕГАИС — партионный учёт алкоголя по акцизным маркам и алкокодам через УТМ. Это разные контуры и форматы идентификаторов.
Почему товар нельзя продать как маркированный?
Чаще всего у номенклатуры не заполнен GTIN в массиве barcodes. Без корректного GTIN код маркировки не привязывается к товару, и ввести его в оборот невозможно.
Куда попадает код маркировки при розничной продаже?
Он уходит в фискальный чек тегом ФФД 1162. МойСклад Касса проверяет код в Честном Знаке и выводит его из оборота при продаже.
Можно ли генерировать коды маркировки на стороне сайта?
Нет. Коды привязаны к физическим единицам на складе, поэтому мастер-системой остаётся МойСклад. Сайт оперирует только номенклатурой и остатками.
Что такое объёмно-сортовой учёт?
Это упрощённый режим приёмки для некоторых групп: передаётся не каждый код, а количество по GTIN. Его доступность зависит от товарной группы и этапа внедрения.
Почему касса отклоняет чек с маркированным товаром?
Обычно код уже погашен, принадлежит другому владельцу или имеет неверный статус в Честном Знаке. Перед продажей статус кода стоит проверять.
Заменяет ли JSON API обмен с ЕГАИС?
Нет. Движения алкоголя отражаются в документах и остатках МойСклад, но фактический обмен с ЕГАИС идёт через УТМ. Коннектор синхронизирует учёт, а не подменяет транспортный модуль.
Поможем с настройкой и поддержкой Для разработчиков
Поможем с настройкой, доработкой и поддержкой Для разработчиков.