OASM · Аутсорсинг маркировки «Честный Знак» заказ - за час

блог / кейс

Дубли этикеток на складе: как мы их убрали нумерацией

Склад одного из наших клиентов повторно распечатал комплект этикеток одной палеты и обклеил им товар другой. Разбираем, что при этом происходит в «Честном Знаке» - с кодами ошибок из документации, - и схему, которая такие дубли убирает.

18 августа 2026 · Александр Митин, основатель OASM · кейс · 13 минут чтения

Мы занимаемся маркировкой импорта с 2021 года, и файлы этикеток, которые мы отдаём клиенту, едут на реальный склад к реальному оператору с термопринтером. Хотите посмотреть, как это выглядит на вашем товаре, - пришлите свои коды, вернём 2-3 готовых PDF-этикетки бесплатно: оставить заявку.

Что случилось на складе?

Коротко: склад одного из наших клиентов-импортёров повторно распечатал комплект этикеток одной палеты и обклеил им товар другой палеты. Коды первой палеты оказались на двух физических палетах, а коды второй так и остались ненанесёнными. Вскрылось у получателя на приёмке, разбирали руками.

Комплект приходил на склад разложенным по палетам: отдельный PDF на каждую. Оператор открывал файл, отправлял на печать, шёл клеить. Между «напечатал» и «наклеил» проходило время: смена заканчивалась, принтер зажёвывал ленту, партию откладывали до утра.

Потом кто-то открывал папку и печатал файл заново - тот же самый. Внешне отличить нечем: этикетки одного товара выглядят одинаково с точностью до квадратика DataMatrix, а его глазами не прочитать. Пачка ехала на следующую палету и наклеивалась на неё.

В итоге один и тот же набор кодов оказывался на двух палетах товара. Коды второй палеты при этом лежали в непрочитанном файле - в системе они так и числились выданными, но ни на что не нанесёнными. Товар уезжал, а расхождение всплывало у получателя на приёмке, где коробки сканируют.

Дальше начиналось самое дорогое: чужой склад, чужие люди, палета в плёнке - и ручная переклейка.

Почему отдельные файлы на палету не спасли от дублей?

Коротко: различать файлы было нечем. Имя файла не говорило, какая это палета, а на самих этикетках не было ни одной цифры, которую оператор мог бы прочитать глазами. Единственный опознавательный знак - квадрат DataMatrix, и он читается только сканером. Проверка, требующая сканера на каждую этикетку, на складе не выполняется никогда: она должна занимать секунду и делаться взглядом.

У склада было три слепых зоны сразу:

  1. Имя файла ничего не значило. печать.pdf, заказ_финал_2.pdf. Чтобы понять, что внутри, файл надо открыть и сравнить содержимое с тем, что уже наклеено. Никто этого не делает на двадцатой палете.
  2. На этикетке единицы товара - только код. DataMatrix - квадратный двумерный штрихкод, который читает сканер, а человек не читает никак. Лист 40 и лист 41 для оператора выглядят одинаково.
  3. Короб и палета тоже были безымянными. Сверить пачку этикеток с конкретным местом на складе было невозможно в принципе.

Сканер есть не на каждом рабочем месте, и сканировать две тысячи этикеток ради проверки «а это точно та палета» никто не станет. Значит, проверка должна читаться глазами за секунду, иначе её не будет.

Что при этом происходит в «Честном Знаке»?

Коротко: система построена на том, что один код маркировки живёт на одном экземпляре товара и проходит один жизненный путь по статусам. Дубль ломает это сразу в трёх местах: агрегация коробов и палет не собирается, палетный код оказывается занят, а на кассе код уже числится выбывшим. Каждый из трёх сбоев вылезает со своим кодом ошибки, и ни один из них не говорит слова «дубль» прямо.

Начнём с терминов, потому что дальше без них никак. Код маркировки (КМ) - уникальная последовательность символов, которую оператор системы формирует для конкретного экземпляра товара. У каждого кода один жизненный путь, и система ведёт его по статусам:

СтатусЧто означает
EMITTEDэмитирован - код заказан и выдан, но ещё ни на чём не наклеен
APPLIEDнанесён - вы отчитались, что код физически на товаре
INTRODUCEDв обороте - товар введён в оборот и может продаваться
RETIREDвыбыл - продан на кассе или выведен из оборота иначе

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

