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 variable-length AI is not terminated with FNC1, so the AI that follows it is read as part of its data.
Insert FNC1 (>8) after the variable-length element.
^XA^BY4^FO50,50^BCN,254,Y,N,N,D^FD(01)00012345678900(10)ABC(17)260931^FS^XZ
A variable-length AI not terminated with FNC1, AND not the last element in the string.
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.
The finished symbol is wider than the space available. The right-hand end is clipped and the symbol will not decode.
Reduce ^BY, shorten the data, or move the field left.
Quiet zone violated — the barcode has no clear margin at the label edge.
Move the field inward by at least 10 × the module width, or reduce ^BY.
GS1 requires a quiet zone of at least 10 × X-dimension on each side.
AI (01) GTIN must be exactly 14 digits with a valid check digit.
Pad the GTIN to 14 digits and recompute the mod-10 check digit.
This example does not currently trip GS-04 under the default 203 dpi GS1 profile. That is worth knowing rather than hiding — see the open items in the repository.