Что зашито в коде маркировки: разбираем Data Matrix по частям
Код маркировки выглядит как случайный набор символов, а на деле собран по жёсткому правилу. Если понимать это правило, половина рабочих загадок перестаёт быть загадками: почему код «не читается», почему склад говорит «ваши коды не те» и почему Excel молча испортил файл.
Разбираем по частям — на обычном коде для непищевой группы.
Блоки и идентификаторы применения
Код собран из блоков. Перед каждым стоит двузначный номер — идентификатор применения, AI. Он сообщает системе, что идёт дальше, и именно поэтому код можно разобрать, не зная заранее его длины.
01 — следом 14 цифр GTIN, глобальный номер товара. Он один на все экземпляры: у миллиона одинаковых бутылок GTIN одинаковый.
21 — следом серийный номер. У большинства групп шесть знаков, буквы
и цифры, регистр имеет значение: 5OdYSB и 5odysb —
разные коды. Серийный номер уникален, второго такого не выдадут никогда.
93 — код проверки, четыре знака. Это криптографическая часть, её выдаёт «Честный знак» вместе с кодом, и подделать её нельзя. У табака вместо неё два блока: 91 — ключ проверки и 92 — электронная подпись на 44 знака, поэтому табачные коды заметно длиннее.
Невидимый разделитель
Между серийным номером и криптографической частью стоит символ, которого не видно, — GS, group separator, символ с кодом 29. Он нужен потому, что серийный номер переменной длины: без разделителя сканер не понял бы, где он кончился и начался следующий блок.
Этот символ не печатается. В блокноте на его месте пусто или странный значок, при копировании через почту он теряется, а в Excel его нельзя сохранить в принципе — формат xlsx управляющие символы запрещает.
Почему один код 24 знака, а другой 31
Это не разные коды, а разные записи одного и того же.
Код идентификации, КИ — 24 знака: 01 + GTIN + 21 +
серийный номер. Это то, что подаётся в документах «Честного знака»: ввод
в оборот, отчёт о нанесении, вывод из оборота.
Код маркировки, КМ — КИ плюс криптографическая часть, 31 знак. Это то, что физически зашито в Data Matrix и что выдаёт сканер при считывании.
Когда склад или контрагент говорит «ваш список не совпадает с тем, что мы сканируем», причина чаще всего именно здесь: у одной стороны КИ, у другой КМ. Сравнивать их напрямую нельзя — нужно либо обрезать считанный код до первых 24 знаков, либо передавать список в полном виде.
Что ломает Excel
Самая частая и самая незаметная поломка. Файл открыли в Excel, что-то поправили, сохранили — и разделитель с криптохвостом исчезли. Никакого предупреждения не будет, файл просто станет короче.
Как это выглядит со стороны:
• коды в файле короче, чем на этикетке — сохранили в xlsx, хвост
срезан;
• ведущий ноль GTIN пропал — ячейка осталась в числовом формате,
04600… стало 4600…;
• сканер код читает, а система его не находит — сравнивают КМ с КИ;
• в ячейке «кракозябры» вида _x001D_ — Excel записал
запрещённый символ своим способом.
Правило простое: коды передаются в txt или csv. Excel годится только тогда, когда в нём заведомо лежат КИ без криптографической части — как в выгрузках для документов «Честного знака».
Короткий чеклист
• Перед отправкой открыть файл в блокноте и посмотреть на длину строки:
24 знака — это КИ, 31 — КМ.
• Уточнять у принимающей стороны, что именно ей нужно, а не догадываться.
• Не пересылать коды через мессенджеры и тело письма — только вложением.
• Не «поправлять» файл кодов в Excel, даже если очень надо.
• Помнить, что регистр в серийном номере значащий.

Программа разбирает коды сама: понимает и КИ, и КМ, не теряет разделитель и проверяет коды до печати. Коды маркировки выдаются один раз — испорченная этикетка означает потраченный код, а не просто испорченную бумагу.
Скачать MarkPDF — 4 дня бесплатно, без карты. Windows, один файл, установка не нужна.
Попробовать без установки можно в онлайн-версии — печать прямо в браузере, регистрация не нужна.
Разбираться некогда — сделаем за вас: карточка товара в каталоге, заказ кодов, ввод в оборот и готовые наклейки. Посчитать стоимость можно на калькуляторе.
Что дальше. Разобравшись с кодом на единице товара, логично перейти к коробам и паллетам: «Агрегация: короба, паллеты и коды SSCC».
Источники
Состав и порядок блоков задаёт справочник идентификаторов применения GS1. Правила для российской маркировки — в документации «Честного знака».
Правила и перечни меняются: перед подготовкой сверьтесь с действующей редакцией и кодами своей номенклатуры.