Теперь что конкретно ломается. Когда вы собираете короба и палеты - это называется агрегация, - каждый агрегат получает свой код идентификации транспортной упаковки (КИТУ), в обиходе SSCC - из чего состоит этот номер и как его формируют, разобрано в отдельной статье. Вот его официальное определение:

«Код идентификации транспортной упаковки (КИТУ) - последовательность символов, представляющая собой уникальный экземпляр транспортной упаковки товаров, в виде одномерного штрихового кода, соответствующего международному стандарту GS1-128.» API СУЗ 3.0, глоссарий

Ключевое слово - уникальный. Документация True API формулирует требование прямо:

«КИТУ: должен быть уникален в Системе маркировки, независимо от ИНН, товарной группы или статуса.» True API ГИС МТ, версия 707, требования к документу «Формирование упаковки»

Система физически не даст двум палетам иметь один и тот же код. Значит, если второй палет обклеили чужим комплектом, расхождение никуда не денется - оно просто всплывёт позже и в другом месте. Вот в каком именно:

Код ошибкиФормулировка из документацииКогда вылезет
21«Код Маркировки ... с родителем ... нельзя агрегировать в ...»при попытке собрать короб или палету из кодов, которые уже числятся в другом агрегате
58«Код идентификации ... уже имеет родительский код идентификации ...»то же самое, со стороны вложенного кода
32«Код идентификации ... уже содержит вложения ...»когда тот же палетный код пытаются наполнить повторно
25«Коды идентификации ... не принадлежат товарной группе ...»при обмене документами, если в системе нашёлся дубликат КИТУ
24«Статус ... Кода Маркировки ... не соответствует выполняемой операции»на кассе, когда вторую единицу с тем же кодом пробивают после первой

Ошибка 25 - самая неприятная из всех. Текст сообщения говорит про товарную группу, а настоящая причина - дубликат кода транспортной упаковки, зарегистрированного ранее. Человек, который видит это в первый раз, причину не свяжет никогда: он полезет проверять карточки товара, а проблема на складе.

Ошибка 24 стоит отдельно, потому что она вылезает уже за пределами вашей ответственности - на кассе у розницы. Первую единицу продали, код ушёл в статус «выбыл». Вторую, с тем же кодом, касса продать откажется.

Сколько стоит один такой дубль?

Коротко: в нашем случае - смена ручной переклейки на чужом складе: палету надо распаковать, снять этикетки, не повредив упаковку, и нанести правильные. К прямым потерям добавляется административная ответственность: для расхождений между системой и фактом работает отдельная статья КоАП про недостоверные сведения оператору системы мониторинга, а для нарушения порядка нанесения - общая статья с конфискацией партии.

Прямые потери считаются легко. Палета в плёнке - её надо распаковать. Этикетку с DataMatrix надо снять, не повредив упаковку, и наклеить правильную. Умножьте на количество единиц на палете и добавьте, что делается это на чужой площадке - у получателя, который вообще-то ждал товар в продажу.

Дальше - ответственность, если расхождение доедет до системы. Работают две статьи:

НормаЗа чтоШтраф юрлицу
ст. 15.12.1 КоАП РФпредставление неполных или недостоверных сведений оператору системы мониторинга50 000 - 100 000 ₽ (должностным лицам - предупреждение или 1 000 - 10 000 ₽)
ст. 15.12 КоАП РФ, ч. 2продажа, хранение, перевозка товара без маркировки или с нарушением установленного порядка её нанесения50 000 - 300 000 ₽ с конфискацией предметов правонарушения

Для алкоголя и табака четвёртая часть той же статьи 15.12 поднимает планку до 1 000 000 - 1 500 000 ₽ с конфискацией. Формулировка самой нормы тут важнее сумм: «с нарушением установленного порядка нанесения такой маркировки». Расклейка не по правилам попадает под неё напрямую, отдельно от истории с недостоверными данными в отчёте.

Мы ведём весь цикл маркировки импорта: заказ кодов, файлы этикеток под конкретный склад, агрегацию и ввод в оборот. Схема из этой статьи - часть того, что клиент получает по умолчанию, отдельно её заказывать не нужно. Оставить заявку.

Один палет - один файл: почему это первое правило

Коротко: каждая палета - отдельный PDF, и его имя начинается с кода этой палеты. Заказ на 24 палеты даёт 24 файла, и каждый опознаётся по имени, без открытия. Дальше в имени идут число коробов, наименование товара, дата и место палеты в заказе. Чтобы напечатать один и тот же комплект дважды, оператору пришлось бы взять файл с кодом, который уже наклеен на соседнюю палету.

