GS1 Digital Link QR Codes on Cases: What Changes in the Warehouse
For supply chain it architects and product owners · Compare approaches

GS1 Digital Link QR Codes on Cases: What Changes in the Warehouse: Illustrative logistics integration monitoring and event-queue reconciliation desk; not a client facility.
Quick answer: gs1 digital link qr
A GS1 Digital Link QR code holds a web address whose path carries the GTIN, batch and serial and whose query string carries attributes such as expiry (AI 17). Receiving needs QR-capable imagers, a middleware parser built to URI Syntax Release 1.7.0, and a WMS rule that the decoded GTIN matches the ASN line's packaging level.
TL;DR — what you’ll learn
- Parse the URI offline: GTIN padded to 14 digits, then qualifiers 22, 10 and 21 in fixed order, then attributes such as expiry 17 in the query string. No resolver call belongs in the scan path.
- The costliest error is quantity: a consumer QR seen through a case cut-out carries the each GTIN, so 120 cases can post as 120 eaches unless the WMS checks pack level against the ASN.
- Read AI 17 day 00 as month-end for general goods, but reject it for regulated healthcare items, where GS1 made 00 invalid from 1 January 2025.
- In the illustrative payback, a US DC recovers QR receiving costs in 10.2 months; an Indian DC needs 32 months and depends on expiry write-off savings rather than keying labour.
Topics: gs1 digital link qr · 2D barcode transition · gs1 digital link uri parsing · warehouse receiving 2D barcode scanning · lot and expiry capture at receiving
All quantities, amounts, product codes and events are illustrative teaching examples.
The first QR-coded cases usually reach the dock before anyone in IT has planned for them. A receiver points a handheld at the code, and the WMS either rejects an unknown item or, worse, accepts it and books 120 eaches against an ASN line for 120 cases. Lot and expiry still get typed from the printed panel, because nobody mapped the web address inside the code to receipt fields.
Handled on purpose, a GS1 Digital Link QR code takes most manual lot and expiry keying out of receiving, gives first-expiry-first-out allocation real dates and narrows a recall to the lots a site actually took in. The work sits in four places: imager settings, a parser in middleware, a packaging-level check against the ASN, and named owners for every decoded field.
- Inside this guide: how the URI is built, which inbound packaging carries it, the each-versus-case receiving trap, scanner and middleware changes, field ownership, and the US and India adoption picture.
- Worked material: a parse of one real-format URI into a receipt payload, a labour and write-off payback in USD ($) and INR (₹), and a rollout checklist with pass criteria.
Where Digital Link QR codes are showing up on inbound freight
Most Digital Link QR codes reaching a distribution centre were printed for shoppers, not receiving clerks. They sit on consumer units, shelf-ready trays and display shippers, while the shipper case keeps its ITF-14 or GS1-128 symbol and the pallet keeps its SSCC label. Receiving inherits a code designed for another scanner.
GS1's 2D Barcodes at Retail Point-of-Sale Implementation Guideline, Release 1.1.0 of December 2025, sets the ambition that checkout scanning can read the GTIN from both linear and 2D barcodes by the end of 2027. Section 4.1 keeps a linear barcode on 2D-marked products until 90% of point-of-sale scanning can read compliant 2D codes. Section 2.2 places units scanned in distribution outside its scope.
- Consumer unit in a tray: the QR is visible through shrink film, so a receiver can scan it without opening anything, which is exactly why it gets scanned by mistake.
- Shelf-ready tray: some brands print the tray's own GTIN in a QR on the tear-off front; others repeat the consumer unit's code.
- Display shipper or club pack: sold at the till as one unit, so it carries its own GTIN and often its own QR.
- Shipper case with an added QR: printed for traceability or brand content, sometimes encoding batch and expiry the case's linear symbol never carried.
- Pallet logistic label: the GS1 Logistic Label Guideline, Release 1.3, keeps the SSCC in GS1-128 and allows a supplementary GS1 2D symbol placed to the right of the text block.
The Logistics and Supply Chain collection hub covers labelling, ASN and receiving topics in more depth. This article stays with one question: what has to change between the imager and the receipt line when the code on a case is a URL rather than a bracketed element string.
Decoding the URI: path keys, qualifiers and query attributes
A Digital Link URI is an ordinary HTTPS address whose path carries identifiers and whose query string carries attributes. Parsing it needs no network call: split the path into Application Identifier and value pairs, then read query parameters whose keys are numeric AIs. Everything else in the address can be ignored for receiving.
The GS1 Digital Link Standard: URI Syntax, Release 1.7.0 ratified in August 2026, fixes the rules a parser depends on. The GTIN is always 14 digits, with shorter GTINs padded by leading zeros (Sections 4.1 and 4.5). After the GTIN, qualifiers appear in a fixed order: consumer product variant (22), batch or lot (10), then serial (21), per Section 4.9. Data attributes such as expiry (17) or net weight (3103) travel as query parameters under Section 4.10.
GS1 Digital Link receiving parsers should read the GTIN, batch and serial from the URI path in the order fixed by URI Syntax Release 1.7.0 Section 4.9, pad every GTIN to 14 digits under Section 4.5, and decode expiry from query key 17 without any resolver call, keeping scan-to-receipt latency under 300 milliseconds.
Two rules catch first-time implementers. Section 4.11 lets a brand use any registered domain and even add its own path segments before the GS1 part, so a parser that only trusts id.gs1.org rejects valid codes. Section 4.2 requires characters such as slash, ampersand and percent inside values to be percent-encoded, so a batch written as L26/11 arrives as L26%2F11 and must be decoded before it reaches the lot field.
The worked parse below takes one QR as printed on a test case, converts it to the bracketed element string that legacy receiving screens already understand, and builds the receipt-line payload the WMS stores. The domain is a placeholder and the GTIN uses GS1's published example company prefix.
Scanned QR content (fictitious brand domain):
https://link.example.com/products/01/00614141123452/10/L26%2F11B?17=270600&3103=000450
Step 1 classify : starts with https and contains /01/ + 14 digits -> Digital Link URI
Step 2 path : 01 = 00614141123452 (check digit 2 verified)
10 = L26/11B (percent-decoded from L26%2F11B)
Step 3 query : 17 = 270600 (YYMMDD, DD=00)
3103 = 000450 (net weight, kg, 3 decimals = 0.450)
Step 4 element string for legacy screens (FNC1 shown as |):
(01)00614141123452(10)L26/11B|(17)270600(3103)000450
Receipt-line payload posted to the WMS:
{
"captureSource": "qr-digital-link",
"gtin": "00614141123452",
"batch": "L26/11B",
"expiryRaw": "270600",
"expiryDate": "2027-06-30",
"expiryRule": "day 00 read as last day of month (non-healthcare item class)",
"netWeightKg": 0.450,
"uriHost": "link.example.com",
"resolverCalled": false,
"asnLineRef": "SH-77104/3"
}
The table maps each part of that address to the field it feeds. Anything the receiving process does not need, such as extension parameters or the brand's own path prefix, is logged with the scan but never written into inventory.
Scroll horizontally to see all columns.
| Part of the address | Example value | GS1 meaning | Receiving field it feeds |
|---|---|---|---|
| Host and brand prefix | link.example.com/products | Any registered domain; not an identifier | Scan log only |
| Path pair 01 | 00614141123452 | GTIN, 14 digits | Item lookup and packaging level |
| Path pair 10 | L26%2F11B | Batch or lot, percent-encoded | Lot number on the receipt line |
| Path pair 21 (when present) | not used on this case | Serial number | Serial capture for serialised items |
| Query key 17 | 270600 | Expiration date, YYMMDD | Expiry date and FEFO sequence |
| Query key 3103 | 000450 | Net weight in kg, three decimals | Catch-weight check, where used |
The each-versus-case trap when a QR carries the inner GTIN
The costliest QR receiving error is a quantity error, not a data error. A code printed for shoppers carries the consumer unit's GTIN, so scanning it on a case face makes the WMS count eaches. A packaging-level check against the ASN line stops it before putaway.
The trace below comes from a pilot pattern seen at grocery and personal-care sites: a supplier adds a consumer QR to a tray, the tray shows through the case cut-out, and the receiver scans it because it is the nearest code. The figures are illustrative; the sequence is typical.
- 06:12 ASN loaded: EDI 856 ASN SH-77104 lists 120 cases of GTIN 10614141123459, a case of 12, for PO 4500881 line 3.
- 06:48 receiving scan: the clerk scans the tray QR through the cut-out; the parser returns GTIN 00614141123452, which the item master holds as the each, and transaction RCV-01 books 120 EA against line 3 without a warning.
- 07:05 putaway: licence plate P00918 goes to location 12-A-04 with a system quantity of 120 EA while 1,440 EA sit physically on the pallet.
- 14:30 allocation: wave W-2231 short-allocates 600 EA; a supervisor posts inventory adjustment IA-5530 for +1,320 EA with reason code "found stock" and no link to the receipt.
- Controlled replay: with the packaging check live, RCV-01 sees an each-level GTIN against a case-level ASN line, prompts "scan case code or confirm 12 x 120", and records the hierarchy ratio on the receipt.
The fix is a fixed rule rather than retraining. The WMS compares the decoded GTIN's packaging level with the ASN line's GTIN and accepts it only if it is the same GTIN or a known child at a registered ratio. A child match converts quantity using the item master hierarchy and flags the scan for review.
Scroll horizontally to see all columns.
| Packaging level | Codes likely on the reachable face | GTIN the WMS should expect | Check at receipt |
|---|---|---|---|
| Pallet | GS1-128 SSCC, optional GS1 2D | None; SSCC identifies the logistic unit | SSCC must exist on the ASN |
| Shipper case | ITF-14 or GS1-128; sometimes a brand QR | Case GTIN from the ASN line | Exact GTIN match, or child with ratio |
| Shelf-ready tray | Tray QR or consumer QR through film | Tray GTIN if traded as a unit | Ratio to case recorded in item master |
| Consumer unit | EAN/UPC plus Digital Link QR | Each GTIN | Accepted only with ratio conversion and a flag |
Our guide to GS1-128 SSCC pallet and carton labelling covers the case and pallet symbols themselves. The point here is narrower: once a URL-based code joins those symbols on the same carton, quantity logic has to know which level the code describes.
Scanner, middleware and WMS changes before the first QR arrives
Three layers change. Imagers must read QR and pass the full content unaltered, middleware must classify and parse it, and the WMS must accept lot and expiry from a scan rather than a keyboard. Converting the URI before it reaches the WMS avoids rebuilding every receiving screen.
- Imager capability: laser scanners cannot read QR at all; area imagers can, but QR decoding is often disabled in the factory profile and must be enabled per device group.
- Full-content passthrough: keyboard-wedge mode can drop characters such as the percent sign or question mark on some locale settings, so send scan data through the device's data interface instead.
- Content classification: middleware decides whether the content is a GS1 element string, a Digital Link URI, an ordinary marketing URL or a non-GS1 regulatory QR, and routes each differently.
- Parser library: GS1 publishes the open-source GS1 Barcode Syntax Engine, which converts between Digital Link URIs and element strings, so the rules need not be hand-written.
- Canonical form: pad the GTIN to 14 digits, verify the check digit, decode percent-encoding and sort attributes before the result is stored.
- Offline first: every step above runs on the device or the site server, with no call to the internet.
The 2D retail guideline, in Section 4.1.2, notes that converting the URI to an element string at the scanner avoids a host upgrade. Warehouses get the same benefit. If middleware hands the WMS a bracketed string, existing receiving screens that already parse GS1-128 lot and expiry need only a new symbology entry, not new code.
The same parsed fields help at dispatch. Outbound checks such as scan-to-pack verification can confirm that the lot packed matches the lot allocated, provided the parser is shared between inbound and outbound devices rather than rebuilt twice.
Who owns GTIN, batch and expiry once a scan supplies them
Decoding shifts data entry from a clerk to a supplier's printer, so ownership must shift too. The supplier owns what is encoded, master data owns the GTIN hierarchy, quality owns expiry rules and the WMS product owner signs off parser mappings before any supplier goes live.
Scroll horizontally to see all columns.
| Record or rule | Where it is held | Who maintains it | Who signs off a change |
|---|---|---|---|
| Encoded GTIN, batch and expiry on the pack | Supplier artwork and printer settings | Supplier packaging team | Supplier quality, confirmed in the onboarding test |
| GTIN hierarchy and pack ratios | Item master in ERP | Master data team | Master data lead |
| Allowed host names and path prefixes per supplier | Middleware configuration | Integration team | WMS product owner |
| Expiry interpretation, including day 00 | Item class rules in WMS | Quality assurance | Head of quality |
| Packaging-level check and ratio conversion | WMS receiving rule | WMS configuration analyst | Warehouse operations manager |
| Scan log with raw content | Middleware audit store | Integration team | IT security, for retention period |
Receiving teams adopting GS1 Digital Link QR scanning keep the raw scanned URI in a middleware audit log beside the parsed GTIN, batch and expiry, so a disputed receipt can be replayed against URI Syntax Release 1.7.0 rules; a 13-month retention covers one full annual stock count plus a month.
The audit log matters more than it seems. When a supplier changes printers and the batch field loses a character, the raw URI shows whether the pack or the parser was wrong. Without it, quality and IT argue from screenshots, and the supplier's chargeback dispute stalls.
Lot and expiry at receipt drive FEFO, recalls and quarantine
Captured at the dock, batch and expiry become allocation inputs rather than notes. FEFO picks the right lot, a recall query returns real licence plates, and a quality hold can target one batch instead of an entire SKU.
Expiry dates need one item-class rule. GS1 change notice GSCN 17-000067 records that a day value of 00 in AI 17 means the last day of the stated month. GSCN 21-040 then made 00 invalid for regulated healthcare products from 1 January 2025, so a pharmacy line must reject 270600 while a snack line reads it as 30 June 2027.
- FEFO allocation: with an expiry on every receipt line, the allocation engine can sort by date instead of by receipt date, which is only a proxy.
- Remaining shelf life at receipt: compare decoded expiry with the customer's minimum remaining life and divert short-dated cases to a hold location before putaway.
- Recall scope: a recall for batch L26/11B returns the licence plates, locations and shipped orders for that batch alone.
- Quarantine targeting: a quality hold keyed on GTIN plus batch blocks only affected stock, leaving the rest of the SKU pickable.
- Supplier scorecard: the share of cases arriving with a parseable code becomes a measurable compliance item.
Many sites already get batch and expiry in the ASN. The QR does not replace that; it verifies it. If the ASN says batch L26/11B and the case says L26/11C, the receipt should stop, because a recall built on ASN data alone will miss stock. Our article on EDI 856 ASN schema mapping covers how batch travels in the ASN hierarchy.
US and India: one URI format, two different adoption pressures
The URI syntax is global, but the push to adopt it differs by market. In the US, retailers working toward 2D at checkout pull brands into printing QR codes. In India, GS1 India's retail forum and drug-labelling rules put QR codes on packs, and some of those codes are not GS1 at all.
- Where US pressure comes from: retail compliance programmes built on the GS1 point-of-sale guideline. A brand prints the Digital Link QR for checkout and consumer content, and the case arriving at a retailer's or 3PL's DC carries it as a side effect.
- What US docks actually see: clean GS1 URIs, but frequently on the wrong packaging level, which is the each-versus-case trap described earlier.
In India, GS1 India promotes GS1 Digital Link QR codes and in August 2026 presented its National Industry Forum for Retail, which brings food and FMCG manufacturers, retailers and online marketplaces together on 2D barcode collaboration. Separately, G.S.R. 823(E) of 17 November 2022 added Schedule H2 to the Drugs Rules, 1945, requiring a barcode or QR code on 300 listed drug brands from 1 August 2023.
Indian pharmaceutical distribution centres scanning Schedule H2 QR codes under G.S.R. 823(E) cannot assume GS1 Digital Link syntax, because CDSCO's July 2023 FAQ lets each manufacturer set its unique product identification code by its own SOP; middleware should route non-GS1 content to a supplier-specific mapping covering all eight required particulars.
The CDSCO FAQ also allows the code on the secondary package label when the primary label lacks space, which in practice puts more of these codes on cartons a DC handles. The worked example below compares the receiving case in both markets for a DC taking 2,400 cases a day, 35% of them lot-controlled. Figures are illustrative.
Scroll horizontally to see all columns.
| Line | Basis | US site (USD $) | India site (INR ₹) |
|---|---|---|---|
| Lot-controlled cases per day | 2,400 x 35% | 840 | 840 |
| Keying time saved per day | 840 x (11 s typed - 2 s scanned) | 2.10 hours | 2.10 hours |
| Mis-keyed lots avoided per day | 0.8% x 840, 12 minutes each to correct | 1.34 hours | 1.34 hours |
| Labour hours saved per year | 3.44 hours x 300 days | 1,033 hours | 1,033 hours |
| Loaded labour rate | Illustrative | $31.00 per hour | ₹240 per hour |
| Annual labour saving | Hours x rate | $32,023 | ₹2,47,920 |
| Expiry write-off reduction | 15% of current write-off on lot items | $31,500 (of $210,000) | ₹5,70,000 (of ₹38,00,000) |
| Total annual benefit | Labour plus write-off | $63,523 | ₹8,17,920 |
| One-time cost | Middleware and WMS rules, plus 14 laser units replaced by imagers | $38,000 + $16,100 = $54,100 | ₹14,50,000 + ₹7,28,000 = ₹21,78,000 |
| Simple payback | One-time cost / annual benefit | 10.2 months | 32.0 months |
The contrast is the useful part. At US labour rates, keying time alone repays the project in about 20 months. At Indian rates it covers little more than a tenth of the cost each year, so the India business case rests on fewer expired write-offs and narrower recalls, and the project should be scoped to lot-controlled categories first.
Fixed WMS rules versus tasks where a model can help a clerk
Parsing, validation and quantity checks must be fixed, testable rules, because the same scan must always produce the same receipt. Pattern-spotting across thousands of scans and reading damaged print are where a trained model can help a person decide, never post on its own.
Scroll horizontally to see all columns.
| Receiving task | Handled by | Reason | Human step that remains |
|---|---|---|---|
| Deciding whether scanned content is a Digital Link URI | Coded parser rule | Syntax is fully specified in Release 1.7.0 | None in normal flow |
| Checking the GTIN check digit and 14-digit padding | Coded parser rule | Arithmetic with one right answer | None |
| Matching decoded GTIN and pack level to the ASN line | Coded WMS rule | Quantity must be reproducible for audit | Clerk confirms a ratio conversion prompt |
| Reading a printed best-before date from a photo of a torn label | Model suggests a date | Print quality varies; no symbol to decode | Clerk confirms or types the date |
| Spotting suppliers whose case faces show consumer GTINs | Model ranks suppliers from scan history | Pattern across many receipts | Master data contacts the supplier |
| Proposing field mapping for a non-GS1 pharma QR | Model drafts a mapping | Each manufacturer formats differently | Quality approves before the mapping goes live |
| Releasing stock held for an expiry mismatch | Person only | Quality decision with liability | Quality releases with a reason code |
Keep the model's output out of the inventory record until a person accepts it. A suggested expiry that is wrong by one month moves a case to the wrong place in the FEFO queue, and nobody notices until the customer rejects it for short shelf life.
A receiving rollout checklist for Digital Link scanning
Roll out by supplier and category, not by site. Each supplier's code is tested on real packs before its first live delivery, and each check below has a pass criterion that someone signs.
Scroll horizontally to see all columns.
| Step | Test performed | Pass criterion | Signed by |
|---|---|---|---|
| Device readiness | Scan 20 QR samples per device model | 100% decoded with full content, including % and ? | Site IT lead |
| Parser conformance | Run GS1 syntax test URIs and supplier samples | Same element string as the GS1 Syntax Engine for every sample | Integration lead |
| Classification | Mix GS1 URIs, element strings, marketing URLs and pharma QRs | Every item routed to the correct handler; none posted blindly | WMS product owner |
| Pack-level check | Scan consumer QR against a case ASN line | Prompt raised; no silent each-level receipt | Operations manager |
| Expiry rules | Day 00 on food and on healthcare items | Food reads month-end; healthcare rejects the value | Head of quality |
| ASN cross-check | Case batch differs from ASN batch | Receipt line held with reason code | Quality assurance |
| Offline operation | Disconnect the site from the internet | Receiving continues at normal rate | Site IT lead |
| Supplier sign-off | Supplier confirms encoded content matches artwork | Written confirmation per GTIN | Supplier quality contact |
Measure two numbers for the first 90 days: the share of lot-controlled cases captured by scan rather than keyboard, and the count of each-versus-case prompts per supplier. The first shows adoption; the second tells master data which suppliers to call. A site that sees receiving hours climb during the pilot should check the prompt count before approving extra shifts through a process such as warehouse overtime approval, which links overtime to measured workload; that article deals with staffing decisions, while this one removes a source of avoidable receiving work.
If your team is planning QR-based receiving across several sites or supplier groups and wants the parser, pack-level rules and test plan specified before vendor selection, you can send us a request for proposal with your current scanner fleet and WMS version.
Discuss this workflow
Describe your current systems, the recurring exception and the outcome you need. Keep shipment, customer and financial records out of the initial message.
Common operational questions
Practical answers for operations, engineering, and finance teams working on gs1 digital link qr in logistics & supply chain.
Can a warehouse scanner read a GS1 Digital Link QR without internet access?
Why did our WMS receive eaches when we scanned a QR on a case?
Do pallet labels move to Digital Link QR codes as well?
Are Indian drug QR codes under Schedule H2 always GS1 Digital Link codes?
References
Sources checked 13 November 2026. US and India statutory authorities and vendor documentation support platform facts; the worked examples and diagrams are original.
- GS1 - GS1 Digital Link Standard: URI Syntax, Release 1.7.0 (ratified August 2026)Sections 2, 4.1, 4.2, 4.5, 4.9, 4.10, 4.11 and 5.8 checked for GTIN padding, qualifier order, query attributes, custom domains, percent-encoding and SSCC form. Accessed 13 November 2026.
- GS1 - 2D Barcodes at Retail Point-of-Sale Implementation Guideline, Release 1.1.0 (December 2025)Sections 1.2, 2.2, 4.1 and 4.1.2 checked for the end-2027 ambition, the 90% dual-marking condition, the distribution scope exclusion and scanner-side conversion. Accessed 13 November 2026.
- GS1 - GS1 Logistic Label Guideline, Release 1.3 (July 2019)Section 1.2.3 and clause 6-4 checked for GS1-128 with supplementary GS1 2D barcodes and their placement. Accessed 13 November 2026.
- GS1 - GSCN 17-000067 (AI 17 day value 00 read as last day of month)Change notice text on the day 00 convention for date AIs. Accessed 13 November 2026.
- GS1 - GSCN 21-040 Healthcare expiration date (day 00 not valid from 1 January 2025)Change notice for regulated healthcare products. Accessed 13 November 2026.
- GS1 - GS1 Barcode Syntax Engine (open-source parser for element strings and Digital Link URIs)Confirms GS1 publishes a library that converts between Digital Link URIs and AI element strings. Accessed 13 November 2026.
- GS1 India - Enabling digital information and experiences (GS1 QR code)GS1 India description of GS1 Digital Link in QR codes; NIFR overview deck dated 7 August 2026 also checked. Accessed 13 November 2026.
- CDSCO - FAQs on implementation of G.S.R. 823(E) dated 17 November 2022 (bar code or QR code on top 300 brands)Eight required particulars, 1 August 2023 start date, manufacturer-defined product code and secondary-label option. Accessed 13 November 2026.
- ASC X12 — EDI Supply Chain & Transportation Transaction Sets (204/210/214/856/940/945)US standard for electronic data interchange across shippers, 3PLs, and motor carriers.
- FMCSA — 49 CFR Part 395 Hours of Service & Electronic Logging Devices (ELD)US federal motor carrier dispatch and driver duty-status compliance mandate.
- ULIP & NIC GST E-Way Bill Portal — Unified Logistics & Rule 138 ComplianceIndian statutory goods-in-transit and multi-modal logistics verification framework.