Неверный формат кода маркировки: код маркировки товара должен содержать полный код маркировки, включая код проверки
Такое сообщение Честный ЗНАК показывает, когда в отчёт о нанесении попадает код без кода проверки — «криптохвоста» — или код, в котором система не смогла этот хвост найти. Чаще всего с ним сталкиваются, когда вносят коды в личном кабинете вручную: копируют из таблицы или считывают сканером прямо в форму.
Причина почти всегда одна из трёх: вместо полного кода вставлен код идентификации, потерялись невидимые разделители или код испортился по дороге — в Excel, из-за раскладки клавиатуры или регистра. Разберём, как отличить одно от другого и что делать.
Коротко: что не так с кодом
Посмотрите на код, который не приняла система, и найдите свой случай в таблице.
| Как выглядит код | В чём дело | Что делать |
|---|---|---|
| Заканчивается на серийном номере, дальше ничего нет | Это код идентификации — без кода проверки | Взять полный код из файла заказа или считать с этикетки |
| «Хвост» есть, но код всё равно не принят | При сканировании или вставке потерялся разделитель GS | Загрузить коды файлом CSV или настроить сканер |
| Вместо латинских букв — русские, заглавные и строчные перепутаны | Сканер работал в русской раскладке или с включённым Caps Lock | Считать код заново в английской раскладке |
| Пропал ведущий ноль, цифры превратились в запись вида 1,05E+30 | Код испортил Excel | Открыть исходный файл в текстовом редакторе |
| Вокруг 01 и 21 стоят скобки, между частями пробелы | Код записан в «читаемом» виде | Убрать скобки и пробелы |
Полные коды с кодом проверки сервис получает из заказа и сам передаёт их в отчёте о нанесении. Копировать коды в личный кабинет, сканировать их в форму и готовить файл CSV не нужно — ошибке формата неоткуда взяться.
Попробовать Трумарк бесплатно →Полный функционал на 7 дней, без обязательств
Что такое полный код маркировки и код проверки
Код, который напечатан на этикетке в виде Data Matrix, состоит из двух частей.
- Код идентификации — «имя» конкретной единицы товара: идентификатор 01 и код товара (GTIN, 14 цифр), затем идентификатор 21 и серийный номер.
- Код проверки — «криптохвост», которым система подтверждает подлинность кода.
Вместе они и есть полный код маркировки. Честный ЗНАК описывает два его вида:
| Вид кода | Из чего состоит |
|---|---|
| Стандартный | 01 + GTIN + 21 + серийный номер + GS + 91 + 4 символа + GS + 92 + 44 символа |
| Укороченный | 01 + GTIN + 21 + серийный номер + GS + 93 + 4 символа |
У обуви код проверки длиннее: после идентификатора 92 идут 88 символов.
GS — служебный символ-разделитель, двадцать девятый в таблице ASCII. На экране его не видно, но для системы он обязателен: по нему она понимает, где кончился серийный номер и начался код проверки.
Код идентификации: 01 04601234567890 21 5aBcDe
Полный код маркировки: 01 04601234567890 21 5aBcDe [GS] 93 AbC1
Пробелы в примере поставлены для наглядности — в настоящем коде их нет, а [GS] — один невидимый символ. Длина серийного номера зависит от товарной группы. Подробно структура разобрана в статье о кодах маркировки и кодах идентификации, а собрать и проверить Data Matrix можно в генераторе GS1 DataMatrix.
Где возникает ошибка
Сообщение появляется там, где системе нужен именно полный код, а она получает что-то другое.
- Отчёт о нанесении в личном кабинете — самый частый случай. Отчёт подаётся в разделе «Управление заказами» → «Документы» → вкладка «Отчёты». На втором шаге коды добавляют вручную в поле или загружают файлом CSV — и именно здесь код проверяется на формат.
- Отчёт о нанесении из учётной программы. Проверку выполняет Честный ЗНАК, программа только передаёт ответ, поэтому текст будет тем же.
- Чеки и другие документы. У похожих проверок там свои формулировки — «Неверный код маркировки», «Криптохвост не найден или некорректен». Они собраны в таблице ниже.
Важно. Честный ЗНАК отдельно предупреждает: разделитель GS — специальный символ, и если внести его текстом с клавиатуры, код будет обработан с ошибкой. Набрать полный код маркировки на клавиатуре не получится.
Причина 1. Вставлен код идентификации вместо кода маркировки
Самая частая причина. Код скопировали оттуда, где кода проверки нет:
- из раздела «Коды маркировки» личного кабинета или выгрузки из него;
- из УПД, накладной или другого документа;
- из учётной системы, которая хранит только коды идентификации.
Честный ЗНАК хранит и показывает коды идентификации — без криптохвоста. Этого хватает для отгрузки и вывода из оборота, но не для отчёта о нанесении. Восстановить код проверки по коду идентификации нельзя: он формируется криптографически при выпуске кода.
Полный код есть в трёх местах:
- в файле, который вы получили из заказа кодов;
- в программе, через которую заказывали и печатали коды;
- на самой этикетке — в Data Matrix.
Если коды получены из заказа в виде PDF или напечатаны в типографии, файла с символьной записью у вас нет. Честный ЗНАК в этом случае советует считать Data Matrix сканером или мобильным приложением — «Чекмарк» либо «Честный ЗНАК.Бизнес». Запрашивать файл у типографии бесполезно: передавать полные коды с кодом проверки она не вправе.
Тот же приём работает, когда этикетка есть, а исходный файл потерян, — как при повторной печати кода маркировки.
Причина 2. Потерялся разделитель GS
Вторая причина коварнее: код считан с этикетки целиком, криптохвост на месте, а система его всё равно не видит.
Дело в символе GS. Сканер, работающий как клавиатура, «печатает» символы в поле ввода. GS — не буква и не цифра, а управляющий символ, и клавиши для него нет. В зависимости от настроек сканер его пропускает, заменяет другим знаком или отправляет сочетанием клавиш, которое браузер не воспринимает. В форму попадает код, склеенный без разделителей.
Без GS система читает серийный номер «до упора»: к нему прилипают идентификатор 93 или 91 и всё, что идёт дальше. Серийный номер получается длиннее положенного, а кода проверки как будто нет. В классификации Честного ЗНАКа у этих ситуаций есть свои названия — «Без разделителя GS» и «Серийный номер больше ожидаемой длины».
Что делать
- Загружать коды файлом, а не вставлять в поле. На втором шаге отчёта о нанесении коды можно добавить файлом CSV — до 30 000 в одном отчёте. Образцы таких файлов для стандартного и укороченного кода есть в базе знаний Честного ЗНАКа.
- Брать коды из файла заказа. В нём разделители сохранены. Открывайте файл в текстовом редакторе, а не в Excel.
- Настроить сканер. В настройках большинства сканеров можно включить передачу GS — в инструкциях он называется GS, FNC1 или «групповой разделитель». Результат проверяйте в редакторе, который показывает служебные символы, например в Notepad++.
В Трумарке. Отчёт о нанесении сервис отправляет сам — с полными кодами из заказа, в которых все разделители на месте. Сканер и форма личного кабинета в этом не участвуют.
Причина 3. Код повреждён: раскладка, регистр, Excel
Третья группа причин — код дошёл до системы не таким, каким был напечатан. Серийный номер и код проверки чувствительны к каждому символу и к регистру букв.
| Что случилось | Как это выглядит | Как избежать |
|---|---|---|
| Русская раскладка при сканировании | Латинские буквы заменены русскими, знаки препинания — другими | Перед сканированием переключить раскладку на английскую |
| Включён Caps Lock | Заглавные и строчные буквы поменялись местами | Выключить Caps Lock; в классификации Честного ЗНАКа это «инверсия регистра» |
| Файл открыт в Excel | Пропал ведущий ноль, длинные числа записаны как 1,05E+30 | Работать с кодами в текстовом редакторе; в Excel — только текстовый формат столбца |
| Код обрезан | Криптохвост короче положенного или отсутствует | Копировать код целиком, не ограничивать ширину столбца и длину поля |
| Несколько кодов подряд | Два кода в одной строке без разделителя | Один код — одна строка файла |
| Скобки и пробелы | Код записан как (01)…(21)… | Указывать код без скобок вокруг идентификаторов и без пробелов |
Проще всего такие повреждения ловить на глаз в текстовом редакторе: правильный код начинается с 01, за ним идут 14 цифр кода товара, затем 21 и серийный номер, в котором встречаются только латинские буквы, цифры и знаки.
Как проверить код перед отправкой
Проверка занимает минуту и экономит повторную подачу отчёта.
- Начало кода. Первые два символа — 01, следом 14 цифр кода товара. Если код начинается с другой цифры или в нём 13 цифр вместо 14, пропал ведущий ноль.
- Серийный номер. После кода товара идёт 21 и серийный номер. Русских букв в нём быть не может.
- Код проверки. После серийного номера должно идти продолжение: 93 и ещё 4 символа либо 91 и 92 с длинной последовательностью. Если код заканчивается серийным номером — это код идентификации.
- Разделители. В текстовом редакторе с показом служебных символов перед 93, 91 и 92 должен стоять GS.
Быстрее — проверить код сервисом. Бесплатная проверка кода маркировки на нашем сайте подсветит части кода и покажет, если у него нет кода проверки или нарушена структура. Код можно вставить строкой или отсканировать камерой телефона.
Как исправить ошибку: порядок действий
- Определите, откуда взяты коды. Если из раздела «Коды маркировки», из УПД или из выгрузки — это коды идентификации, и нужен другой источник.
- Найдите полные коды. Файл из заказа кодов или программа, через которую вы их получали. Если есть только этикетки — считайте с них Data Matrix сканером или приложением.
- Проверьте один код. Убедитесь, что в нём есть код проверки и разделители, — по шагам из предыдущего раздела.
- Подготовьте файл CSV с полными кодами и загрузите его в отчёт вместо ручного ввода.
- Отправьте отчёт и подпишите его. После этого проверьте результат: отчёт может быть обработан частично — тогда статус «Нанесён» получат только коды без ошибок, а по остальным понадобится новый отчёт.
Что происходит с кодом после отчёта о нанесении и какой шаг следующий — в статье о статусах кодов маркировки.
Где нужен полный код, а где — код идентификации
Обратная ошибка встречается не реже: полный код с криптохвостом вставляют туда, где нужен код идентификации. Например, в УПД — и документ отклоняется.
| Где | Какой код нужен |
|---|---|
| Печать этикеток | Полный код маркировки |
| Отчёт о нанесении | Полный код маркировки |
| Продажа через кассу | Полный код маркировки — касса считывает его с этикетки |
| УПД и другие документы ЭДО | Код идентификации, без кода проверки |
| Ввод в оборот, вывод из оборота, списание | Код идентификации |
| Формирование упаковок и наборов | Код идентификации |
В XML-файле УПД у кодов есть и своя особенность: символы «меньше», «больше», амперсанд, апостроф и кавычки нужно экранировать, а скобки вокруг идентификаторов ставить нельзя. Примеры — в статье с образцами УПД.
Похожие ошибки: «Неверный код маркировки» и другие
У проверок формата в разных документах свои коды и тексты. Причина у всех общая — код записан не так, как его ждёт система.
| Сообщение | Где встречается | Что проверяется |
|---|---|---|
| 79: Неверный код маркировки | УПД, чеки, формирование упаковки, списание | Длина кода и допустимые символы |
| 03: Недопустимо указывать скобки для идентификаторов применения AI 01, 21, 8005 | УПД | Код записан со скобками |
| 79: Идентификаторы применения должны быть указаны без обрамляющих скобок | Формирование упаковки | Скобки в коде транспортной упаковки |
| 126: Криптохвост не найден или некорректен | Чеки | Касса передала код без кода проверки или с повреждённым |
| 22: Коды маркировки не найдены | УПД, чеки, формирование упаковки | Код записан правильно по форме, но в системе такого нет — разбор ошибки 22 |
Полный список — на странице «Коды ошибок Честного ЗНАКа».
Как Трумарк избавляет от ошибок формата
Ошибка формата — следствие того, что коды переносят между программами руками: из файла в форму, со сканера в таблицу. В Трумарке коды не покидают сервис.
- Заказ и печать. Коды заказываются в сервисе и сразу уходят в печать — полные, с кодом проверки.
- Отчёт о нанесении. Сервис подаёт его сам: полные коды берутся из заказа, а не из буфера обмена.
- Ввод в оборот и УПД. В эти документы сервис подставляет коды идентификации — без кода проверки, как и требует Честный ЗНАК. Перепутать, где какой код нужен, не получится.
А перед каждым шагом сервис сверяет коды с Честным ЗНАКом.
| Шаг | Что Трумарк проверяет до отправки | Что вы видите |
|---|---|---|
| Отчёт о нанесении | Статус каждого кода в Честном ЗНАКе | Уже нанесённые коды повторно не отправляются. Списанные исключаются с пометкой «Код списан в Честном ЗНАКе. Нанесение невозможно» |
| Ввод в оборот | Статус и владельца: код должен быть «Нанесён» и числиться за вашей компанией | «Все коды в корректном статусе» либо «Кодов в некорректном статусе» с числом и причиной по каждому коду |
| Агрегация | Статус, владельца и то, не лежит ли код уже в другой упаковке | Причину по каждому коду: чужой код, неподходящий статус, «Код уже находится в составе упаковки» |
| УПД | Статус «В обороте» и владельца каждого кода | Причину по каждому коду — до того, как документ ушёл покупателю |
Как устроен процесс целиком — на странице для производителей.
Попробовать Трумарк бесплатно →Полный функционал на 7 дней, без обязательств
Частые вопросы о формате кода маркировки
Не нашли ответ — напишите нам через форму на странице «Контакты» или оставьте заявку прямо здесь.
Что значит «Неверный формат кода маркировки»?
Система ждала полный код маркировки, а получила код без кода проверки или код, в котором не смогла его найти. Обычно причина одна из трёх: вставлен код идентификации без «криптохвоста», при вводе потерялся разделитель GS, или код испорчен — раскладкой клавиатуры, регистром либо Excel.
Что такое код проверки в коде маркировки?
Это последняя часть кода — «криптохвост», который подтверждает подлинность кода. Он бывает коротким: идентификатор 93 и 4 символа. И длинным: идентификатор 91 с четырьмя символами и идентификатор 92 с 44 символами, у обуви — с 88. Перед кодом проверки стоит невидимый разделитель GS.
Чем код маркировки отличается от кода идентификации?
Код идентификации — это код товара (GTIN) и серийный номер: по нему единица товара числится в Честном ЗНАКе. Код маркировки — это код идентификации плюс код проверки. Полный код нужен для печати этикеток, отчёта о нанесении и продажи через кассу, в остальных документах указывают код идентификации.
Где взять полный код маркировки с кодом проверки?
В файле, который вы получили из заказа кодов, в программе, через которую заказывали и печатали коды, или на самой этикетке: полный код зашит в Data Matrix. В разделе «Коды маркировки» личного кабинета хранятся только коды идентификации — кода проверки там нет.
Можно ли восстановить код проверки по коду идентификации?
Нет. Код проверки формируется криптографически при выпуске кода, вычислить его по серийному номеру нельзя. Если файл с кодами не сохранился, код считывают с этикетки сканером или приложением.
Почему сканер считывает код без разделителей GS?
Сканер в режиме клавиатуры «печатает» символы в поле ввода, а GS — управляющий символ, для которого клавиши нет. В зависимости от настроек сканер его пропускает или заменяет. Честный ЗНАК прямо предупреждает: если внести GS текстом с клавиатуры, код обработается с ошибкой.
Почему код из Excel не принимается?
Excel считает код числом: убирает ведущий ноль, превращает длинную последовательность цифр в запись вида 1,05E+30 и теряет служебные символы. Открывайте файл с кодами в текстовом редакторе, а в Excel храните столбец с кодами в текстовом формате.
Что значит ошибка 79 «Неверный код маркировки»?
Это проверка формата кода в документах и чеках: длина или символы кода не соответствуют правилам. Причины те же — код обрезан, испорчен при копировании или записан со скобками и пробелами. Исправляется заменой кода на корректный и отправкой нового документа.
Сколько кодов можно указать в одном отчёте о нанесении?
В личном кабинете Честного ЗНАКа — от 1 до 30 000 кодов в одном отчёте. Коды добавляют в поле вручную или загружают файлом в формате CSV.
Как подать отчёт о нанесении без ошибки формата?
Загружать коды файлом из заказа, а не вводить их в поле вручную или сканером. В Трумарке отчёт о нанесении сервис подаёт сам: полные коды с кодом проверки берутся из заказа, поэтому разделители и криптохвост не теряются.
