Skip to content
Integration & processes

2D code beside the barcode: GS1's 2027 goal for product data

By the end of 2027, checkouts should read the GTIN from 2D codes. What manufacturers and wholesalers need in the PIM, and how the QR code leads to the shop.

17 min read GS1 Digital LinkProduktdatenPIMB2B

In short and in plain language

This post is about a new code on your goods. A QR code is added next to the barcode.

Trade and industry agreed on this goal. It is not a law. The barcode stays for now.

The QR code holds the item number. It can also hold the batch and the use by date. When scanned with a phone, it leads to a page you choose.

For that, your shop needs a route to the product page. The data comes from your programs for goods and orders.

A good start is a test with a few products. We can help you with this.

In 1974 (GS1 Germany) a barcode was scanned in a supermarket for the first time, and to this day the EAN barcode carries exactly one piece of information: the GTIN. That is set to change without the barcode disappearing. By the end of 2027 (GS1 Germany), checkout systems are meant to process GS1-compliant 2D codes and read at least the GTIN from them. This is an industry goal agreed between GS1, retail and manufacturers, not a law. For manufacturers and wholesalers supplying retail it is still a data topic: a QR code with GS1 Digital Link can carry the batch and best-before date alongside the GTIN, and when scanned with a smartphone it leads to a web address you define yourself. This article shows what the code contains, which fields need to be maintained in the PIM and how a resolver route in the shop sends the scan to the product page, data sheet or batch information.

Key takeaways

  • By the end of 2027 (GS1 Germany), checkouts are meant to read GS1-compliant 2D codes and take at least the GTIN from them. This is an industry goal of GS1, retail and manufacturers, not a legal obligation.
  • The EAN barcode stays: during the transition, products with a 2D code usually carry both codes, and the 2D code sits close to the EAN code for checkout scanning (GS1 Germany).
  • In the Digital Link path the GTIN has 14 digits (GS1 Digital Link Standard), so an EAN-13 gets a leading zero. Batch and serial number follow in a fixed order, the best-before date goes into the query string.
  • The owner of the GTIN decides where the QR code leads (GS1 Germany). A route in the shop resolves the GTIN and redirects via exactly one default link (GS1-Conformant Resolver Standard) to the product page.
  • Batch and best-before date are transactional data from production and ERP, not master data. The PIM holds GTIN, target pages and documents, while the values per lot come from the ERP when labels are printed.
  • A pilot with one product or product group tests data, printing, scanning and route before the range follows; print quality is checked before series production and on an ongoing basis (GS1 Germany).

What GS1 wants to achieve by the end of 2027

GS1 calls the project 2D migration. The starting point is simple: a one-dimensional barcode such as the EAN code can only encode one product identifier, the GTIN (GS1 Germany). Batch number, serial number or best-before date do not fit. Two-dimensional codes, meaning GS1 DataMatrix or a QR code with GS1 Digital Link, carry this data as well and can be read by checkout scanners as well as smartphones. The German-language implementation guideline published by GS1 Germany, GS1 Switzerland and GS1 Austria states the first goal like this: retail POS scanners are meant to read and process the GTIN from both existing linear codes and 2D codes worldwide by the end of 2027 (GS1 implementation guideline). That requires software updates and, where scanners are not yet image-based, possibly new devices.

For context it matters that the year is an industry goal. There is no law behind it that obliges manufacturers to use a 2D code, and GS1 Germany states explicitly that companies who initially want to use only the linear barcode do not have to add a 2D code. Nor is the EAN code being abolished: during the migration, linear barcodes and 2D codes exist side by side. Anyone who already wants to use a 2D code at the checkout will usually mark products twice during the transition, because not all checkout systems process 2D codes yet. A release from March 2026 (GS1 Germany) shows how far retail has come: the drugstore chain dm is testing the processing of QR codes at the checkout in selected stores during a pilot phase and intends to decide on a possible national rollout on that basis.

Do not confuse an industry goal with the law

Besides the GS1 goal there are legal requirements that also work with codes and product data, such as the digital product passport under the Ecodesign Regulation, which we described in our article on the digital product passport for B2B shop data. The General Product Safety Regulation allows mandatory information such as the type, batch or serial number and the manufacturer's contact details to be provided additionally in digital form via an electronic solution on the product (Art. 21 GPSR). A QR code therefore does not replace the printed mandatory information, it supplements it.

Three notations, one key: the GTIN

