Restricted & in-store barcodes: why they scan at your till but get rejected
LabelCraft - barcode labels for Shopify that print at exactly the size you set.
Every label prints at the size you set - measured, not approximate.
Overflow or a missing barcode always raises a visible warning before you print.
Modules snap to your printer's dots, so codes stay crisp and scan first time.
We never overwrite or reassign a product's existing barcode.
If you reused an old store code, a shelf-edge number or a PLU as a product barcode, it probably scans perfectly at your own register - and then gets rejected the moment you list on Amazon, eBay or Google Shopping. That is because those numbers are restricted distribution codes, not globally-unique GTINs. This guide explains which leading digits are restricted, why they fail outside your store, and how LabelCraft's Barcode audit flags them before a bad listing costs you a sale.
What restricted and in-store barcodes are
GS1 reserves certain leading-digit ranges for restricted circulation numbers (RCN) - barcodes a shop assigns to itself for internal use, such as loose produce, in-store packing, or items that never had a manufacturer code. They are valid EAN-13 / UPC-A numbers with a correct check digit, so a scanner reads them happily. The catch is that they are not unique outside your own system: every other shop is free to use the same number for something completely different. They were designed to stay inside one store, never to travel to a marketplace.
Why they scan at your till but fail at marketplaces
A marketplace matches a barcode to a single product in a global catalogue, so it only accepts a globally-unique GTIN backed by a real GS1 company prefix. When you submit a restricted code, the marketplace either rejects it outright ("invalid UPC/EAN", "GTIN not recognised") or, worse, matches it to a different company's product that happens to share the number. Your own till never noticed because it only checks its own database. The fix is not a bigger label or a clearer print - it is replacing the number with a real GTIN.
Restricted prefix reference
These are the leading-digit ranges that are NOT globally-unique retail codes. The table is generated straight from the same prefix data LabelCraft's Barcode audit uses, so it cannot drift from what the app flags:
- 020-029 - Restricted distribution (in-store / RCN)
- 200-299 - Restricted distribution (in-store / RCN)
- 040-049 - Restricted distribution (company internal)
- 050-059 - Coupons / GS1 US reserved
- 977 - ISSN (serial publications)
- 978-979 - ISBN / ISMN (books, sheet music)
- 980 - Refund receipts
- 981-984 - GS1 coupon identification (common currency)
- 990-999 - GS1 coupon identification
In a 13-digit barcode the in-store ranges show up as a code beginning 02 (020-029) or 2 (200-299); 40-49 are company-internal codes; 977 / 978-979 are ISSN / ISBN (periodicals and books); and the coupon / receipt ranges are point-of-sale tokens, never product codes. Every genuine member-organisation prefix - for example 690-699 (GS1 China) or 400-440 (GS1 Germany) - stays valid. See the GS1 prefix guide for what each country range means.
How to tell if your Shopify codes are restricted
LabelCraft's Barcode audit reads every barcode in your catalogue and labels each one: a real GTIN, a wrong check digit, a custom Code 128, or a restricted code in one of the ranges above. A restricted finding tells you the exact number that scans at your till but will collide elsewhere, so you can fix it before you push the product to a marketplace channel. It is the same data this table is built from, so what you read here is what the app reports.
How to fix a restricted barcode
Replace the in-store number with a genuine GTIN. If your products need real, globally-unique barcodes, where to get barcodes explains your options (a GS1 company prefix, or single GTINs for a small range). For internal-only items that never leave your store, a non-numeric Code 128 SKU is honest and clearly not a retail GTIN. The difference between a real GTIN and an internal number is covered in the GS1 barcodes guide.
Want LabelCraft to flag your restricted codes and print clean, scannable labels at the exact size your printer needs? Install it from the Shopify App Store, or contact LabelCraft support if a code looks wrong.
Install free - 200 labels per month →
Related guides
- Shopify Barcode Labels — Complete Guide
- Shopify barcode label FAQ
- Print Shopify Barcode Labels When Your Products Have No Barcode Yet
- How to Add Barcodes to Shopify Products in Bulk
- SKU vs Barcode in Shopify — What's the Difference and Do You Need Both?
- Where to Get UPC/EAN Barcodes for Shopify — GS1 vs Resellers, and What You Actually Need
- Free barcode generator for Shopify
- GS1 Barcodes & Valid GTINs for Shopify
- The GTIN check digit, and why your barcode won't scan without it
- My barcode is invalid - how do I fix the check digit?
- Find and fix duplicate barcodes in Shopify
- Shopify barcode types: which format should you print?
- What country is a barcode from? GS1 prefixes explained
- QR Code & Data Matrix Labels for Shopify
- UPC vs EAN-13 vs GTIN-14: is my 12-digit code the same item?
- Barcode lost its leading zero in Excel - get the UPC back
- What Can a Label App Read in Your Store?