SSCC-18 check digit
How the digit is computed
Take the seventeen digits, ignoring the check digit. Working from the right, multiply each digit alternately by 3 and by 1, starting with 3 on the rightmost digit. Sum the results, then subtract that sum from the next multiple of ten. The remainder is the check digit.
- 17 digits in, one digit out. The check digit is computed, never chosen.
- A barcode can scan perfectly and still carry an invalid check digit. The scanner reads what is printed; it does not know what you meant.
A worked example
Base 00340123450000012. From the right, the digits are weighted 3, 1, 3, 1 and so on: 2×3 + 1×1 + 5×1 + 4×3 + 3×1 + 2×3 + 1×1 + 4×1 + 3×3 = 47. The next multiple of ten is 50, so the check digit is 3 and the SSCC is 003401234500000123.
Where it goes on the label
The eighteen digits are encoded as a GS1-128 barcode under application identifier (00). The human-readable digits sit underneath, because a person has to key them when a scanner will not read the bars.
- Pallet: at least two adjacent sides, so a forklift driver can scan without turning the load.
- Carton: one label per carton when the retailer requires carton-level labelling.
- The same numbers must appear in the 856, in the same order, as the physical shipment.
Why labels still fail
Four causes, and only one of them is the printer.
- A serial reused — reprinted from last week, so the DC has already seen that number.
- A check digit appended as a zero — generated as text rather than computed.
- Print quality — too small, wrong stock, or angled so a handheld rejects it.
- ASN mismatch — valid numbers on the pallet, different numbers in the 856.