Skip to content
Quoge

Designing an SKU system you will not regret

What belongs in a product code and what does not, why encoding price or supplier goes wrong, and how to keep a scheme extendable as the range grows.

4 min read · updated

An SKU is an internal handle for a product. Its only real job is to be unique, readable by a human under pressure, and stable for the life of the product. Most bad schemes fail the third test, because they encode something that later changes.

What belongs in the code

Attributes that define the item and never change: category, style, colour, size. A blue shirt in medium is SHRT-BLU-M and stays SHRT-BLU-M whatever else happens to it.

SegmentExampleWhy it is safe
CategorySHRTA shirt does not become a shoe
ColourBLUFixed attribute of the variant
SizeMFixed attribute of the variant

What does not belong

  • Price. It changes, and then your code lies. Every discount would need a new SKU.
  • Supplier. You may switch, and the same product would end up with two codes.
  • Season or year, unless the item is genuinely retired at the end of it.
  • Stock location. Stock moves; the product does not change identity when it does.

Keep it mechanical

The scheme should be a pattern, not a series of decisions. If adding a colour means inventing a new convention, the scheme has already failed. Generate codes from a fixed pattern so a new variant extends the system instead of breaking it, and so two people entering stock independently produce the same code.

Generate SKUs from a patternBuild consistent SKU codes from product attributes.

SKU and barcode are different things

The SKU is yours and can contain letters. A barcode is what a scanner reads, and the symbology constrains it: EAN-13 takes exactly thirteen digits with a check digit, while Code 128 accepts letters and so can carry your SKU directly. If you want to scan your own codes rather than manufacturer barcodes, Code 128 is usually the answer.

Print barcode labels from a SKU listPrint sheets of barcode labels for your stock.

Once codes are stable, counting stock becomes arithmetic rather than archaeology. Opening balance plus receipts minus issues gives a closing figure you can check a physical count against, and disagreements point at a specific movement instead of a general suspicion.

Track stock movementTrack stock movements with inward, outward and balance.

Tools from this guide

All guides