Имя файла собирается по жёсткому шаблону:

{код палеты}_({число коробов}К)_{наименование товара}_{дата}_({N} из {T}).pdf

На практике это выглядит так:

046070043800000024_(30К)_Пиво светлое 0,5 л_01012027_(7 из 24).pdf

Читается слева направо:

  1. 046070043800000024 - код палеты, тот самый SSCC. Он же напечатан штрихкодом на палетном листе. Совпали код в имени файла и код на палете - вы держите нужный файл.
  2. (30К) - сколько коробов на этой палете. Расхождение с фактом видно до печати.
  3. Наименование товара - чтобы не путать позиции в многопозиционном заказе.
  4. 01012027 - дата: срок годности, а если его нет - дата розлива или производства. Для пива и напитков это главный различитель: одна и та же позиция с двумя датами - это два разных комплекта файлов.
  5. (7 из 24) - место палеты в заказе. Печатать по порядку и видеть, что осталось, можно прямо из списка файлов.

Код палеты в имени - главная защита от того самого дубля. Чтобы напечатать файл повторно, оператору надо взять файл с кодом, который уже наклеен на стоящую рядом палету. Это видно глазами, без открытия и без сканера.

Что напечатано на каждой этикетке единицы?

Коротко: в углу каждой этикетки печатаются три числа - номер палеты, номер короба и номер страницы в файле. Строка «7-12 288» читается как «палета 7, короб 12, страница 288». Подпись стоит вертикально по краю, мелким кеглем, и не трогает основной макет. Этого достаточно, чтобы за секунду понять, из какого комплекта взят лист и на какую палету он должен уехать.

Угол этикетки: DataMatrix, срок годности и вертикальная подпись 7-12 288
Правый нижний угол этикетки единицы товара: квадрат DataMatrix, строка срока годности и вертикальная подпись «7-12 288» - палета 7, короб 12, страница 288. Этикетка демонстрационная: в боевой в DataMatrix зашит код маркировки.

Кегль подписи - 5 пунктов, она стоит в тех же двух миллиметрах от края, что и служебная зона этикетки, и на состав, даты и знаки соответствия не залезает. Откуда берётся этот служебный кегль и что ещё обязано быть в макете - в статье про размеры и требования к этикетке.

Разберём числа по порядку:

  • 7 - номер палеты. Сквозной по всей позиции заказа.
  • 12 - номер короба внутри этой палеты.
  • 288 - порядковый номер страницы в этом PDF-файле.

Третье число считает страницы файла, и с порядковым номером бутылки оно расходится: страницы коробов входят в тот же счёт. Арифметика получается такая: если в коробе 24 единицы, то первый короб занимает страницы с 1 по 24, сам короб - страницу 25, второй короб начинается с 26-й. Наша страница 288 попадает в двенадцатый короб, и это сходится с числом 12 рядом.

Проверка, ради которой всё затевалось, звучит так: возьмите любую этикетку из пачки и посмотрите на первое число. Оно совпадает с номером палеты, которую вы сейчас клеите? Если нет - это чужой комплект, печать была лишней.

Почему номер палеты сквозной, а номер короба начинается заново?

Коротко: номер палеты считается по всей позиции заказа подряд, даже если у товара несколько дат производства. Номер короба начинается с единицы внутри каждой палеты, потому что читается всегда в паре с ней: уникальна только связка «7-12». На сквозной нумерации палет мы в своё время ошиблись сами: разные палеты одного заказа получали одинаковый номер.

Дубль номеров мы однажды сделали сами - программой, без всякого участия склада.

Раньше нумерация палет считалась внутри каждой даты производства. У позиции с двумя датами получалось так: в первой дате палеты 1 и 2, во второй - снова палета 1. На этикетках печаталось «НОМЕР ПАЛЕТА: 1», и таких палет в одном заказе физически стояло две. Оператор видел одинаковые номера на разных палетах - то есть ту самую неразличимость, от которой нумерацию и вводили.

Починили просто: номер палеты теперь присваивается по всей позиции подряд, независимо от того, на сколько дат она разбита. Первая палета первой даты - первая, первая палета второй даты - следующая по счёту.

