Обувь маркируют дольше всех: «Честный знак» для этой категории запустили одним из первых, и потоки кодов здесь самые массовые. Типовой сценарий выглядит так: поставщик прислал каталог на триста моделей и отдельным файлом — выгрузку кодов на двенадцать тысяч пар. В каталоге одна строка — модель с размерным рядом, в выгрузке одна строка — одна пара, и внешне у этих файлов нет ничего общего. Разберём, как устроен обувной файл кодов, как разложить его по позициям каталога и какие ошибки встречаются в этой работе чаще всего. Юридические тонкости оставляем консультантам по маркировке — говорим только о формате данных.
Чем файл кодов обуви отличается от обычного прайса
В прайсе строка — это позиция: модель или связка «модель плюс размер». В выгрузке кодов строка — это одна конкретная пара обуви. Модель в пяти размерах, по две пары на размер, — это десять строк кодов при одной строке каталога. Отсюда главное расхождение объёмов: каталог на триста позиций оборачивается файлом на десятки тысяч строк.
Второе отличие — единица идентификации. GTIN, четырнадцатизначный код товара внутри DataMatrix, присваивается не модели целиком, а каждому размеру: у одной модели столько GTIN, сколько размеров в ряду. Поэтому сопоставить коды с каталогом «по наименованию» не выйдет в принципе — наименование у всех размеров одно и то же.
Третье — упаковочная иерархия. Обувь ездит коробами, и у каждого транспортного короба свой код. В неаккуратной выгрузке коды коробов лежат вперемешку с кодами пар, и отправленные не туда они ломают загрузку. Наконец, полупары: примерочные и комплектные позиции иногда учитываются в прайсе поштучно, тогда как код оформляется на пару. Это расхождение надо выявить до обмена файлами, а не после.
Как выглядит выгрузка кодов от поставщика
Чаще всего это CSV или XLSX, где одна колонка — полный код DataMatrix: четырнадцать цифр GTIN, затем серийный номер и криптографический хвост. Иногда код уже разбит на колонки: GTIN отдельно, серийник отдельно. Вокруг данных живёт служебная обвязка: шапка с реквизитами производства, строки-итоги, пустые строки-разделы, а то и коды коробов в том же столбце.

Вторая засада — обёртки. Код может прийти чистой строкой, а может — с идентификаторами применения в скобках: «(01)…(21)…». Ваша система обычно ждёт один конкретный вид, и приводить файл к нему придётся самостоятельно. Для ориентира — что из чего состоит:
| Фрагмент кода | Что внутри |
|---|---|
| GTIN | Первые 14 цифр — идентификатор связки «модель + размер» |
| Серийный номер | Уникальный номер конкретной пары внутри GTIN |
| Криптохвост | Проверочная часть кода, обрезать её нельзя |
Сопоставление GTIN с артикулом каталога
Связующее звено между файлом кодов и каталогом — GTIN. Попросите у поставщика таблицу соответствия «GTIN → артикул, размер» или соберите её из его каталога, если GTIN там присутствует. Держите это соответствие отдельным файлом и сверяйте по нему две вещи: каждому GTIN соответствует ровно один артикул, а каждому артикулу — ожидаемое число кодов.
Сверку ведите только по GTIN, не по наименованию и не по цене. Сам GTIN родственен обычному штрихкоду и болеет теми же болезнями: потерянный ведущий ноль, экспоненциальная запись, хвостовые пробелы — типовые поломки и лечение разобраны в статье про штрихкоды в прайсе. А если коды нужно не разово сверить, а постоянно держать рядом с ценами и остатками, эта механика описана в статье про коды «Честного знака» в прайсе.
Чистка и подготовка файла в конвертере
Когда соответствие «GTIN — артикул» есть, файл приводят к виду, который примет ваша учётная система. Откройте конвертер на странице подготовки кодов для «Честного знака» и загрузите выгрузку:
- Шаг «Структура»: укажите, с какой строки начинается таблица, и уберите служебную шапку и строки-разделы — иначе они попадут в данные и собьют сверку.
- Шаг «Колонки»: на колонку кода назначьте «Убрать пробелы» — хвостовые и неразрывные пробелы из выгрузок — и «Заменить текст» для обёрток вида «(01)» и «(21)». Лишние колонки удалите, оставшиеся переименуйте под ваш шаблон.
- Шаг «Фильтры»: отсейте строки, которые не тянут на код пары, — пустые, итоговые и коды транспортных коробов, по длине значения или по признаку в отдельной колонке, если поставщик её даёт.
- «Экспорт»: скачайте XLSX со значениями или CSV в UTF-8 с точкой с запятой.

Превью на каждом шаге показывает живые строки, так что масштаб чистки виден до скачивания. После регистрации настройку сохраните шаблоном: следующая выгрузка того же поставщика обработается в три клика. Похожая механика для одежды разобрана в статье про маркировку одежды — там свои нюансы с размерными рядами, а вот упаковочной иерархии с коробами, как у обуви, почти нет.
Типовые ошибки при подготовке файла кодов
- Потерян ведущий ноль GTIN. CSV открыли двойным кликом — Excel превратил код в число, и ноль исчез. Сверка по такому GTIN не находит ни одного артикула.
- Дубли кодов. Поставщик прислал выгрузку повторно, и она пересеклась с предыдущей. Один код на две пары — гарантированный конфликт при загрузке.
- Коды коробов в файле пар. Система ждёт коды единиц товара, а получает транспортные — пакет отклоняется целиком.
- Обрезанный криптохвост. Код перекопировали «до первых двадцати пяти символов» — такой код не читается сканером и не проходит проверку.
- Полупары посчитаны как пары. В прайсе два левых ботинка по отдельности, а код выписан на пару — количества не сойдутся никогда.

Частые вопросы
Поставщик прислал коды одним столбцом без артикулов — как понять, какой код к какой модели?
Никак, пока нет таблицы соответствия. Из каждого кода извлеките GTIN — первые четырнадцать цифр — и запросите у поставщика связку «GTIN → артикул, размер». По ней коды раскладываются по позициям каталога автоматически; вручную по наименованиям эта работа не делается.
В файле вперемешку коды пар и коробов — что делать?
Разделить до загрузки. Если у поставщика есть признак типа кода в отдельной колонке — отфильтруйте по нему. Если нет, ориентируйтесь на длину и структуру значения: транспортные коды отличаются форматом от кодов единиц товара. Отсейте лишние фильтром в конвертере и выгрузите пары отдельным файлом.
Excel превратил коды в числа вида 4,6E+12 — файл испорчен?
Отображение лечится сменой формата ячеек, но если это был CSV, открытый двойным кликом, длинные значения могли округлиться ещё при импорте — тогда хвосты кодов потеряны безвозвратно. Возьмите исходник у поставщика и обработайте его без Excel: конвертер хранит значения как текст и не превращает коды в числа.
Можно ли из каталога «модель, размеры 36–41» автоматически получить строки кодов?
Нет, и это принципиально: коды не генерируются из каталога, их выписывает производитель или импортёр на каждую произведённую пару. Каталог нужен для обратной задачи — разложить уже выданные коды по своим позициям через соответствие «GTIN — артикул».