,

Sunrise 2027: Having the Data Is Easy. Acting on It Is the Hard Part.

Sergii Guliaiev Avatar

·

,

·

QR code drawn as a rising sun with purple rays under the headline: Having the data is easy. Acting on it is the hard part. Sunrise 2027 2D barcodes in grocery.

TL;DR: Sunrise 2027 is a GS1 industry target: by the end of 2027, supermarket checkouts should be able to read 2D codes. The minimum is the product number (GTIN). Expiry date and batch are optional, and the product’s owner decides whether to put them in the code. Where they are in the code, a store can capture them when goods arrive, keep stock by batch and date, and see how many packs of each date it holds. That is having the data. The hard part is acting on it every day: how deep to discount, morning or evening, and what the cheaper pack does to the full-price pack next to it. That’s what StoreAgent is built for.

By the end of 2027, supermarket checkouts are expected to read 2D codes. This is Sunrise 2027, a voluntary target set by GS1, the organisation behind barcode standards. It is not a law. 2D codes can carry a pack’s expiry date and batch, not only its product number. So a store’s system can count how many packs of each date it holds, straight from the scan, instead of staff checking shelves by hand. But having the data is the easier part. Acting on it is the hard part.

What is Sunrise 2027?

A voluntary GS1 industry target: by the end of 2027, checkout systems should be able to read 2D codes, such as QR codes and GS1 DataMatrix.

Sunrise 2027 is the name GS1 US uses. Globally, GS1 calls it “Ambition 2027”. The rules for 2027 are simple:

  • The minimum is the product number. GS1’s August 2026 position paper says reading the GTIN only “is the minimum requirement for Ambition 2027”. GS1 Germany puts it the same way: by the end of 2027, checkout systems should read at least the GTIN, and batch numbers or best-before dates can be used in addition.
  • The product’s owner decides what goes in the code. In GS1 Germany’s words, the company decides which data the code contains, based on its use case. For private label, that is the retailer.
  • The old barcode doesn’t disappear overnight. GS1 Germany says linear barcodes and 2D codes will exist side by side during the move. Tesco, too, says linear barcodes will stay on branded products during the transition.

So Sunrise 2027 is about the checkout being ready. It does not mean every pack will carry its date in a 2D code in 2027.

What data can a 2D code carry for a grocery store?

Beyond the product number, a 2D code can carry the expiry date and the batch (lot) number of each pack.

That changes what a store can know. Today, stock is usually counted by product: “40 packs of chicken breast.” With date and batch in the code, the same stock can be split by date: “12 expire tomorrow, 28 on Friday.” (Illustrative numbers.)

Tesco is one of the first to move a whole range. In April 2026, it began switching its full private-label core sausage range, 13 lines made with supplier Cranswick, to QR codes. Packaging Europe reports that the codes capture use-by dates and batch numbers. Tesco says the change gives better visibility of remaining shelf life on products in stores, helps order more accurately and makes stock control more efficient. In a recall, a store can find the affected batches instead of removing every pack.

Private-label and in-store labelled products are a natural place to start, because the retailer controls the label. In-store labels, such as deli and bakery, are fully in the retailer’s hands. Other private label still depends on what the supplier’s printing can do. GS1’s August 2026 position paper names deli meats labelled in store and bakery products as cases where retailers can move “without waiting for broader supplier adoption of 2D”.

Can stores capture expiry data at goods receiving?

Where the date is in the code, yes. GS1’s 2026 playbook recommends capturing batch and expiry when goods arrive, and keeping stock by batch and date, not only by product.

The GS1 2D Barcode Playbook for Retail POS Host and Backend Systems (version 1.0.1, May 2026) lists these business rules:

  • “parse 2D barcode data on goods receipt to capture batch and expiry”
  • track stock “at batch/lot, date or serial level rather than solely at SKU level”

GS1 Denmark (updated 21 Sep 2026) lists goods receipt as a use case too: “GTIN and batch number or date can be captured simultaneously.”

Three limits are worth knowing:

  • This is guidance. The playbook describes what systems should do, not what most stores do today.
  • Systems need work first. GS1 Germany says checkout, ERP and merchandise systems often need changes, and more so when the code carries batch or best-before date, not only the GTIN.
  • A case or pallet label carries one date. If a case holds packs with different best-before dates, GS1’s General Specifications (V26, January 2026, German edition) say those dates can’t be barcoded on the case. They have to travel in the electronic delivery data instead.

Why does the checkout still need to read the date?

Because stock by date can only stay right if each sale comes off the right batch.

Capturing dates at receiving adds packs to each date. Reading the date at the checkout takes sold packs off again. Without the checkout read, the count drifts. Waste, damage and theft still have to be recorded too.