С коробами логика другая. Номер короба начинается с единицы внутри каждой палеты, и сам по себе он не уникален: «короб 12» есть на каждой палете заказа. Уникальна пара - «7-12». Поэтому на этикетке и на коробе они всегда печатаются вместе, через дефис, и разрывать их при сверке нельзя.

В каком порядке идут страницы в файле?

Коротко: сначала идут все этикетки единиц одного короба, потом этикетка самого короба, потом снова единицы и снова короб - и так до конца файла. Последняя страница всегда палетная. Порядок повторяет физическую работу: набрал коробку, заклеил её, перешёл к следующей. Печать выходит из принтера ровно в том порядке, в каком оператор берёт товар в руки.

Для палеты из 30 коробов по 24 единицы раскладка получается такая:

СтраницыЧто на них
1-24единицы товара первого короба
25этикетка короба 7-1
26-49единицы товара второго короба
50этикетка короба 7-2
......
726-749единицы товара тридцатого короба
750этикетка короба 7-30
751палетный лист - последняя страница файла

Число 24 здесь - иллюстрация. Фактическая вложенность берётся из карточки товара: сколько единиц в коробе и сколько коробов на палете, столько программа и разложит.

Порядок страниц собирает программа, поэтому он одинаков в каждом файле каждого заказа - оператору не нужно пересчитывать его глазами. Там, где комплект дополнительно нарезается на части, правило «палетная страница ровно одна и она последняя» проверяется ещё и отдельно: нарушение останавливает сборку с ошибкой.

Отсюда ещё одна проверка на пять секунд: откройте последнюю страницу файла. На ней номер палеты. Совпал с тем, что стоит перед вами, - печатайте.

Что написано на коробе и на палетном листе?

Коротко: на коробе печатаются «НОМЕР УПАКОВКИ: 7-12» и «ШТУК В УПАКОВКЕ: 24». На палетном листе - «НОМЕР ПАЛЕТА: 7», «УПАКОВОК НА ПАЛЕТЕ: 30» и штрихкод с кодом палеты. Обе этикетки крупные, читаются с метра и повторяют ту же нумерацию, что стоит в углу этикеток единиц товара. Три уровня упаковки говорят на одном языке.

Вот как читаются все три уровня упаковки рядом:

УровеньЧто напечатано
Единица товараDataMatrix с кодом маркировки, срок годности, «7-12 288» в углу
Коробштрихкод короба, «НОМЕР УПАКОВКИ: 7-12», «ШТУК В УПАКОВКЕ: 24», слово «УПАКОВКА»
Палеташтрихкод палеты, «НОМЕР ПАЛЕТА: 7», «УПАКОВОК НА ПАЛЕТЕ: 30», слово «ПАЛЕТ»

При необходимости на короб и палету выводится номер партии и номер заказа - это настраивается в макете один раз, перед первым заказом.

Из палетных страниц всех файлов собирается ещё один документ - сводный файл палетных листов на весь заказ. Его удобно распечатать отдельно: это готовый комплект «шапок» для всех палет и заодно опись того, что должно уехать.

Что проверить перед расклейкой: короткий регламент

Коротко: шесть проверок, каждая занимает секунды и не требует сканера. Смысл всех шести один - сверить то, что напечатано на бумаге, с тем, что физически стоит перед оператором. Сверить код палеты в имени файла, печатать по одному файлу за раз, проверить первую и последнюю страницу пачки, сверить число коробов, помечать отработанные файлы и не хранить лишние листы рядом с рабочим местом.

  1. Перед печатью сверьте код. Код палеты в начале имени файла - и код на палетном листе, который уже стоит на этой палете. Не совпало - файл чужой.
  2. Печатайте по одному файлу за раз. Один палет - один файл - одна пачка. Два файла в очереди печати склеиваются в одну стопку, и различить их можно будет только по цифрам.
  3. Проверьте первую и последнюю страницу пачки. Первая - этикетка единицы с номером страницы 1, последняя - палетный лист. Если пачка начинается с середины, часть страниц ушла в другую стопку.
  4. Сверьте число коробов. Оно стоит в имени файла и на палетном листе. Расходится с фактом - разбирайтесь до расклейки: после она обойдётся в разы дороже.
  5. Отработанный файл помечайте. Напечатали и наклеили - переносите файл в папку «готово». Пустая папка в конце смены означает, что работа закончена.
  6. Лишние листы не храните рядом с рабочим местом. Напечатали с запасом на брак - остаток сразу в утилизацию. Через смену никто не вспомнит, лишние это листы или ещё не наклеенные.

