Онлайн-инструмент формирует линейный 1D штрихкод и создает готовый код UPC-A для машинного считывания по заданной цифровой последовательности. Базовая операция сводится к точному переводу числового идентификатора товара в графический символ из чередующихся темных штрихов и светлых пробелов. Пользователь вводит числовые данные, а система автоматически выстраивает геометрию полос нужной кратной ширины. Полученное изображение полностью готово к безошибочному оптическому распознаванию кассовыми и складскими сканерами.
В качестве исходного значения используется стандартный 12-значный идентификатор формата GTIN-12 или UCC-12. Строгая фиксация пропорций каждого элемента исключает сбои при считывании лазерным или фотосканером на кассовых узлах и при размещении на товарной упаковке.
В процессе генерации штрихового символа инструмент выполняет следующие базовые операции с данными:
- Прием числовой последовательности из 12 разрядов или 11 значащих цифр для автоматического вычисления последнего контрольного знака.
- Кодирование каждой цифры определенной комбинацией штрихов и пробелов в строгом соответствии со спецификацией GS1.
- Формирование графического макета с краевыми и центральными ограничителями, а также дублирующей строкой цифр под штрихами для визуального контроля.
Готовый макет штрихкода сразу пригоден для размещения на розничной этикетке, упаковке или в товаросопроводительной документации.
Спецификация и структура 12-значного кода UPC-A
Стандарт штрихового кодирования UPC-A развивается и поддерживается международной организацией GS1, которая ранее действовала под названием UCC. Спецификация этого формата устанавливает жесткие требования к составу и длине входной строки. В отличие от алфавитно-цифровых символик, стандарт допускает использование исключительно цифровых данных (numeric data) из базового диапазона от 0 до 9.
Попытка передать на кодирование буквы, дефисы, пробелы или специальные знаки противоречит базовой спецификации формата. Длина идентификатора строго фиксирована и всегда составляет ровно 12 разрядов. Если исходный номер содержит меньше символов, он не может быть представлен в виде стандартного штрихкода UPC-A без предварительного дополнения до полной структуры GTIN-12.
Каждая цифра внутри 12-разрядной последовательности занимает строго определенную позицию и несет конкретную информационную нагрузку. Вся структура номера GTIN-12 делится на четыре логических блока, которые объединяют данные о категории продукции, правообладателе бренда, конкретной товарной позиции и проверочном значении.
Позиционное распределение разрядов в структуре идентификатора выглядит следующим образом:
| Позиция разряда | Структурный элемент | Назначение в системе кодирования |
|---|---|---|
| 1 | Старший разряд (цифра системы счисления) | Определяет общую категорию товара или специфику обращения упаковки |
| 2-11 (переменная граница) | Префикс компании GS1 (Manufacturer Code) | Уникальный идентификатор производителя или владельца товарного знака |
| 2-11 (оставшиеся разряды) | Код товара (Product Code) | Внутренний номер конкретной товарной единицы, назначаемый производителем |
| 12 | Контрольный разряд (check digit) | Завершающая цифра для аппаратной проверки безошибочности считывания |
Роль каждого блока в структуре номера
Первый (старший) разряд располагается в самом начале последовательности и выступает ключом к классификации маркируемого объекта. По значению этой цифры учетные системы определяют тип номенклатуры: стандартная розничная продукция, весовые товары с переменной массой, медикаменты, купоны или зарезервированные категории.
Следующие десять разрядов (с 2-й по 11-ю позицию включительно) формируют единое информационное поле, которое делится между префиксом компании GS1 и кодом самого товара. Префикс компании (Manufacturer Code) официально выделяется организации-производителю или дистрибьютору региональным представительством GS1. Длина этого префикса зависит от масштаба ассортимента предприятия: чем больше различных товаров выпускает компания, тем короче ее префикс, что оставляет больше свободных разрядов для нумерации самой продукции.
Код товара (Product Code) занимает оставшиеся позиции внутри центрального десятизначного блока сразу после префикса предприятия. Производитель распределяет эти номера самостоятельно в рамках выделенного ему диапазона. Каждой уникальной модификации продукта - отличающейся весом, объемом, цветом или вкусом - присваивается отдельный числовой код, чтобы исключить путаницу при приемке и продаже.
Замыкает последовательность 12-й контрольный разряд (check digit). Эта цифра не несет описательной информации о производителе или свойствах продукта, а выполняет исключительно проверочную функцию. Ее значение жестко привязано к первым одиннадцати цифрам и позволяет сканирующему оборудованию мгновенно удостовериться, что штрихкод распознан без оптических искажений.
Для подготовки корректной цифровой последовательности перед формированием штрихкода необходимо соблюдать базовые правила компоновки данных:
- Использовать только арабские цифры без разделительных пробелов, точек или скобок между структурными блоками.
- Точно соблюдать общую сумму разрядов, выделенных под префикс предприятия и артикул товара, которая в совокупности со старшим разрядом должна составлять ровно 11 знаков до контрольного числа.
- Исключать произвольную замену любой цифры в утвержденном номере GTIN-12, так как изменение даже одного знака делает завершающий контрольный разряд недействительным.
Алгоритм расчета контрольной цифры по модулю 10
Завершающий 12-й знак идентификатора UPC-A рассчитывается строго по математическому правилу Modulo 10. При машинном считывании сканер заново вычисляет это значение на основе первых 11 распознанных цифр и сверяет полученный результат с фактическим 12-м разрядом. Если числа совпадают, целостность данных подтверждается; при расхождении сигнал блокируется, что предотвращает передачу ошибочного артикула из-за бликов, потертостей или сбоя при ручном вводе.
Пошаговая формула расчета на основе первых 11 знаков последовательности (нумерация позиций ведется слева направо) включает четыре арифметических этапа:
- Суммирование цифр, расположенных на нечетных позициях (1, 3, 5, 7, 9 и 11), и умножение полученного промежуточного итога на весовой коэффициент 3.
- Отдельное сложение всех цифр, стоящих на четных позициях (2, 4, 6, 8 и 10), без дополнительного умножения.
- Объединение результатов первого и второго шагов в общую контрольную сумму.
- Определение искомого 12-го разряда как минимального числа, которое нужно прибавить к общей сумме, чтобы довести ее до ближайшего значения, кратного 10. В математической записи это соответствует вычитанию остатка от деления общей суммы на 10 из числа 10 (если остаток равен нулю, контрольная цифра также принимает значение 0).
Позиционный разбор и числовой пример вычисления
Для демонстрации работы алгоритма возьмем учебную 11-значную последовательность без завершающего проверочного знака: 03600029145. Распределение разрядов по четным и нечетным позициям для данной комбинации выглядит следующим образом:
| Позиция разряда | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Значение цифры | 0 | 3 | 6 | 0 | 0 | 0 | 2 | 9 | 1 | 4 | 5 | X |
| Тип позиции | Нечет | Чет | Нечет | Чет | Нечет | Чет | Нечет | Чет | Нечет | Чет | Нечет | Контроль |
| Весовой множитель | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | - |
Последовательная подстановка значений из таблицы в формулу Modulo 10 дает точное значение замыкающего знака X:
- Расчет по нечетным позициям: (0 + 6 + 0 + 2 + 1 + 5) = 14. Умножение суммы на утроенный вес: 14 × 3 = 42.
- Расчет по четным позициям: 3 + 0 + 0 + 9 + 4 = 16.
- Сложение двух полученных сумм: 42 + 16 = 58.
- Вычисление контрольного числа: ближайшее к 58 верхнее число, делящееся на 10 без остатка - это 60. Разница между ними составляет: 60 − 58 = 2. (Альтернативный способ через остаток от деления: 58 mod 10 = 8; 10 − 8 = 2).
Итоговый контрольный разряд равен 2, а полный валидный 12-значный номер GTIN-12 принимает вид 036000291452.
Особое внимание при ручной проверке следует уделять пограничному случаю, когда общая сумма на третьем шаге уже заканчивается на ноль (например, равна 50, 70 или 90). Поскольку такое число изначально кратно 10, прибавлять к нему ничего не требуется, и на 12-ю позицию ставится цифра 0, а не 10. Чередование весовых коэффициентов 3 и 1 в структуре алгоритма выбрано специально: оно позволяет выявлять как одиночные ошибки замены любой цифры, так и большинство транспозиций - случайных перестановок двух соседних знаков местами при наборе номера оператором.
Геометрическая архитектура и кодирование штрихов
После того как полный 12-значный номер сформирован и проверен математически, числовая последовательность переводится в графический символ, понятный оптическим датчикам. Визуальное построение штрихкода UPC-A подчиняется жесткой модульной сетке, где ширина каждого темного штриха и светлого промежутка строго пропорциональна базовой единице измерения.
Элементарный модуль и линейная структура символа
Фундаментальной единицей построения графического кода выступает элементарный модуль, обозначаемый как масштаб X. Это ширина самого узкого отдельного штриха или пробела в составе символа. Все остальные элементы штрихкода не могут иметь произвольную толщину - их горизонтальные размеры всегда кратны величине X и составляют ровно 1, 2, 3 или 4 модуля. В двоичном представлении один темный модуль соответствует логической единице (1), а один светлый модуль одинаковой ширины - логическому нулю (0).
Общая рабочая область символов и служебных знаков UPC-A состоит ровно из 95 элементарных модулей. Эти 95 участков распределяются между информационными разрядами и техническими ограничителями в следующем порядке:
- Левый краевой ограничитель (start guard bars) занимает 3 модуля и имеет чередование «штрих - пробел - штрих» (двоичный шаблон 101). Он сигнализирует сканирующему лучу о начале информационной зоны кода.
- Левая группа данных включает первые 6 цифр номера (с 1-й по 6-ю позицию). На каждую цифру отводится по 7 модулей, что в сумме дает 42 модуля.
- Центральный разделительный шаблон (center guard pattern) занимает 5 модулей и строится по схеме «пробел - штрих - пробел - штрих - пробел» (шаблон 01010). Он физически и логически делит символ на две равные половины, синхронизируя считывание.
- Правая группа данных объединяет оставшиеся 6 цифр (с 7-й по 12-ю позицию, включая контрольный разряд). Как и слева, шесть знаков по 7 модулей занимают в сумме 42 модуля.
- Правый краевой ограничитель (stop guard bars) состоит из 3 модулей с чередованием «штрих - пробел - штрих» (шаблон 101), отмечая границу завершения штрихового кода.
Сложение всех функциональных участков дает неизменную сумму: 3 + 42 + 5 + 42 + 3 = 95 модулей. Визуально штрихи краевых и центрального ограничителей обычно выступают вниз чуть дальше основных информационных полос, обрамляя числовые блоки.
Принцип семимодульного кодирования и оптическая четность
Каждая из двенадцати цифр от 0 до 9 кодируется собственной уникальной комбинацией из 7 элементарных модулей. Независимо от конкретного числового значения, внутри этих 7 модулей всегда формируются ровно два темных штриха и два светлых пробела. Меняется только их индивидуальная ширина, которая варьируется от 1 до 4 модулей в рамках общей суммы, равной семи.
Ключевая особенность архитектуры UPC-A заключается в том, что одна и та же цифра в левой и правой половинах кода рисуется по-разному. Между левой и правой частями действует правило оптической инверсии и разной четности (parity):
- Символы левой половины (позиции 1-6) строятся по шаблонам нечетной четности (L-коды). Каждый такой знак всегда начинается со светлого пробела и заканчивается темным штрихом, а суммарное количество темных модулей (единиц) внутри семимодульного блока всегда нечетное - 3 или 5.
- Символы правой половины (позиции 7-12) формируются путем побитовой оптической инверсии левых шаблонов (R-коды): все светлые участки заменяются темными, а темные - светлыми. В результате знаки справа всегда начинаются с темного штриха и заканчиваются светлым пробелом, а сумма темных модулей в каждом знаке становится четной - 2 или 4.
Ниже приведена полная таблица распределения 7-модульных шаблонов и ширины элементов для левой и правой половин символа UPC-A:
| Цифра | Левая половина (L-код, нечетная четность) | Структура элементов слева (пробел-штрих-пробел-штрих) | Правая половина (R-код, четная четность) | Структура элементов справа (штрих-пробел-штрих-пробел) |
|---|---|---|---|---|
| 0 | 0001101 | 3 - 2 - 1 - 1 | 1110010 | 3 - 2 - 1 - 1 |
| 1 | 0011001 | 2 - 2 - 2 - 1 | 1100110 | 2 - 2 - 2 - 1 |
| 2 | 0010011 | 2 - 1 - 2 - 2 | 1101100 | 2 - 1 - 2 - 2 |
| 3 | 0111101 | 1 - 4 - 1 - 1 | 1000010 | 1 - 4 - 1 - 1 |
| 4 | 0100011 | 1 - 1 - 3 - 2 | 1011100 | 1 - 1 - 3 - 2 |
| 5 | 0110001 | 1 - 2 - 3 - 1 | 1001110 | 1 - 2 - 3 - 1 |
| 6 | 0101111 | 1 - 1 - 1 - 4 | 1010000 | 1 - 1 - 1 - 4 |
| 7 | 0111011 | 1 - 3 - 1 - 2 | 1000100 | 1 - 3 - 1 - 2 |
| 8 | 0110111 | 1 - 2 - 1 - 3 | 1001000 | 1 - 2 - 1 - 3 |
| 9 | 0001011 | 3 - 1 - 1 - 2 | 1110100 | 3 - 1 - 1 - 2 |
Такое зеркальное разделение по четности решает сразу две инженерные задачи. Во-первых, на стыках цифр и ограничителей никогда не сливаются однородные поля: например, после последнего темного штриха 6-й цифры обязательно идет первый светлый пробел центрального шаблона 01010, а после его замыкающего пробела сразу начинается темный штрих 7-й цифры. Во-вторых, разница в четности между половинами обеспечивает двунаправленность считывания. Если товар проводят перед сканером вверх ногами (справа налево), декодер фиксирует четные комбинации в начале чтения, распознает перевернутую ориентацию и программно разворачивает считанную последовательность в правильный порядок без участия человека.
Роль человекочитаемого текста
В нижней части символа, непосредственно под графической решеткой, располагается строка человекочитаемого текста (Human readable text). Она дублирует зашифрованный 12-значный номер обычными арабскими цифрами.
Оптические сканеры не распознают эти печатные цифры - датчики считывают исключительно отраженный свет от штрихов и пробелов. Текстовая подпись выполняет резервную и сервисную функцию: если штриховое полотно физически повреждено, стерто, залито краской или смято на сгибе упаковки, оператор или сотрудник склада может визуально прочитать номер GTIN-12 и ввести все 12 цифр вручную с клавиатуры терминала. В классической компоновке UPC-A первая цифра системы счисления выносится за пределы левого ограничителя, две группы по пять цифр размещаются в нишах слева и справа от центрального разделителя, а 12-й контрольный разряд печатается справа за замыкающими штрихами.
Требования к считываемости, зонам тишины и контрасту
Математически верное построение чередующихся полос еще не гарантирует, что созданный символ UPC-A будет мгновенно распознан лазерным или линейным фотосканером в реальных условиях эксплуатации. Чтобы луч считывателя безошибочно отделил графический код от оформления упаковки и преобразовал отраженный сигнал в цифровую последовательность, готовый макет на физическом носителе должен соответствовать оптическим и геометрическим нормативам стандарта GS1. Нарушение этих параметров при дизайне этикетки или печати приводит к рискам отказа сканирования (scan risks), когда оборудование не видит метку с первого раза.
Свободные зоны вокруг символа
Слева от стартового и справа от финального ограничителя обязательно оставляют пустые непечатаемые поля - зоны тишины (quiet zones). Согласно спецификации GS1 для символики UPC-A, минимальная ширина каждой боковой свободной зоны должна составлять не менее 9-кратной ширины элементарного модуля X.
Свободные поля выполняют роль оптического буфера и точки отсчета для декодера. Когда сканирующий луч пересекает этикетку, датчик сначала фиксирует стабильное высокое отражение света от чистой поверхности зоны тишины, калибруя базовый уровень белого фона. Только после прохождения этого однородного участка шириной минимум 9X сканер воспринимает первый темный штрих краевого ограничителя как начало полезного сигнала. Поскольку первая цифра системы счисления и 12-й контрольный разряд в формате UPC-A часто выносятся за пределы решетки, ширину свободных зон нужно контролировать особенно внимательно. Размещение рамок, текста состава, сгибов коробки или декоративных элементов дизайна ближе чем на 9 модулей к крайним штрихам заставляет декодер воспринимать постороннюю графику как часть кода и блокирует распознавание.
Высота полос и всенаправленное сканирование
Линейному ручному сканеру для декодирования теоретически достаточно провести тонкую линию поперек всех 95 модулей кода. Однако на современных кассовых узлах с высокой пропускной способностью используются стационарные многоплоскостные (всенаправленные) сканеры. Такие устройства проецируют плотную сетку лазерных лучей под разными углами, чтобы кассиру не приходилось выравнивать товар вручную.
Для работы всенаправленного считывания критическое значение приобретает высота штрихов (Bar height). В архитектуре UPC-A левая и правая половины символа могут считываться двумя независимыми лучами, пересекающими код по диагонали, после чего декодер программно склеивает оба фрагмента в единый номер GTIN-12. Чтобы хотя бы один луч гарантированно пересек каждую половину кода от края до центрального разделителя, отношение высоты полос к ширине символа должно оставаться близким к стандарту. Произвольное подрезание штрихов по вертикали (усечение высоты ради экономии места на узкой этикетке) резко сужает рабочий угол захвата: товар приходится подносить к окну сканера строго горизонтально, что замедляет обслуживание.
Цветовой контраст и спектральная чувствительность
Оптические считыватели различают штрихи и пробелы исключительно по разнице коэффициентов отражения света. Большинство лазерных и светодиодных сканеров работают в красном спектре видимого излучения (длина волны в районе 630-670 нанометров). Эта физическая особенность накладывает жесткие ограничения на выбор цветов при оформлении упаковки.
Темные штрихи должны поглощать красный свет, а светлый фон (включая пробелы и зоны тишины) - максимально его отражать. Если напечатать штрихи красной, оранжевой или желтой краской на белом фоне, в красном свете лазера полосы полностью сольются с подложкой и станут невидимыми для датчика. Обратная ситуация возникает при использовании темных или металлизированных фонов: зеркальная фольга дает блики, а темно-синяя или бордовая бумага поглощает луч так же сильно, как и сами штрихи, уничтожая контраст. Также в стандарте UPC-A запрещена инверсия цветов, когда светлые штрихи печатаются на темном фоне.
Ниже приведена совместимость базовых цветовых сочетаний при считывании стандартным красным лазером:
| Элемент символа UPC-A | Оптимальные цвета | Недопустимые цвета и материалы | Физическая причина отказа считывания |
|---|---|---|---|
| Штрихи (темные полосы) | Черный, темно-синий, темно-зеленый, густой темно-коричневый | Красный, оранжевый, желтый, розовый, золотистый, светло-серый | Красные и теплые оттенки отражают красный луч сканера так же, как белый фон; штрихи перестают фиксироваться датчиком |
| Фон и зоны тишины | Чистый белый, светло-бежевый, пастельно-желтый, неокрашенный светлый картон | Черный, синий, темно-зеленый, зеркальный хром, прозрачная пленка без белой плашки | Темный фон поглощает свет лазера вместо его отражения, снижая контраст до нуля; прозрачная пленка пропускает цвет содержимого упаковки |
Перенос на носитель: разрешение печати и растискивание краски
При переносе цифрового макета на бумажную этикетку, картон или полимерную пленку точность геометрии зависит от технологии печати. Поскольку соотношение ширины штрихов и пробелов (от 1 до 4 модулей) декодируется с микронной точностью, малейшее смещение границ полос искажает зашифрованные цифры. Основные технологические факторы, вызывающие брак при печати, включают следующие явления:
- Растискивание краски (ink spread / press gain). При флексографской, офсетной или струйной печати жидкая краска впитывается в волокна бумаги или растекается под давлением печатного вала. В результате темные штрихи становятся толще проектного размера за счет соседних светлых пробелов. Если одномодульный пробел заплывает краской более чем наполовину, сканер воспринимает два соседних штриха как один широкий элемент и выдает ошибку чтения.
- Несоответствие разрешения принтера масштабу модуля X. При печати на термо- и термотрансферных принтерах ширина самого узкого штриха должна состоять из целого числа точек печатающей головки. Если расчетная ширина модуля X составляет, например, 3,4 точки принтера, устройство округлит одни штрихи до 3 точек, а другие до 4. Такое искажение нарушает пропорции внутри 7-модульной матрицы символа.
- Ориентация волокон и направления печати. При нанесении кода на гофрокартон или рулонные этикетки с низкой четкостью печати штрихи рекомендуется располагать параллельно направлению движения ленты (продольная печать). При поперечном расположении дефекты клише или выгоревшие пиксели термоголовки оставляют белые полосы поперек всех штрихов, тогда как при продольной печати дефектный пиксель попадет только вдоль одного штриха или пробела, сохранив читаемость остального кода по высоте.
Применение штрихкодов UPC-A в розничной торговле и складском учете
Соблюдение технических допусков при печати обеспечивает безотказное считывание кода на всех этапах движения продукции от производственной линии до конечного покупателя. Полученный графический символ UPC-A используется преимущественно для маркировки единичной потребительской упаковки в розничных сетях США и Канады, а также на торговых площадках, ориентированных на североамериканский рынок. В отличие от групповой транспортной тары или паллет, этот формат наносится непосредственно на конкретный экземпляр товара, который проходит через кассовый узел.
Автоматизация кассовых операций и движение в цепочках поставок
При прохождении товара через POS-терминал оптический сканер преобразует чередование штрихов и пробелов обратно в 12-значный номер GTIN-12. Сам штрихкод не содержит сведений о стоимости, наименовании или характеристиках изделия. Он служит уникальным первичным ключом, по которому кассовая программа обращается к локальной или облачной базе данных магазина, мгновенно извлекает актуальную цену, добавляет позицию в чек и списывает одну единицу продукции с текущего баланса торговой точки.
В процессах управления цепочками поставок и складскими запасами единый номер GTIN-12 связывает информационных системы всех участников логистического маршрута. Одинаковый код на заводской упаковке позволяет выполнять сквозные операции без перемаркировки продукции на промежуточных этапах:
- Приемка и оприходование партий на распределительных центрах путем сверки фактически отсканированных кодов с электронными накладными поставщика.
- Точная идентификация товарных позиций при комплектации заказов, инвентаризации остатков и адресном хранении в системах управления складом.
- Регистрация карточек товаров в каталогах крупных маркетплейсов, где наличие верифицированного кода GS1 требуется для привязки предложений разных продавцов к одной карточке продукта и предотвращения дублирования ассортимента.
- Автоматическое формирование заявок на пополнение запасов при достижении минимального порога остатков в торговом зале.
Различия между внешним идентификатором UPC-A и внутренним артикулом SKU
В практике товарного учета штрихкод UPC-A часто путают со складским артикулом SKU. Несмотря на то что оба кода применяются для отслеживания ассортимента и в базе данных обычно привязаны к одной и той же товарной карточке, они решают разные учетные задачи и подчиняются разным правилам формирования.
Ниже приведено сравнение ключевых параметров глобального идентификатора GTIN-12, зашифрованного в символике UPC-A, и внутреннего складского номера SKU:
| Критерий сравнения | Штрихкод UPC-A (номер GTIN-12) | Складской артикул SKU |
|---|---|---|
| Сфера действия и уникальность | Глобальный межкорпоративный стандарт. Один и тот же товар имеет идентичный код у производителя, дистрибьютора и во всех розничных сетях. | Локальный идентификатор. Уникален только в пределах учетной системы одной конкретной компании или отдельного склада. |
| Орган регулирования и выпуска | Выпускается на основе префикса компании, официально зарегистрированного в международной организации GS1. | Создается внутри предприятия собственными силами по произвольным правилам без внешней регистрации. |
| Структура и набор символов | Строго фиксированная длина в 12 числовых разрядов с обязательным завершающим контрольным числом. | Произвольная длина. Обычно представляет собой буквенно-цифровую комбинацию, включающую дефисы или смысловые сокращения. |
| Информационная нагрузка кода | Нейтральный номер. Не несет в себе зашифрованных характеристик цвета, размера или места хранения. | Семантический код. Часто содержит зашифрованные параметры: категорию, бренд, сезон, размер, цвет или номер стеллажа. |
При построении архитектуры складского учета эти два идентификатора работают совместно. Например, производитель выпускает синюю керамическую кружку объемом 350 мл и присваивает ей неизменный код
042100005264
. Когда этот товар поступает к трем разным ритейлерам, каждый из них заводит в своей учетной системе собственный SKU, отражающий внутреннюю логику хранения: в первом магазине это может быть
KITCHEN-MUG-BL-350
, во втором -
POS-10492-B
, а в третьем -
08-441-BLU
. В базе данных каждого продавца внутренний артикул жестко связывается с внешним номером GTIN-12. Благодаря такой связке кладовщик или кассир сканирует заводской штрихкод UPC-A на коробке, а учетная система автоматически сопоставляет его с локальным SKU и проводит операцию по внутренним регистрам компании.
Соотношение UPC-A со стандартами EAN-13 и UPC-E
При подготовке исходных числовых данных для генерации штрихкода важно понимать место формата UPC-A внутри единого семейства символики EAN/UPC. Различные стандарты этой группы тесно связаны между собой, однако предъявляют строгие требования к разрядности и структуре входного номера. Ошибка в выборе формата или передача номера неподходящей длины приведет к невозможности корректного построения графического символа или проблемам при его чтении на оборудовании контрагентов.
Прямая совместимость UPC-A и европейского стандарта EAN-13
Между 12-значным форматом UPC-A, использующим идентификатор GTIN-12, и 13-значным европейским стандартом EAN-13, основанным на номере GTIN-13, заложена полная обратная совместимость. Исторически система EAN-13 создавалась как надмножество американского стандарта, чтобы избежать необходимости переоснащения кассовых узлов и перемаркировки товаров при международной торговле.
Любой 12-значный код UPC-A математически и логически эквивалентен 13-значному коду EAN-13 с добавленным в самом начале ведущим нулем. С точки зрения глобальной системы GS1 префиксы стран в диапазоне
00
-
09
в структуре EAN-13 зарезервированы специально для представления стандартных номеров UPC-A. Например, идентификатор GTIN-12 с номером
042100005264
в базах данных, работающих по 13-разрядной схеме GTIN-13, записывается как
0042100005264
. При этом контрольное число на конце остается неизменным, так как умножение добавленного нулевого разряда на весовой коэффициент в формуле расчета дает ноль и не меняет итоговую контрольную сумму.
Сама последовательность темных штрихов и светлых пробелов у символа UPC-A и соответствующего ему символа EAN-13 с первой цифрой
0
абсолютно идентична. В стандарте EAN-13 тринадцатая (первая слева) цифра не имеет собственного отдельного блока полос, а кодируется косвенно - через комбинацию оптической четности шести цифр левой половины. Когда первой цифрой выступает ноль, все знаки левой половины кодируются по тому же правилу нечетной четности, которое по умолчанию используется в UPC-A. Разница между двумя отпечатанными символами сводится исключительно к расположению человекочитаемого текста под полосами. В связи с этим любое оборудование, настроенное на чтение EAN-13, безошибочно распознает штрихкоды UPC-A.
Отличие от сжатого формата UPC-E
Наряду с полноразмерным 12-значным кодом в семействе символики существует компактная модификация - формат UPC-E. Этот вариант разработан специально для маркировки малогабаритной розничной упаковки (например, косметических средств, канцелярских принадлежностей, жевательной резинки или штучных кондитерских изделий), на которой физически не помещается стандартный широкий символ UPC-A с обязательными зонами тишины.
Формат UPC-E представляет собой 6-значный вариант кода, получаемый методом подавления нулей из исходного номера GTIN-12. В графическом символе UPC-E отсутствует центральный разделительный шаблон, а общее количество модулей существенно сокращено. Важно учитывать, что такое сжатие применимо далеко не к каждому номеру. Преобразование в UPC-E возможно только в том случае, если старший разряд исходного кода UPC-A равен
0
или
1
, а конкретная комбинация префикса компании и кода товара содержит определенную непрерывную группу нулей (минимум четыре нуля подряд на строго установленных позициях). Если в исходном 12-значном номере нет достаточного количества нулей на нужных местах, сжать его до 6-значного формата UPC-E невозможно.
Дополнительные коды UPC-2 и UPC-5
В ряде специализированных отраслей к основному символу UPC-A справа может допечатываться дополнительный штрихкод меньшей высоты. Такие вспомогательные символы не используются самостоятельно и считываются сканером только в паре с базовым 12-значным кодом. В стандартах предусмотрены два типа подобных расширений:
- Дополнительный 2-значный код UPC-2 применяется при маркировке периодических печатных изданий (журналов и газет). Основной код UPC-A в этом случае идентифицирует само издание, а два дополнительных разряда указывают на порядковый номер выпуска (например, номер недели или месяца в году), что позволяет автоматизировать учет возврата непроданных тиражей.
- Дополнительный 5-значный код UPC-5 используется преимущественно в книготорговле и издательском деле. Эти пять цифр служат для кодирования рекомендованной розничной цены книги и валюты продажи непосредственно на обложке в машиночитаемом виде.
Сравнение характеристик форматов семейства
Для точного сопоставления параметров и выбора подходящего типа идентификатора перед подготовкой макета этикетки основные различия между стандартами сведены в общую таблицу:
| Параметр сравнения | Стандарт UPC-A | Стандарт EAN-13 | Стандарт UPC-E |
|---|---|---|---|
| Формат данных | GTIN-12 (строго 12 цифр) | GTIN-13 (строго 13 цифр) | Сжатый код (6 значащих цифр в основной части символа) |
| Геометрическая структура | Симметричная, разделена центральным шаблоном на две части по 6 цифр | Симметричная, 1 цифра вынесена за левый край, внутри 2 части по 6 цифр | Компактная без центрального разделителя, ограничена краевыми шаблонами |
| Условия совместимости с UPC-A | Базовый формат |
Полное совпадение рисунка штрихов при наличии ведущего нуля (префиксы
00
-
09
)
|
Требует наличия серии нулей на определенных позициях в исходном коде UPC-A для их подавления |
| Основное назначение | Стандартная розничная упаковка товаров (преимущественно в США и Канаде) | Стандартная розничная упаковка товаров в международной торговле по всему миру | Малогабаритная упаковка с жестким дефицитом свободной площади под печать |