The Rules That Make a SKU Safe to Integrate On
Six design rules. None are complicated, and many identifier problems trace back to breaking one of them years ago.
Unique and never reused
Each SKU identifies exactly one sellable item for its entire life and after it. When a product is discontinued, its SKU retires with it. Reusing a retired code for a new product looks tidy in the catalogue and corrupts history everywhere else: last year’s sales report now shows the new item, a returned old unit is booked into stock as the new one, and the 3PL may still hold a pick face labelled with the old meaning. Some platforms enforce uniqueness and some do not (Shopify, for example, will let two variants share a SKU), so do not rely on the software to stop you.
Stable when attributes change
Price, supplier, description, category and even packaging artwork change over a product’s life. The SKU should not have to. Codes that encode things likely to change, such as the supplier, the season, the price band or the current colour name, eventually become wrong, and then you face a choice between a misleading code and a rename that every integration has to absorb. Encode only attributes that define the item and will never change while it is the same product.
System-safe characters
A practical safe set: uppercase letters A to Z, digits, and a single separator such as a hyphen. Avoid spaces, slashes, ampersands, full stops, commas, quotes and accented characters, which break URLs, CSV files, file names and some APIs. Never start a code with a zero, because spreadsheets drop it. Avoid all-numeric codes of 12 or more digits, which spreadsheets may convert to scientific notation and which are easily mistaken for barcodes. Check the shortest SKU length limit across every system in the chain, marketplaces included, and design to that.
Intelligent or non-intelligent
An intelligent SKU encodes meaning, for example TSH-ORG-NVY-M for an organic navy tee in medium. Staff can read it on a pick slip and spot errors. A non-intelligent SKU is just a sequence, for example 100482, which never becomes wrong but tells a picker nothing. The common middle path is a short, stable style prefix plus variant suffixes for size and colour only, with everything else held in proper attribute fields. Whichever you choose, write the rule down so the next person follows it.
Parent and variant structure
Most platforms model a parent product, often called a style, and its variants. Only the variant is sellable, stocked and scanned, so only the variant SKU should travel through order, stock and fulfilment integrations. The style code is useful for grouping and reporting and should be held as a separate field. A common failure is a single-variant product where the parent and variant share one code, which then collides when a second size is added later. Give the variant its own code from day one.
Supplier codes kept separate
Using the supplier part number as your SKU is tempting and almost always regretted. Suppliers change their numbering, two suppliers use the same number for different things, and the day you switch supplier for the same product your SKU becomes a lie. Hold the supplier code in a dedicated supplier item field, one per supplier where you dual source, and map to it on purchase orders. Your SKU stays yours.