One thesis: Sunrise 2027 is a precise, checkable program, and the gap between what GS1 published and what vendors claim it requires is where bad capital decisions get made. You own thousands of lanes and a capital cycle that must be scheduled now to land in time. The least you are owed is the program stated exactly.
The program, in GS1's words
Sunrise 2027 is GS1's own industry program — an industry commitment, not a regulatory mandate. GS1 US describes it as a global transition from 1D UPC barcodes to 2D barcodes, supporting retailers to ensure their point-of-sale systems can read and process 2D — with an explicit scope limit, quoted from GS1 US's own Sunrise 2027 page: "it is not necessary to implement all the capabilities of 2D by that date." The expectation is that retail POS scans and processes 2D symbols, extracting the GTIN, by the end of December 2027. It is cited here as GS1's program, on GS1's timeline — never as our forecast.
That is the whole obligation. Everything else you have been told is sold, not published.
The six corrections
Each of these is a claim you will hear in a vendor meeting this year, and each fails against the primary source.
1. "Consumers can scan the DataMatrix." No. GS1 DataMatrix clears the lane and is the pharma symbology; a consumer's phone camera reliably decodes QR, not DataMatrix. Any pitch that says "a DataMatrix or QR is scannable by a shopper's phone" has conflated the two symbologies in the sentence where the difference matters most.
2. "2D barcodes are web links." Only sometimes. A 2D symbol carrying GS1 element strings — FNC1 syntax, the same AI grammar as a GS1-128 — is not a URI and resolves to nothing in a browser. Only the GS1 Digital Link URI form (URI Syntax 1.6.0, ratified March 2025, free at ref.gs1.org) is web-resolvable, and which form gets encoded is the GTIN owner's choice. Your lanes must parse both; only one is a link.
3. "Sunrise means lot and expiry at the register." The program's baseline is GTIN extraction at POS. Lot, expiry and serial are optional AIs the brand chooses to encode. Some of your suppliers will; many will not. A lane program budgeted on the assumption that richer data arrives automatically is budgeted against a decision your suppliers have not made.
4. "Sunrise puts a 2D mark on packs." Sunrise puts nothing on anyone's pack. Brands do, if they choose. The program is aimed at the reading side — your side — which is why the date belongs to you and the mark decision does not.
5. "schema.org just made GS1 Digital Link core." The hasGS1DigitalLink property carries schema:isPartOf: https://pending.schema.org — pending, not core, as of schema.org v30.0 (released 2026-03-19).
6. "…and it's new." It is not new either: hasGS1DigitalLink has shipped since v27.0. What v30.0 actually did is weld the vocabularies at the organization grain — one equivalent-class and fifteen equivalent-property annotations between the GS1 and schema.org vocabularies. Real, checkable, and a different fact from the one being sold.
What "scan and process" decomposes into
For one lane, the obligation is a short pipeline: decode the symbol (your scanner vendor's job — modern imagers already read QR and DataMatrix), parse the payload (element string or Digital Link URI — two grammars, one AI map), and extract the GTIN for the item lookup your POS already does. That parse step is exactly what resolve runs, pure and local:
$ barcoding resolve '(01)00036000291452(17)270901(10)L23085' --json
{ "scheme": "gs1.element-string",
"canonical": "00036000291452", "check": "mod10 pass",
"ai": { "17": "2027-09-01", "10": "L23085" } }
Decompose what your lane must parse on real payloads — the grammar and the pinned AI table live at /schemes/dl. That is the entire Sunrise baseline for a lane, demonstrated in one command. Notice what it is not: it is not a data platform, not a middleware re-platform, not a new network membership. Vendors blur the six corrections above precisely because the honest baseline is too small to anchor a large invoice to.
The question the program does not answer
Here is the one place the scope genuinely opens up, and it deserves to be seen clearly rather than smuggled in: when a supplier does encode lot and expiry, your lane will read data your transaction log has nowhere to put. A POS transaction is a sale record — item, price, basket. It is not an event record; it does not say this lot, received at this dock, seen by this associate, sold at this lane. The lane clock and the traceability clock are two different clocks that happen to cross in the same refresh window — that argument, and how to run one program against both, is the family's grocery brief: Two clocks, one refresh.
Where the record layer for the richer read should live is a real architecture question with money attached — and it is the one question on this page the corrections list cannot settle for you. The access flow asks what arrives at your lanes and docks; answers are read in order.
The discipline, restated: the six corrections are standing, and any page on this site that touches 2D carries them. Check every one against the sources named above — GS1's Sunrise page, the Digital Link syntax at ref.gs1.org, the schema.org v30.0 release notes. None of them requires taking our word for anything, which is the point.
Keys open the network half of the verb set. Get an API key — say what arrives at your door, and the provisioning order follows the list.
We answer in writing. We take at most five conversations a month, only when you ask for one, and only after you already have the written read.