Sign In
Products
ZPL ViewerBarcode GeneratorImage → ZPLZPL cheat sheetLabel DesignerTemplate Gallery
Developers
API QuickstartAPI ReferenceMCP ServerBulk GenerationWebhooksSDKs & ExamplesLimitsDirectPrint agent NewGitHub ActionVS Code extensionOn-Premise
Solutions
Logistics & ShippingE-CommerceERP & WMSManufacturingRetailHealthcare & LaboratoryAll solutions
Tools
ZPL Diagnostics HubZPL DebuggerSize & DPI AnalyzerDPI ConverterBarcode fit calculatorShipping Label AnalyzerFont InspectorOrientation DebuggerCalibration AssistantPrinter Compatibility CheckerBarcode Readability CheckerPrinter Language DetectorThermal Printer Test PackZPL ToolsEPL ToolsTSPL ToolsCPCL ToolsPrinter Language ConverterAll ToolsGuidesPricing
Language
EnglishTürkçeDeutsch
Home›ZPL Lint Rules›ZPL4006

ZPL4006 — GS1 check digit set by the printer

^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.

SeverityInfo
CategoryBarcodes

Label that triggers it

^XA^FO50,200^BCN,150,Y,N,,D^FD(00)10084423  7449200940^FS^XZ

Finding: 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 →

How to fix it

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.

Corrected label

^XA^FO50,200^BCN,150,Y,N,,D^FD(00)10084423  7449200941^FS^XZ

Open the corrected label in the editor

Commands involved

^BC

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

In CI

npx labelixa validate "labels/**/*.zpl" lints your files and prints this page's address next to each finding. /docs/cli

Lint your ZPL now