^BC is in mode D (UCC/EAN) and a fixed-length GS1 Application Identifier that ends in a mod-10 check digit (00 SSCC, 01 and 02 GTIN, 410 to 415 GLN) has a last digit that differs from the computed one. In mode D the printer calculates the check digit itself and puts it into both the barcode and the interpretation line; Zebra's own example writes 0 as a placeholder. The label therefore carries the digit given in the message, and the preview draws the same. Mode D needs firmware x.11 or later.
^XA^FO50,200^BCN,150,Y,N,,D^FD(00)10084423 7449200940^FS^XZFinding: ZPL4006 · line 1:28 — ^BC mode D: the printer calculates the GS1 AI (00) check digit itself and prints 1 in place of 0 (firmware x.11 and later)
Open the broken label in the editor →
Nothing has to change for printers with x.11 or later firmware. Write the correct digit anyway when the same data also feeds a text field, another symbology or older firmware, none of which calculate it. The corrected label carries the calculated digit and produces no note.
^XA^FO50,200^BCN,150,Y,N,,D^FD(00)10084423 7449200941^FS^XZOpen the corrected label in the editor
ZPL4001 Barcode without data · ZPL4002 EAN-13 data is not 12–13 digits · ZPL4003 GS1 data without GS1 mode (no FNC1) · ZPL4004 GS1 check digit is wrong · ZPL4005 GS1 AI value has the wrong length
npx labelixa validate "labels/**/*.zpl" lints your files and prints this page's address next to each finding. /docs/cli