The lab at Barcode-Test LLC receives a lot of compliance labels for verification. We see all sorts of problems, some of them quite unexpected, and we often wonder what the label printer was thinking. This is especially mystifying considering that virtually every retailer with more than one store has a compliance label specification or at least a manual that details what symbology should be used and how it should be structured. And most of them default to the GS1 General Specification, which makes it easy for the retailers and label vendors alike.
Recently we received a batch of test samples that had been rejected by a big box sporting goods retailer. The brand owner wasn’t sure what was wrong and their label vendor was adamant that there was nothing wrong with their labels. “They scan just fine,” they insisted.
We were more than a little surprised by what we discovered. Although the label vendor was correct, the samples did indeed ‘scan just fine’ they were not GS1 Gen Spec compliant—not by a long shot. The symbols were Code 128 and seemed to call out the correct data string, but the label vendor had not prefixed it with Subset C and Function 1. For reasons unknown they used a Subset B prefix and encoded every individual character, one by one. The GS1 specification for Serial Shipping Container Code is Application Identifier (00) and an Extension Digit followed by the GS1 Company Prefix, Serial Reference and Check Digit; pretty straightforward. All digits are encoded in pairs which the Code 128 system uniquely allows, and which makes the encodation very efficient.
Since this label vendor had incorrectly structured these Code 128 symbols, the printed bar code was enormous, requiring a very small X dimension to fit the 4” wide label and nearly violating the quiet zones. This was a good example of how when one thing goes wrong, the problems multiply.
While it is not technically incorrect to encode each character discretely, the very small X dimension made elements very low tolerance not only in terms of width but also in terms of placement—so sensitive in fact, the samples were failing the ISO parameter Decodability.
Small wonder the customer was confused—the vendor insisted that their samples ‘scan just fine’ and they do—but they completely fail the GS1-128 specification. This is also a good example of how important it is for a verifier to test the barcodes for application-specified structure as well as the quality of the printed image within the ISO specification.
I doubt that this label vendor even has a barcode verifier, which is amazing although not uncommon. Even more amazing is the number of verifiers that simply do not test for application-specific structure. They verify only garden-variety Code 128, not GS1-128 for SSCC in a supply chain.
Speaking of things amazing, there are manufacturers selling verifiers that are not ISO compliant. Whether or not they can also test for application-specific structure is pointless if image quality testing isn’t done to a traceable standard. It might make at least a little sense if they were substantially less expensive than the ISO compliant ones, but they’re not. It leaves one speechless.