At the checkout, one number is what counts in the end. Until now, the point of sale has generally used only the simple plain syntax, meaning the bare GTIN in an EAN-13. With 2D codes, two new GS1 syntaxes are added (GS1 Germany): the element string syntax, in which application identifiers such as (01) for the GTIN or (10) for the batch introduce the values and which is used in GS1 DataMatrix, and the Digital Link syntax, which writes the same data as a web address and sits in a QR code. Because this address follows a fixed structure, a checkout scanner reads the GTIN from it without calling the address; no internet connection is needed for that (GS1 Germany).

Feature (GS1 Germany)EAN-13GS1 DataMatrixQR code with GS1 Digital Link
Contentonly the GTINGTIN plus extra data such as batch, best-before date or serial numberGTIN plus extra data, written as a web address
Syntaxplain syntaxGS1 element string syntaxGS1 Digital Link URI syntax
Readerslaser scanners and image scannersimage scanners and smartphonesimage scanners and smartphones
Main usecheckout scanningprocess optimisation, for example for fresh products and in healthcareaccess to web-based information
During the transitionstays on the packin addition to the EAN code, placed near itin addition to the EAN code, placed near it

For the checkouts themselves, the industry has defined three software modes (GS1 implementation guideline). The minimum requirement for the 2027 goal is mode 1 (GS1 implementation guideline): the scanner recognises the GTIN in any GS1-compliant linear or 2D code, gives a single signal and passes it on, even if several codes with the same GTIN are on the pack. Transferring the batch or expiry date as well is a matter for the further modes. For suppliers this means: checkout scanning works with the GTIN alone. All other data in the code is an offer to retailers and customers who want to use it, not an obstacle to the sale.

How a Digital Link is structured

A GS1 Digital Link is an ordinary web address with a fixed internal order. The standard has been ratified since August 2018 (GS1 Digital Link Standard). GS1 Germany shows the structure with an example: example.com/01/09524000059109, extended by a batch number to example.com/01/09524000059109/10/L12345 (GS1 Germany). The digits after /01/ are the GTIN, the characters after /10/ are the batch. Since version 1.4.0 the standard requires the GTIN to be written with 14 digits (GS1 Digital Link Standard). A GTIN-13, the usual 13-digit EAN number (GS1 Germany), gets one leading zero, a GTIN-8 gets six. This is where things easily go wrong if the PIM holds the GTIN as a 13-digit number and the shop compares the path literally with its database. The following addresses show the levels from the plain item to a batch with best-before date, plus a request for a specific link type:

digital-link-examples.txt
https://example.com/01/09524000059109
https://example.com/01/09524000059109/10/L12345
https://example.com/01/09526000134367/10/L12345/21/S6789?15=271231
https://example.com/01/09524000059109?linkType=gs1:pip

The order in the path is fixed: after the GTIN, the consumer product variant (22), batch (10) and serial number (21) may follow, and only in that order (GS1 Digital Link Standard). Data that describes a product but does not identify it goes into the query string after the question mark as an attribute, for example the best-before date with application identifier 15 in YYMMDD format or the expiry date with 17 (GS1 Germany). For data maintenance this distinction is not hair-splitting: best-before and expiry are two different fields, and anyone who merges them into a single "date" column in the PIM or ERP will later print the wrong application identifier. Batch and serial number may each be up to 20 characters (GS1 Digital Link Standard) long in a Digital Link.

Who decides where the QR code leads?

GS1 Germany is clear on this: responsibility for the linked web page lies with the owner of the GS1 identifier, which for products means, for example, the brand owner who assigns the GTIN (GS1 Germany). For manufacturers this is their own website, and the same applies to wholesalers with private labels. The GS1 Germany checklist for the switchover names the point explicitly: anyone using the QR code with GS1 Digital Link should provide a suitable web resource, for example a product page. For a B2B supplier it makes sense for this page to sit in its own shop, because that is where the product data, the data sheets and, for logged-in customers, prices and availability already are. We have described separately how a product detail page with data sheets and downloads should be built so that a scan actually helps there.

Between code and page sits a resolver, a service that connects an identifier with one or more sources of information. The GS1-Conformant Resolver Standard requires exactly one default link per identifier, which the resolver redirects to unless the request asks for something else (GS1-Conformant Resolver Standard). An app can request a specific link type, for example product information or instructions. If that type is missing, a conformant resolver responds with 404 (GS1-Conformant Resolver Standard) instead of silently falling back to the default link. Not every Digital Link has to be connected to a conformant resolver: a simple 1-to-1 redirect needs no special software, it is a basic function of every web server (GS1-Conformant Resolver Standard).

The address on the pack stays, the target may move

