Labeling and barcode specialist providing live chat help

Joe B.

Expert ★★★★★ 27,853 satisfied customers

Specialities: GS1-128/UCC-128, SSCC, Zebra/ZPL, WMS/ERP label templates, reverse logistics & RMA

SSCC suffix/check digit missing — AI (00) Serial Shipping Container Code, extension digit, company prefix, Luhn mod-10

Technician avatar Technician
Hi! We’ll sort the reverse logistics pallet label that’s missing the SSCC suffix. Quick checks: which system generates the label — WMS/ERP (SAP, Oracle, NetSuite) or the printer (ZebraDesigner, BarTender)? Is the barcode type set to GS1-128 with Application Identifier (00)? And is the human-readable SSCC showing 17 digits (without the check digit) or 18?
Customer
It’s a returns pallet from stores. Our WMS builds the label and sends ZPL to a Zebra ZT410. The human-readable shows 17 digits and the barcode scans as invalid at the 3PL. They said the SSCC check digit (suffix) is missing.
Technician avatar Technician
Understood. An SSCC inside AI (00) must be 18 digits: Extension digit (1) + GS1 Company Prefix + Serial Reference + Check digit. Systems often confuse the last digit as an optional “suffix” and drop it, or they fail to calculate the Luhn mod-10 check digit. Also, some ZPL fields strip parentheses or FNC1 characters if GS1-128 isn’t enabled. We’ll validate the components and regenerate a correct code.
Customer
How do I calculate the missing digit and update the label template? We’re using a custom ZPL with ^FD.
Technician avatar Technician
Step 1 — Build the SSCC core
• Start with a one-digit Extension (often 0–9 for logistics hierarchy).
• Append your GS1 Company Prefix (length varies).
• Add a Serial Reference so the total before the check digit is 17 digits.

Step 2 — Compute the check digit (suffix) using Luhn mod-10: multiply alternating digits by 3 and 1 from right to left, sum, then the check digit is the number that makes the total a multiple of 10.

Step 3 — Encode as GS1-128 AI (00)
• For Zebra ZPL: use ^BC or ^BY with ^FN/^FD but ensure the data string includes (00) and the 18-digit SSCC. If your firmware supports it, prefer ^BCN with GS1 mode or ^BC + ^FD>;>8 escape sequences per GS1.
• Make sure quiet zone (left/right margin) and X-dimension meet customer spec (usually 10–20 mil at 203–300 dpi).
Customer
Our ERP field for SSCC is 17 digits. The check digit was supposed to be added by the printer. Could that be why the 3PL rejects it?
Technician avatar Technician
Yes. Many templates expect the ERP to send all 18 digits. If the Zebra isn’t set to auto-calculate, it will print a 17-digit SSCC which scanners treat as invalid. Fixes:
• EITHER compute the check digit in the WMS and send the full 18-digit SSCC.
• OR enable printer-side calculation (BarTender/ZebraDesigner have an “SSCC” object that adds the suffix automatically).
Also confirm the barcode is GS1-128 (Code 128 with FNC1), not plain Code 128.
Customer
The label is for returns/RMA pallets. Do we need a different extension digit for reverse logistics?
Technician avatar Technician
The extension digit (first digit of the SSCC) can be used for logistics hierarchy or internal schemes. Many teams reserve a value (e.g., “9”) for reverse logistics / returns pallets, but it’s not a GS1 mandate. Whatever you choose, keep it consistent and ensure the Serial Reference stays unique across all SSCCs you assign.
Customer
Scanners sometimes read the barcode but the warehouse says “AI missing or wrong length”. Is that formatting?
Technician avatar Technician
Likely. Make sure:
• The data string starts with (00) followed by the 18-digit SSCC — no spaces or hyphens.
• The symbology is GS1-128 (FNC1 after AI). In ZPL, enable GS1 mode or use the correct escape so scanners see the AI.
• Human-readable text shows parentheses around (00).
• Printing: keep scale = 100% (no driver shrink), adequate quiet zones, and a legible X-dimension. Poor print quality or scaling can cause length/AI errors.
Customer
Can we reprint valid labels for the rejected pallets without changing pallet IDs in the system?
Technician avatar Technician
Yes. If the core 17 digits are correct, simply recompute the check digit and reprint the same SSCC with AI (00). Keep the SSCC tied to the pallet in your WMS to avoid duplication. For audit trails, record that a reprint was issued due to missing suffix / invalid check digit.
Customer
What does a compliant string look like in ZPL so I can test one label today?
Technician avatar Technician
Minimal example (conceptual): ensure your data is (00)XXXXXXXXXXXXXXXY where Y is the computed check digit. In ZPL, many use ^BCN,100,Y,N,N with data like ^FD(00)123456789012345678^FS. Your printer must treat it as GS1-128 so the AI and FNC1 are encoded correctly. If you want, open the chat and I’ll validate your exact ZPL string and check digit.
Customer
Thanks — we’ll fix the template to send all 18 digits and reprint. I’ll share a test SSCC in chat for validation.
Technician avatar Technician
Summary: A valid SSCC AI (00) is 18 digits: extension + company prefix + serial reference + check digit. Your error stems from a missing suffix/check digit or non-GS1 encoding. Compute the Luhn mod-10 digit, send all 18 digits from the WMS (or enable printer-side calculation), ensure GS1-128 symbology, and print at the correct size with proper quiet zones. Need a compliance check? Open the chat.

