В конце цифровых идентификационных ключей GS1 фиксированной длины стоит контрольная цифра. Для её расчёта двигайтесь по предшествующим цифрам справа налево: крайнюю справа умножьте на 3, следующую на 1 и продолжайте чередовать. Итоговая цифра делает взвешенную сумму кратной десяти.

Привяжите веса к правому краю

При расчёте исключите позицию контрольной цифры. Начиная с крайней правой цифры данных, используйте веса 3, 1, 3, 1 и так далее. Привязка справа важна, потому что длины идентификаторов различаются. При проверке сначала отделите введённую последнюю цифру и примените ту же последовательность к остальным.

Дополните сумму до десятка

Сложите все произведения цифры на вес. Контрольная цифра равна (10 − остаток суммы по модулю 10) по модулю 10. Внешний модуль обрабатывает сумму, уже кратную десяти: результатом будет 0, а не 10. После добавления цифры полная взвешенная сумма оканчивается нулём.

Сохраняйте начальные нули и точную длину

Идентификатор — строка цифр, а не обычное целое число. Удаление начального нуля меняет заявленную длину и может сдвинуть все чередующиеся веса. Буквы, знаки, десятичные разделители, недостающие и лишние цифры нужно отклонять, а не исправлять незаметно.