The real value of the Digital Link lies in the redirect: the target can be changed at any time without reprinting the code on the product (GS1-Conformant Resolver Standard). That is why the QR code should not contain the readable address of today's product page, but the stable path with /01/ and GTIN on a domain you control for the entire life of the packaging. A shop relaunch or a new category structure then only changes the redirect, not the labels in your customers' warehouses.

The resolver route in the shop

Whether you need a separate resolver service or a route in the shop is enough depends on how many targets per GTIN you want to serve. For many B2B ranges a manageable set is enough: product page, technical data sheet, safety data sheet, assembly instructions and a test certificate per batch. In a Shopware shop based on the open source edition this can be built as a dedicated route that splits the path, normalises the GTIN and looks up the matching item. The logic is short, the care goes into the edge cases:

  1. Check the path: does it start with /01/ followed by 14 digits with a valid check digit (GS1 Digital Link Standard)? The route can pad shorter GTINs from older codes to 14 digits; new implementations are not required to do so.
  2. Look up the GTIN: the route finds the item via the normalised GTIN, not the internal item number, because only the GTIN is identical in shop, ERP and label.
  3. Serve the default target: without further information, a redirect to the product page in the browser language, with /de/ or /en/ in the target.
  4. Evaluate the batch: if /10/ is in the path, the target page shows the section for this batch with test certificate or recall notice, provided the ERP supplies data for this lot.
  5. Serve link types: if an app requests a specific document, the route delivers it or responds with 404 (GS1-Conformant Resolver Standard) if there is none for this item.
  6. Catch unknown GTINs: respond with status 404, as the resolver standard requires for unknown identifiers (GS1-Conformant Resolver Standard), and show a clear information page with search field and contact in the response body instead of an empty error page, plus a log entry so that the gap in the PIM gets noticed.

One detail sets the B2B route apart from the consumer case: whoever scans is often logged in. A fitter who scans a pack at a customer site lands on the same product page as a consumer, but after logging in sees their prices, stock and reordering. Where a B2B customer portal provides delivery notes and certificates per order, the batch page can point logged-in customers directly to the matching document. The redirect itself stays lean: it only decides on the target, while the shop handles permissions and prices as for any other request.

What needs to be clean in the PIM

The QR code is only as good as the data it points to. For most ranges the work therefore does not start with the code but with an inventory of the GTINs in the PIM and the shop integration. Typical findings are items without a GTIN, GTINs in free-text fields, GTINs that lost their leading zero because a spreadsheet read them as a number, and variants that share one GTIN. Gaps like these later lead to scans that go nowhere. How such a data quality check is generally structured is covered in our article on product data and data quality in B2B.

GTIN with 14 digits

A dedicated field, stored as a string and checked against the check digit on import. The 13-digit form for printing the EAN is derived from it, not maintained separately.

GTIN per sales unit

If single item, pack and carton are sold separately, each unit carries its own GTIN. The assignment belongs to the variant, not to the product family.

Target pages per language

Product page, data sheet and instructions as link types per item and language, so that the route finds the right target without asking back.

Batch and lot

Format and length of the batch number matching the limit of 20 characters (GS1 Digital Link Standard), without disruptive special characters and identical in ERP, label and delivery note.

Best-before and expiry

Two separate date fields, because they carry different application identifiers in the code. Which items need a date is a rule stored on the item.

Documents per batch

Test certificates, certificates or recall notices related to the lot, available via the batch page and not only as an email attachment.

One distinction saves a lot of rework: GTIN, target pages and document templates are master data and belong in the PIM. Batch, best-before date and serial number, on the other hand, are created in production and goods receipt, i.e. in the ERP or warehouse management, and change with every lot. The PIM defines which item should carry which data in the code, while the values themselves come from the ERP when labels are printed. The shop only needs batch values where it shows them, for example on the batch page or in the customer account. How batches and serial numbers travel between ERP, delivery note and shop is described in our article on batch and serial number traceability.

For products that may end up with consumers, identification on the product is mandatory anyway: manufacturers must ensure that their products bear a type, batch or serial number or another element that consumers can easily see and read for identification (Art. 9(5) GPSR). Anyone offering such products online must show, among other things, information allowing the product to be identified, including a picture of it, its type and any other product identifier (Art. 19 GPSR). Ideally, the GTIN on the product page and the GTIN in the code come from the same field in the PIM.

What retail does with batch and best-before date

For retailers the switchover starts modestly. Initially, processing of the data in the 2D code can be limited to the GTIN so that processes after the scan stay unchanged; anyone who wants to use extra data such as the best-before date or batch number has to adapt their back-end systems (GS1 Germany). Among the use cases, GS1 Germany lists more targeted product recalls, because affected batches can be identified more precisely, and freshness management via the best-before date. For suppliers this means: if you already keep batch and best-before date clean in the ERP and pass them on to customers, you can also write them into the code as soon as a trading partner wants to use them. With key accounts that exchange orders and delivery data via EDIFACT, the same values can also travel through the interface.