Quick answer: the accepted fix

Accepted fix when a reverse logistics pallet label shows an SSCC without the suffix/check digit: build 17 digits (extension + company prefix + serial reference), compute the Luhn mod-10 check digit, and encode all 18 digits in GS1-128 with AI (00). Update WMS/ERP mapping or enable printer-side calculation; then reprint a compliant label.


Why SSCC suffix goes missing on returns/RMA labels

Common causes: ERP field stores only 17 digits; printer template expects the WMS to add the check digit; barcode object is Code 128 instead of GS1-128; or ZPL escapes drop FNC1. Also watch driver scaling that clips the quiet zone, leading to “AI missing/wrong length” at the 3PL.

How to verify the SSCC is valid

Scan with a verifier/app that supports GS1. The data should read (00)18-digit-SSCC. Cross-check the final digit with a mod-10 calculator. Ensure the human-readable shows parentheses around (00) and all 18 digits. Print a sample at 100%, proper X-dimension, and sufficient quiet zones.

SSCC missing suffix — quick checklist

Most failures are mapping or symbology issues, not hardware.

Checklist: build 17-digit core → compute check digit → encode as GS1-128 AI (00) with FNC1 → ensure WMS sends 18 digits or enable printer auto-calc → verify ZPL/BarTender object is SSCC → print at 100% with correct X-dimension and quiet zones.

Disclaimer: This information is AI-generated and intended for general guidance only. For advice specific to your environment, please consult a verified expert on Whizz-Tech before making decisions.


Getting Started Is Easy

Ask for help, 24/7

Members enjoy round-the-clock access to 12,000+ verified Experts, including tech support, mechanics, vets, and more.

Expert will respond in minutes

We match you with an Expert who specializes in your situation. Talk, text, or chat — whichever you prefer.

Save time & money

No scheduling hassles or expensive consults. Membership can save you significant time and money each month.

FAQ

What does “SSCC suffix missing” mean on a GS1-128 pallet label?

The final digit of the SSCC is a Luhn mod-10 check digit. If your WMS/ERP or template outputs only 17 digits, scanners flag the barcode as invalid.

How do I generate a valid SSCC for reverse logistics?

Build 17 digits: extension + GS1 Company Prefix + Serial Reference, then compute the check digit and encode with AI (00) in GS1-128. Keep each SSCC unique.

Zebra prints but 3PL says “wrong AI/length”. Why?

Template uses Code 128 instead of GS1-128, or FNC1/AI (00) isn’t encoded. Enable GS1 mode in ZPL, send all 18 digits, and keep quiet zones intact.

Can I reprint the same SSCC for a rejected pallet?

Yes. Recalculate the check digit, keep the same 17-digit core, and reprint a compliant AI (00) label. Log the reprint in WMS.

Common SSCC problems and quick fixes
SymptomLikely causeQuick fix
Label shows 17 digits only No check digit Compute Luhn mod-10 and append; send full 18 digits
Scans but fails validation Not encoded as GS1-128 / AI missing Use AI (00) with FNC1; enable GS1 in ZPL
Rejected at 3PL for format Quiet zone/X-dimension out of spec Print at 100%, adjust ^BY/X-dimension, keep margins
Returns pallets need separate range Extension digit policy unclear Reserve extension (e.g., 9) for reverse logistics

Step-by-step (Windows/Zebra)

  1. From WMS/ERP, build the 17-digit core (extension + company prefix + serial reference).
  2. Calculate the mod-10 check digit and append to form the 18-digit SSCC.
  3. In your label template, ensure GS1-128 symbology with AI (00); in ZPL, enable GS1 mode and send all 18 digits.
  4. Print at 100% scale with correct X-dimension and quiet zones; verify with a GS1 scanner or verifier.

Note for mixed environments (macOS)

  1. If designing in BarTender/ZebraDesigner on macOS/VM, use the SSCC object so the check digit is auto-calculated.
  2. Export accurate ZPL and test a scan before mass printing for reverse logistics.

Sources

Matt Verified Icon
Matt ● replies in < 1 min
Technician Expert
⭐⭐⭐⭐⭐ Trusted by 27,000+ customers
Avatar
Alex · Expert's Assistant