В коде маркировки, есть специальный символ разделитель GS, который разбивает его на отдельные блоки. Если код придет в "честный знак" без этих разделителей, то будет считан неправильно и соответственно не будет учтен. Такая ошибка, может происходить из-за неправильной настройки сканера штрихкода.
GS это управляющий символ и визуально он не отображается, то есть, при сканировании кода в блокнот и т.д. увидеть и проверить его наличие нельзя. Большинство сканеров эмулируют его нажатием клавиши F8. Причиной его отсутствия в считываемом коде, может быть то, что в сканере не включена передача непечатаемых/невидимых символов. В английском варианте, эта настройка может называться примерно Transmit/Transfer invisible/function characters.
Обычно, для включения передачи таких символов, в инструкции к сканеру нужно найти и отсканировать соответствующий этой настройке штрихкод. Если же для конфигурации сканера существует специальная утилита, соответственно, можно воспользоваться ей.
Если сканер работает в режиме клавиатуры, проверить корректность передачи разделителя, можно с помощью приложенной утилиты.