Food has a special rule that affects wholesalers with a consumer channel. For prepacked food sold at a distance, mandatory information must be available before the purchase is concluded, with the exception of the best-before or use-by date (Art. 14 Regulation (EU) 1169/2011). At the time of delivery, however, all mandatory particulars must be available (Art. 14 Regulation (EU) 1169/2011). A shop therefore does not have to show the best-before date on the product page, but it has to ship the goods with it. The Digital Link can also carry the best-before date on the delivered pack in machine-readable form, and the batch page in the shop can show it to logged-in customers after delivery. More on the specifics of the sector is on our page about B2B e-commerce for food.

Printing, placement and verification

A technically correct code is not enough, it also has to be printed so that it reads reliably. GS1 Germany gives a short list for this: sufficient code size, sufficient contrast, a quiet zone on all sides of the code, a suitable print resolution and a check of barcode quality (GS1 Germany). For checkout scanning during the transition, the 2D code has to be placed near the EAN code. For the barcode itself, GS1 Germany still recommends placing it no closer than 8 mm and no further than 100 mm (GS1 Germany) from the edges of the packaging. If you print labels yourself from the ERP, verify the code before series production and regularly afterwards during operation, especially with new materials or printing processes.

  • Code size and quiet zone stored as fixed dimensions in the label layout, not freely scalable
  • QR code and EAN code side by side during the transition, both with the same GTIN
  • Print resolution of the label printer chosen to match the module size of the code
  • Verifier or verification report before series start, then spot checks during operation
  • Test scans with a trading partner's checkout scanner and with widely used smartphones
  • Target address in the code set to the permanent domain, not to a test environment

Roadmap to the end of 2027

GS1 Germany recommends starting with a clearly defined pilot project rather than the whole range, i.e. with a single product or product group (GS1 Germany). For a B2B supplier this can be put into six steps that bring data, shop and printing together:

  1. Choose a pilot: an item or product group listed with a trading partner that uses image-based checkout scanners.
  2. Define the data: GTIN with 14 digits, the decision whether batch and best-before date go into the code, and the target pages per language.
  3. Extend the PIM: create fields, validation rules and link types and clean up the GTIN records.
  4. Build the route: resolution in the shop with default target, batch page, link types and an information page for unknown GTINs.
  5. Test printing: label with QR code and EAN code, print quality verification, test scans at the checkout and with a smartphone.
  6. Roll out and measure: add further product groups and evaluate the requests to the route to find gaps in the PIM.

There is time until the end of 2027 (GS1 Germany), but not unlimited time if packaging is only reprinted on fixed dates. If you are working on interfaces next year anyway, for example for e-invoicing business customers in other EU countries, you can clean up the GTINs in the same step. Where the PIM holds the data and the shop receives it through integrations with ERP and label printing, the QR code becomes a by-product of clean master data rather than a project of its own. We clarify which fields in your data already fit and where the route starts in a consultation on your B2B e-commerce.

This article is based on data from: GS1 Germany (2D code topic page with FAQ, GS1 Digital Link page, EAN barcode page, checklist for implementing 2D codes at the POS, press release "dm macht Kassen fit für 2D-Codes"), the German-language implementation guideline for 2D codes at the retail point of sale (edition 1.1, GS1 Germany, GS1 Switzerland, GS1 Austria), the GS1 Digital Link Standard: URI Syntax, the GS1-Conformant Resolver Standard (both GS1 AISBL), Regulation (EU) 2023/988 on general product safety (GPSR) and Regulation (EU) 1169/2011 on the provision of food information to consumers, both EUR-Lex. The information reflects the state of the respective publication and is not legal advice.

Related Articles

Integration & processes

E-Invoicing for Business Customers in Other EU States 2027

Germany’s e-invoicing mandate stops at the border. What business customers in Belgium, France and Poland receive and how your shop sets the format per country.

18 min read
Integration & processes

New Product Liability: Proving the Supply Chain in B2B Shops

The new EU product liability rules apply from 9 December 2026. The data a B2B shop needs per order line to name its upstream supplier within one month.

19 min read
Law & compliance

EUDR from December 2026: Reference Numbers in B2B Shops

The deforestation regulation applies from 30 December 2026. How reference numbers flow from goods receipt through ERP and shop to delivery note and invoice.

14 min read