Skip to main content

Scan GS1 barcodes in the Warehouse Management app

Understand how GS1 barcodes work in the Warehouse Management app, which barcode formats are supported, and how to use them when receiving goods and picking.

A
Written by Alya Humaira

What is a GS1 barcode?

A GS1 barcode is an industry-standard barcode that encodes multiple pieces of product information into a single scan. Unlike a traditional EAN or UPC barcode that only contains a product identifier, a GS1 barcode can carry all of the following in one scan:

  • Product code (Global Trade Item Number, or GTIN)

  • Batch or lot number

  • Expiry date

  • Serial number

  • Quantity

GS1 barcodes appear on pharmaceutical products, food items, and logistics labels. They are typically printed as GS1-128 linear barcodes, GS1 Data Matrix (2D square), or GS1 QR Codes.

Each piece of data inside a GS1 barcode is identified by an Application Identifier (AI), a numeric prefix that tells the system what type of data follows.

The Warehouse Management app supports the following AIs:

AI code

Field

Format

Example

00

SSCC (Serial Shipping Container Code)

18 digits

00 + 123456789012345678

01

GTIN (Global Trade Item Number)

14 digits

01 + 05012345678901

10

Batch or lot number

Up to 20 alphanumeric characters

10 + BATCH-A

15

Best before date

6 digits (YYMMDD)

15 + 261231

16

Sell by date

6 digits (YYMMDD)

16 + 261130

17

Expiry date

6 digits (YYMMDD)

17 + 260530

21

Serial number

Up to 20 alphanumeric characters

21 + SN-001

37

Count (quantity)

Numeric

37 + 12

📌 Note: Not every GS1 barcode contains all of the fields above. A barcode only includes the fields the label issuer chose to encode, for example, a pharmaceutical label might carry GTIN, batch number, and expiry date only.


Supported barcode formats

The Warehouse Management app recognises GS1 barcodes in two formats. Both formats are automatically detected and parsed, so no configuration is needed.

Raw scanner format (FNC1 or GS delimiters)

This is the format that hardware barcode scanners typically transmit. The barcode data starts with an AIM symbology prefix that identifies the barcode type:

  • ]C1  — GS1-128 (linear barcode)

  • ]d2— GS1 Data Matrix (2D)

  • ]Q3 — GS1 QR Code

Variable-length fields, like batch number, are separated by a Group Separator (GS) character (ASCII 29).

Example:

]C10105012345678901❬GS❭10BATCH-A❬GS❭17260530

This encodes: GTIN 05012345678901, Batch BATCH-A, Expiry 2026-05-30.

Human-readable (HRI) parenthesized format

This is the format printed below barcodes on labels, with AIs shown in parentheses. Some scanners also transmit in this format.

Example:

(01)05012345678901(10)BATCH-A(17)260530


Receive goods by scanning a GS1 barcode

When receiving goods against a Purchase Order (PO), scanning a GS1 barcode streamlines the process:

  1. Open a PO in the Receive Goods workflow.

  2. Click the scan button next to the relevant product line.

  3. Scan the GS1 barcode on the incoming goods.

The app will automatically:

  • Match the product: The GTIN from the barcode is compared against the EAN and UPC codes of products on the order. Leading zeros are removed during matching, so both GTIN-14 and GTIN-13 formats work.

  • Pre-fill batch details: If the product is batch-tracked and the barcode contains a batch number (AI 10) and/or expiry date (AI 17), the batch entry modal opens with those fields already filled in. You only need to enter the quantity.

  • Capture the serial number: If a serial number (AI 21) is present in the barcode, it is captured automatically.

What happens after scanning

Scenario

Behavior

GS1 barcode matches a product on the order

Product is identified; if batch-tracked, the batch modal opens pre-filled

GS1 barcode matches but product is not batch-tracked

Received quantity is incremented by 1

GS1 barcode has a GTIN that doesn't match any order line

A warning is shown: 'GS1 barcode does not match any product in this order'

GS1 barcode has no GTIN but has batch or expiry data

Batch modal opens for the item whose scan button was tapped, pre-filled with batch and expiry

Barcode is not a GS1 barcode

Falls back to standard EAN or UPC matching

Date handling

GS1 dates use the format YYMMDD. When the day portion is 00, for example, 260500, the app interprets this as the last day of that month. So, 260500 is read as 31 May 2026.

🤓 Tip: For more details on the Receive Goods workflow, see Goods receipt with the Warehouse Management app.


Pick by scanning a GS1 barcode

GS1 barcodes can be used during picking to confirm you are scanning the correct item.

When you scan a GS1 barcode on a pick line, the app will:

  • Confirm the correct item: The GTIN from the barcode is matched against the product on the pick line. If the barcode does not match, the app will alert you so you can recheck the item before proceeding.

  • Increment the picked quantity by 1: Each successful scan adds one unit to the picked count for that line.

🤓 Tip: For more details on the Picking workflow, see Picking with the Warehouse Management app.


Test your scanner

You can verify your scanner is working correctly before using it in a live workflow using the Scanner Test screen in the Warehouse Management app.

  1. Open the Warehouse Management app and go to Settings.

  2. Select Scanner Test.

  3. Scan any GS1 barcode.

The screen displays the raw data transmitted by the scanner and a breakdown of any GS1 fields detected. Use this to confirm that your scanner is transmitting the AIM symbology prefix and Group Separator characters correctly.

🤓 Tip: If a batch number or expiry date is not pre-filling during Receive Goods, use the Scanner Test screen first to check whether your scanner is actually encoding those fields.


Scanner requirements

For GS1 barcodes to work correctly, your scanner must:

  • Be GS1-compliant: It must transmit Application Identifiers and Group Separator characters correctly.

  • Support the barcode symbology being scanned: GS1-128, GS1 Data Matrix, or GS1 QR Code.

  • Transmit the AIM symbology prefix (for example, ]C1): While not strictly required, this improves detection reliability and avoids false positives where a plain EAN barcode might be misread as a GS1 barcode.


Troubleshooting

GS1 barcode does not match any product

Check that the product's EAN or UPC in the system matches the GTIN encoded in the barcode (ignoring leading zeros).

Batch number not pre-filling

Ensure the barcode contains AI 10. Use the Scanner Test screen to verify.

Expiry date not pre-filling

Ensure the barcode contains AI 17. The date must be in YYMMDD format.

Barcode is not a valid GS1 barcode

The barcode may be missing the symbology prefix or contain formatting errors. Set your scanner to GS1 mode.

Batch number appears truncated

For variable-length fields like batch number, the scanner must transmit a Group Separator (GS, ASCII 29) character after the value when another field follows. Configure your scanner to transmit GS characters.

Did this answer your question?