Skip to content

GS1 barcodes

A GS1 barcode carries more than the item: the same code can hold its lot number, its expiry date or its serial number. Floormode reads those fields at receiving and checks them while picking, and it prints GS1-128 and GS1 Data Matrix labels. A few things have to be in place first.

  • The fields Floormode reads
  • Before the first scan
  • Receiving
  • Picking, packing and other scans
  • Printing GS1 labels
  • See also
FieldWhat it holdsHow Floormode uses it
(01)The item’s GTIN-14, exactly 14 digitsFinds the item by its barcode
(10)Lot number, 1–20 charactersFilled in at receiving; checked against the line’s lot while picking
(15)Best before, as YYMMDDThe lot’s date when the code has no (17)
(17)Expiry, as YYMMDDThe lot’s expiry date
(21)Serial number, 1–20 charactersThe unit’s serial, for an item that tracks serial numbers

A day of 00 means the last day of that month. A code with any other field, or with one field twice, is refused rather than read in part.

  • The item. Give the item its exact 14-digit GTIN as its barcode or as an extra barcode. When Shopify holds the 13-digit EAN or the 12-digit UPC, add the GTIN-14 beside it: Floormode never adds or drops leading digits itself. A code whose GTIN no item carries is refused with the GTIN it read, so you know which number to add.
  • The scanner. Turn on AIM symbology identifiers in the scanner’s settings, so it sends ]C1 before a GS1-128 code and ]d2 before a GS1 Data Matrix. Also keep the separator between fields of varying length (FNC1): keyboard scanners send it as Ctrl+]. Codes typed or scanned in their printed form, (01)…(17)…(10)…, are read as well. A long number without these marks is never taken for GS1; it is read as an ordinary barcode.
  • Lots. Floormode writes lot numbers in capitals with no spaces at either end. A GS1 lot written another way is refused, never changed silently. Turn on lot tracking for the item, and the warehouse’s expiry-first picking if you pick by date.

Scanning a GS1 code while receiving finds the item and fills its lot and expiry fields from the code. A booking whose lot or date contradicts the code it was scanned from is refused. For an item that tracks serial numbers, the code’s serial is the unit’s serial number; on any other item a code with a serial is refused.

  • Picking checks a scanned lot and expiry against the lot the line is reserved from, before any stock moves. A pick line without a reserved lot has nothing to check them against, so such a code is refused there.
  • Elsewhere (the pack scan, counting, moving stock) a GS1 code that carries only the GTIN identifies the item as any barcode does. One that carries a lot or an expiry is refused, because those screens check no lot: scan the item’s plain barcode instead.
  • The pack station’s serial step takes a GS1 code that carries a serial, whatever else it holds: the serial is recorded for the unit, and the code’s lot and expiry are not checked there.

In the label designer, choose GS1-128 or GS1 Data Matrix as the barcode. Both need the item’s exact GTIN-14.

  • A receiving label combines the GTIN with the lot and expiry captured when the goods were received.
  • An item whose stored barcode is already a complete GS1 code prints it with its own fields.
  • A day of 00 prints as the actual last day of the month; the date means the same.