Neither ^PW nor ^LL is set. Both fall back to a value stored in the individual printer, not to a value in the spec — so the same ZPL prints differently on two printers of the same model.
Set ^PW and ^LL explicitly in every format.
This GS1-128 is missing the leading FNC1. Without it the symbol is a plain Code 128 and the scanner will not read the AIs.
Add FNC1 (>8) immediately after the subset start code, or use ^BC mode D.
^XA^BY4^FO50,50^BCN,254,Y,N,N^FD>;010001234567890^FS^XZ
GS1-128 symbol without the mandatory leading FNC1 after the start character.
Neither ^PW nor ^LL is set. Both fall back to a value stored in the individual printer, not to a value in the spec — so the same ZPL prints differently on two printers of the same model.
Set ^PW and ^LL explicitly in every format.
Subset C encodes digits in pairs. This payload has an odd number of digits, so the last one is dropped — the barcode prints, scans cleanly, and returns one digit short of the data underneath it.
Pad to an even digit count, switch to Subset B (>:), or let ZPL auto-select the subset.
Cloud Retailer help desk, "Zebra Label Missing Last Digit and/or Not Scanning All Digits in Barcode": odd-length codes such as EAN-13 lose the final digit — "subset C cannot process single digits, it MUST be in a pair." A customer-reported production failure, documented by a vendor.
This GS1-128 is missing the leading FNC1. Without it the symbol is a plain Code 128 and the scanner will not read the AIs.
Add FNC1 (>8) immediately after the subset start code, or use ^BC mode D.