What we have seen in migrations and app audits is this: many apparent inventory bugs are identity bugs. The same variant has different codes in Shopify, the warehouse and the marketplace, or two variants share a copied SKU. Every downstream reconciliation then becomes guesswork.
Contact StoreBuilt to clean product identifiers before a Shopify migration or integration rollout.
Table of contents
- Keyword decision
- Give each identifier one job
- Design a durable SKU format
- Govern creation and change
- Map connected systems
- Audit the catalogue
- StoreBuilt point of view
Keyword decision
Primary keyword: Shopify SKU system. Secondary intents include Shopify barcode management, ecommerce SKU governance UK and Shopify product identifiers. Intent is informational-commercial for teams preparing growth, POS, 3PL, ERP or migration work. Competitors explain product setup at a high level; StoreBuilt can win by showing the governance needed to keep integrations and physical operations reliable.
Give each identifier one job
Shopify describes SKUs as internal inventory codes and notes that barcode scanners typically read the barcode field rather than SKU. A barcode may hold a GTIN such as EAN, UPC or ISBN, while marketplace, supplier and warehouse systems may add their own identifiers.
| Identifier | Primary job | Governance rule |
|---|---|---|
| Shopify variant ID | platform record identity | never substitute a visible business code |
| SKU | internal sellable-variant identity | unique, stable and present |
| GTIN/barcode | external/scannable identity | valid and correctly assigned |
| supplier code | procurement reference | map to internal SKU |
| component code | bundle or BOM identity | maintain explicit relationship |
Do not force every code into the SKU field. Store a mapping with named source and owner. This makes it possible to change a supplier without changing the product’s internal identity.
Design a durable SKU format
Use a short, consistent format that avoids spaces and ambiguous characters. Shopify recommends uniqueness and consistency and cautions that duplicate SKUs can create integration and inventory problems. Encode only attributes that remain useful and stable; colour and size may help warehouse staff, but price, season or supplier can become stale.
An anonymous fashion merchant had inherited SKUs from three suppliers. The same colour used four abbreviations, discontinued items were reused for new styles, and a marketplace stripped punctuation. Before connecting a new warehouse, the team created stable internal SKUs and a legacy mapping rather than overwriting every external record at once. That reduced migration risk without pretending history could be rewritten.
| Good property | Why it matters |
|---|---|
| unique per variant | supports accurate joins and counts |
| stable over time | protects history and integrations |
| easy to distinguish | reduces pick and entry mistakes |
| scalable structure | accommodates catalogue growth |
| system-safe characters | avoids import and search failures |
Do not invent GTINs. Some channels require valid globally issued identifiers. Confirm category and channel requirements, and obtain identifiers through the manufacturer or appropriate issuing route.
Explore Shopify migration and replatforming when identifier cleanup affects historic and connected data.
Govern creation and change
Assign one system and role as the creation authority. Define when a new variant receives a code, who can approve exceptions, and which validations block publication. At minimum, check missing SKUs, duplicates, case-only differences, illegal characters, reused retired codes and missing required barcodes.
Treat a SKU change as a data migration. Record old value, new value, effective time, reason and affected systems. Update mapping tables and test open orders, returns, purchase orders, feeds and warehouse stock. Historical Shopify orders may preserve values captured at purchase, so reports must not assume today’s product field rewrites history.
For bundles and multipacks, distinguish the customer-facing sellable unit from its components. The storefront, inventory app and warehouse must agree whether scanning the bundle decrements one bundle, several components or both through controlled logic.
Map connected systems
Create a system matrix before integration.
| System | Match key | Failure if wrong |
|---|---|---|
| ERP | SKU or internal mapping | wrong stock and revenue joins |
| 3PL/WMS | SKU plus barcode | pick rejection or wrong item |
| POS | barcode to variant | scan failure at till |
| marketplace | GTIN and seller SKU | listing collision or suppression |
| returns portal | order line and SKU | wrong refund or disposition |
Test leading zeros, case sensitivity, Unicode, archived variants, duplicate barcodes, products without variants and bulk import behaviour. Monitor rejected messages and unmapped identifiers rather than silently creating records.
Use Shopify’s product and inventory identifiers as designed. A human-friendly SKU is not a replacement for immutable platform IDs in API logic. Integrations should retain both the Shopify object identity and the business identifier.
Audit the catalogue
Run a full export and report completeness and uniqueness at variant level. Sample physical labels against Shopify and connected systems. Prioritise active, high-volume and multi-channel products, then archived stock that can still return.
Track missing and duplicate identifiers, mapping failures, scan exceptions, manual substitutions and pick errors linked to identity. Add validation to the creation workflow so the catalogue does not decay again after cleanup.
Request a Shopify audit before adding POS, a 3PL, ERP or marketplace feed to an inconsistent catalogue.
Plan a safe identifier migration
When cleanup requires new SKUs, avoid a big-bang overwrite without a cutover map. Freeze uncontrolled catalogue edits, export the current variant identity and capture every connected system that consumes the code. Build a crosswalk containing Shopify variant ID, old SKU, new SKU, barcode, supplier code, effective time and migration status.
Rehearse the change with open orders, unreceived purchase orders, warehouse stock, returns in transit, bundles, gift sets and marketplace listings. Decide how each system will recognise stock labelled with the old code after cutover. In many operations, maintaining a searchable legacy alias is safer than relabelling every historic artefact immediately.
Run uniqueness and completeness checks before and after import. Then test a real scan at POS and the warehouse, an inventory update from the source system, an order export, a return and a sales report. Monitor unmapped-message queues closely during the first trading days. Document rollback boundaries: changing Shopify back may not reverse updates already accepted by a 3PL or marketplace. The safe outcome is not merely that new products display; it is that every physical unit and transaction remains traceable through the identity transition.
StoreBuilt point of view
StoreBuilt believes product identity is infrastructure. A clever SKU pattern matters less than uniqueness, stability, explicit mapping and ownership. Fix those foundations before asking another app to synchronise data that the business itself cannot identify consistently.