GS1 Finland described this in June 2026, writing about Norwegian grocer NorgesGruppen: “When expiry date information is included in a GS1 2D code, the point-of-sale system can update store inventory data at batch level during each sales transaction.” A store manager at Meny Bryn, one of its stores, adds: “When product expiry dates are included in the data flow, we can order products more accurately, manage stock rotation more efficiently and identify in good time products whose use-by date is approaching.”

The same GS1 playbook lists more checkout uses: “implement expiry stop-sale”, “targeted recall blocking by batch/lot or serial number” and “price mark-down automation (based on date/AI 17 or business rules)”. Receiving and checkout work together.

Is expiry data enough to make the right markdown?

No. The data shows which packs are at risk. It doesn’t decide what to do about them.

There are two reasons.

Stock records drift. A study published on 7 July 2026 in the Journal of Business Logistics (Rekik, Oliva, Syntetos and Glock) covered about 24,000 products in 11 stores of a large UK grocer. Stock records didn’t match the count for 64.7% of items. Perishable items were more likely to be wrong. The authors say technologies that improve visibility are “complements to, rather than substitutes for, managerial oversight and targeted audits.” Better data helps. It still needs judgement on top.

A rule is not a decision. The playbook mentions automatic markdowns based on date or business rules. Someone still has to set the rule, and keep it right as stores, days and products change. A rule set once doesn’t adjust by itself.

Which markdown decisions does expiry data leave open?

Three: how deep to discount, when to do it, and what the cheaper pack does to the full-price pack next to it.

  • How deep. How much to take off this pack, in this store, today. Too little and it doesn’t sell. Too much and the store gives away gross profit it didn’t need to.
  • When. A pack marked down in the morning has the whole day to sell. Marked down in the evening, it has a few hours.
  • The pack next to it. A cheaper pack can take the sale from the full-price pack beside it. That full-price pack can then become tomorrow’s markdown.

Illustrative numbers, not customer data. 12 packs of chicken breast, use-by today. Shelf price €4.00, cost €2.80. Sales numbers are assumptions; fewer shoppers are left in the evening. Unsold packs are written off at cost.

  • Option A: −20% at 9:00 (€3.20). Assume 10 sell and 2 are written off. Gross profit on the 12 packs: 10 × €0.40 − 2 × €2.80 = −€1.60.
  • Option B: −50% at 19:00 (€2.00). Assume 7 sell and 5 are written off. Gross profit on the 12 packs: 7 × (−€0.80) − 5 × €2.80 = −€19.60.

Same product, same date data, €18.00 apart in gross profit on one product in one store on one day. And if some Option A buyers would have bought the full-price pack next to it anyway, part of that €18.00 difference is lost on the full-price shelf. That trade-off is the third decision.

The date tells you the deadline. It doesn’t tell you which option to pick.

What does StoreAgent do with expiry data?

StoreAgent is built for daily markdown decisions that protect gross profit: which packs to mark down, how deep, and when, with the effect on the full-price pack next to it in view.

StoreAgent can already read printed expiry dates, so stores don’t need to wait for 2D codes to start. 2D codes are the next opportunity: as more packs carry their date and batch in the code, there is more data to act on, from goods receiving to the checkout.

If you want to see how this works in a store, take a look at StoreAgent. For the money side, read Does reducing food waste increase profit? and How much does food waste cost a supermarket?

FAQ

Is Sunrise 2027 a law?

No. Sunrise 2027 is a voluntary industry target set by GS1. Retailers and brands work towards it, but no law requires it.

Will every pack carry its expiry date in a 2D code by 2027?

No. For 2027, the minimum is that checkouts can read the product number (GTIN). Expiry date and batch are optional, and the product’s owner decides what goes in the code. Linear barcodes and 2D codes will exist side by side during the transition.

What does a 2D code add compared with a normal barcode?

A normal linear barcode carries the product number. A GS1 2D code, such as a QR code or GS1 DataMatrix, can also carry the expiry date and the batch number of each pack.

Why read the expiry date at both goods receiving and the checkout?

Receiving adds packs to stock by batch and date. The checkout takes each sale off the right batch. GS1’s playbook also lists stopping the sale of expired packs and blocking recalled batches at the checkout.

Do stores need 2D codes to manage markdowns by expiry date?

No. Expiry dates are already printed on packs and can be read today. StoreAgent can already read printed expiry dates. 2D codes make the data easier to capture as more packs carry them.

Does having expiry data solve markdowns?

No. The data shows which packs are at risk. Someone still has to decide how deep to discount, when, and how the cheaper pack affects the full-price pack next to it.

Over to you

In your stores, is the bigger gap having the data, or acting on it?

Sources