Шестой пункт выглядит мелочью, а на практике даёт дубли чаще остальных: пачка «на всякий случай» пролежала до следующего дня и была принята за новую.

Что делать, если дубль уже случился?

Коротко: не наклеивать правильную этикетку поверх неправильной и не пытаться «дописать» коды в систему в обход факта. Порядок такой: остановить расклейку целиком, найти границу ошибки по номерам палет, снять неверные этикетки, нанести правильные и только после этого собирать агрегацию. Если отчёт об агрегации уже принят системой, состав придётся официально расформировать.

По шагам:

  1. Остановите расклейку целиком. Пока не понятно, где начался дубль, каждая следующая палета увеличивает объём переклейки.
  2. Найдите границу. Здесь нумерация и работает: возьмите этикетки с разных палет и сравните первое число. Палеты с одинаковым номером - это и есть дубль.
  3. Снимите неверные этикетки и наклейте правильные. Официальный путь, когда код утрачен или повреждён, называется перемаркировкой - это повторное нанесение средств идентификации взамен утраченных. Наклейка поверх наклейки перемаркировкой не считается: старый код физически остаётся на упаковке и продолжит сканироваться.
  4. Соберите агрегацию заново - по факту. Если отчёт об агрегации ещё не отправлен, вы просто пересобираете состав коробов и палет.
  5. Если отчёт уже принят системой, состав придётся официально расформировать. Переупаковали у себя на складе, а в системе состав остался старым - и ввод в оборот развалится. Мы разбирали этот механизм в статье про автоштрафы.

Чего делать точно не нужно - придумывать новый код палеты «взамен занятого» в надежде проскочить. Требование уникальности КИТУ действует по всей системе, независимо от вашего ИНН и товарной группы.

Если файл с этикетками потерялся или его версия вызывает сомнения, запросите его заново у того, кто готовил комплект. Мы, например, храним архив всех заказанных кодов и восстанавливаем любую этикетку - как это устроено по шагам, показали в кейсе о восстановлении повреждённых кодов.

Чего эта схема не делает

Коротко: нумерация не мешает ошибиться - она делает ошибку заметной за секунду вместо того, чтобы та всплыла через неделю на чужой приёмке. У схемы три честных ограничения: она не контролирует руки оператора, номер короба работает только в паре с номером палеты, а сборные палеты из двух частей заказа сквозной нумерацией не покрываются.

Честные границы, чтобы не было завышенных ожиданий:

  • Программа не контролирует руки оператора. Она печатает номера, но не проверяет, что напечатанное наклеили по порядку. Настоящий контроль даёт только сканирование в момент нанесения, и это отдельная задача с отдельным оборудованием.
  • Номер короба не уникален сам по себе. Он работает только в паре с номером палеты.
  • Если одну палету собирают из двух частей заказа, печатной сквозной нумерации между этими частями не будет: каждая часть считает свои коробки с единицы. Такие сборные палеты надо разбирать вручную, и это стоит держать в голове при планировании отгрузки.
  • Схема помогает, только если на цифры действительно смотрят. Пункт «сверь номер палеты» должен стоять в инструкции склада. Пока он живёт в голове у одного самого внимательного сотрудника, схема работает ровно до его отпуска.

Про приёмку хорошо сказано у практиков складской автоматизации (УПД - универсальный передаточный документ, которым оформляют поставку):

«Не подписывайте УПД без проверки кодов маркировки. Если вы подпишете документ без проверки, вы можете принять на баланс несуществующие товары.» Иван Вергиз, MERTECH, «Обязательная маркировка на складе Честный знак», 03.06.2026

Та же логика работает и на другом конце цепочки. Проверка на этапе расклейки стоит секунды, проверка на приёмке - часы, а разбор после отгрузки - смену чужого склада.

Источники

Александр Митин, основатель OASM. Маркировкой импорта занимается с 2021 года.

Если вы импортёр и не хотите держать всё это в голове - мы берём цикл маркировки на себя целиком: коды, файлы этикеток под ваш склад, агрегацию и ввод в оборот. Начать можно с бесплатной пробы: пришлите свои коды, вернём готовые PDF-этикетки. Оставить заявку

Этикетки, которые невозможно перепутать

Пришлите свои коды - вернём 2-3 готовых PDF-этикетки. Посмотрите на качество и нумерацию до всяких договоров.

Оставить заявку

подключение - 2-3 часа · заказ - за час