Shopify's GS1 GTIN suggestions: what changes for labels and receiving
Shopify now checks barcodes against the GS1 registry and suggests a GTIN type. What a corrected barcode means for Restock Ops labels, scans and receiving.
On 29 October 2026 Shopify's changelog announced GTIN suggestions and autocomplete in the admin. When you type a barcode on a product, Shopify looks it up against the GS1 registry, the body that issues UPC and EAN prefixes, and offers to classify it as a GTIN of the right length. For barcodes saved earlier under the generic Custom type, the products and inventory bulk editors can now suggest the GTIN classification in bulk, warn when the stored value disagrees with GS1's data, and let you accept or dismiss the suggestions a page at a time.
That is useful housekeeping, and it is also a change to the one field Restock Ops leans on most. Labels encode it, scanners search by it, and receiving matches supplier deliveries against it. This post goes through what a GS1 check can and cannot tell you, what happens in Restock Ops when a barcode is accepted, corrected or left alone, and the order to do things in so the labels on the shelf still scan afterwards.
What the GS1 registry check actually verifies
A GTIN is a number with a structure: a company prefix issued by GS1, an item reference chosen by the brand, and a check digit computed from the rest. A 13-digit GTIN is an EAN-13, a 12-digit one is a UPC-A, an 8-digit one is an EAN-8. Shopify's lookup can confirm two things about a number you type: that its prefix belongs to a registered company, and that GS1's record of the product, where one exists, matches what you have. It cannot confirm that the number is physically printed on the box in front of you. The number on the box is still the authority for anything you intend to scan.
The warning Shopify shows when GS1 data differs is worth reading literally. It means the brand that owns the prefix registered this number against a different description, or the number is not registered at all. Common causes, in rough order: a typo somewhere in the thirteen digits; a supplier that reused an old GTIN for a new pack size; a barcode you made up for an internal product using a prefix you do not own; and a legitimate product whose brand never published its data to GS1's registry, which is common for small manufacturers and most private label goods.
How Restock Ops reads the same barcode
Restock Ops never asks whether a barcode is registered. When it prints a label, it looks at the digits. Thirteen digits with a valid check digit print as EAN-13, twelve as UPC-A, eight as EAN-8. Anything else, including a thirteen-digit number whose check digit is wrong, prints as Code 128, a symbology that encodes arbitrary text and that every retail scanner reads. So a barcode Shopify flags as not matching GS1 still prints and still scans, as long as its check digit is sound. The two tools are checking different things: Shopify asks whether the number is real in the world, Restock Ops asks whether the number is well formed enough to print as a retail barcode.
The check digit test matters more than it sounds. A number that fails it is almost always a typo, and until now nothing in Shopify would say so. The GTIN suggestion feature will, in effect, because a mistyped number has either an unregistered prefix or a GS1 record that does not match. If you have ever wondered why one product's label came out in the thin Code 128 style while the rest were proper EAN-13s, this is the usual reason, and the new warning is a second way to catch it.
Since Shopify's product details update this autumn a variant can hold several barcodes, each with a type. Restock Ops works with the first one, as described in the multiple barcodes post. Accepting a GTIN suggestion reclassifies that barcode's type; it does not reorder the list or add a second entry, so the value the app encodes is unchanged.
Accept, correct or dismiss: three different outcomes for your labels
Accepting a classification is the harmless case and the one most stores will do hundreds of times. The digits stay the same; only Shopify's label for them changes from Custom to GTIN. Every label already stuck on a product keeps working, the barcode search in Restock Ops finds the same variant, and the stocktake scanner carries on. There is nothing to reprint.
Correcting a value is a different matter. Shopify's warning may lead you to fix a digit, or to replace an internal number with the supplier's real GTIN. The moment you save, every label printed with the old number points at nothing. A stocktake scan of that label will report an unknown barcode, and the receiving screen will not match a delivery of that product to a line on the purchase order by barcode. The product is fine; the stickers are stale.
So the order of operations is: make the corrections in Shopify first, then open Restock Ops and print fresh labels for exactly the variants you changed. The simplest route is to tag the corrected products in the bulk editor at the same time as you fix them, find them in Restock Ops by that tag or by searching the new barcode, and print from there. A corrected EAN-13 prints as a proper EAN-13 from then on, which is a small visible upgrade on products that were previously printing as Code 128 because of a typo.
| Action in Shopify | Barcode value | Existing labels | Scanner and search |
|---|---|---|---|
| Accept GTIN classification | Unchanged | Still scan | Unchanged |
| Correct a mistyped digit | Changed | Encode the old number | Old labels find nothing |
| Dismiss the suggestion | Unchanged | Still scan | Unchanged |
| Replace a made-up barcode with a GS1 one | Changed | Encode the old number | Old labels find nothing |
Receiving against a corrected barcode
Receiving is where the GS1 check pays for itself. When a delivery arrives, you scan each item and Restock Ops matches the scan to a purchase order line by the variant's barcode. If the supplier printed the real GTIN on the carton and your Shopify record held a mistyped version, that scan has always failed and someone has always had to pick the line by hand. After the correction, it matches.
The reverse case is the one to watch for. If your supplier ships a product under one GTIN and Shopify's GS1 lookup suggests a different registered number, say because the brand reissued the code for a new pack size, do not accept the suggestion blindly. Scan the physical carton. The number your scanner reads from the supplier's own label is the one that should be in Shopify, because that is the number the next delivery will carry. The GS1 registry describes what the brand registered; your receiving dock sees what the brand actually shipped, and the two drift.
Where the mismatch is real, record the supplier's number as the barcode and leave Shopify's warning in place. It is a note about the brand's registry hygiene, not about your data. Restock Ops encodes the digits it finds and does not care about the classification, so a warning left standing costs nothing operationally.
Products without a GS1 barcode at all
Plenty of products have no GTIN and never will: made-to-order items, bundles you assemble yourself, consignment pieces. The new feature does not force a GTIN on them, but if you have been typing internal codes into the barcode field, the GS1 warnings will light up on every one of them because the prefix is not registered. That is expected, and dismissing the suggestions is the right call.
Two cleaner options exist for the long run. One is to leave the barcode field empty and let Restock Ops print the SKU as a Code 128 label, which it does whenever a variant has a SKU and no barcode, so you still get a scannable sticker. The other, if you sell through channels that require a GTIN, is to buy a GS1 prefix and assign real numbers, in which case the labels you print afterwards come out as EAN-13 or UPC-A automatically once the digits are right. Either way, the field should hold a number you intend to scan or nothing, not a placeholder.
The EU product identifier changes due in November put a deadline on some of this for stores selling into Europe, which is probably why Shopify shipped the registry check now. The practical sequence is the same regardless of the reason: fix the numbers in Shopify, reprint only what changed, and scan a carton before you trust a suggestion over your supplier.
A short procedure for the bulk editor session
Open the products bulk editor with the barcode column visible and work through the GTIN suggestions. Accept the ones that classify an existing number without changing it. For every suggestion that would change digits, check the carton or the supplier's catalogue before accepting, and add a tag such as barcode-fixed to the product when you do. Dismiss suggestions on internal codes you intend to keep. Then open Restock Ops, find those variants, and print labels for them only. Walk the shelf with the stocktake scanner afterwards and scan one of each corrected product; a match confirms the new label and the new record agree, which is the whole point.
FAQ
Does accepting Shopify's GTIN suggestion change my barcode labels?
No. Accepting a classification changes the barcode's type from Custom to GTIN and leaves the digits as they were. Restock Ops encodes the digits, so existing labels keep scanning and nothing needs reprinting. Only a change to the digits themselves makes old labels stale.
Why does Restock Ops print some barcodes as Code 128 instead of EAN-13?
Because the number is not a well formed EAN-13, UPC-A or EAN-8: the wrong length, non-digit characters, or a failing check digit. Code 128 encodes any text and still scans. A thirteen-digit barcode printing as Code 128 almost always has a typo, which Shopify's GS1 check will now also flag.
Shopify warns that my barcode differs from GS1 data. Should I accept the suggested number?
Not before scanning the physical product or carton. The number on the supplier's own label is the one your receiving scans will meet, so that is the one to store. If it disagrees with the registry, keep the supplier's number and dismiss the warning.
What happens to receiving if I correct a barcode after a purchase order was created?
Receiving matches scans to purchase order lines by the variant's current barcode, so scans of the supplier's carton will match once the record is corrected. Old labels you printed with the wrong number will no longer match anything and should be reprinted for those variants.
Try it on your store. Restock Ops adds purchase orders with partial receiving, supplier notes, cost history, barcode labels, scanner stocktakes and a reorder report on top of Shopify inventory. From $19/month, 14-day free trial.