SKUStock Keeping Unit

A unique internal code your business uses to identify and track every distinct product variant.

By Oana Bradulet

A SKU (pronounced "skew") stands for Stock Keeping Unit — a unique code your business assigns to every distinct product you sell, so you can count it, price it, ship it, and reorder it without ambiguity.

A SKU is the atomic unit of inventory management. If two things on a shelf might need to be priced differently, restocked separately, or sold to different customer segments, they're two SKUs. If they're interchangeable, they're one SKU.

Take a black t-shirt. Sounds like one product. But:

  • Black t-shirt, size S → one SKU
  • Black t-shirt, size M → another SKU
  • Black t-shirt, size M, "Slim Fit" version → another SKU
  • Black t-shirt, size M, in the gift-wrapped Christmas bundle → another SKU

One product line, four SKUs. Each one needs its own forecast, stock count, reorder point, and price.

SKU vs UPC vs GTIN vs EAN

This is where the confusion usually starts. SKUs get muddled with the barcodes printed on the packaging. They're different things doing different jobs.

  • SKUinternal identifier. You make it up, you control the format, it only matters inside your business and your systems. Could be TS-BLK-M-SLIM or SKU-00482 — your choice.
  • UPCexternal identifier. 12-digit barcode used in North American retail.
  • EANexternal identifier. 13-digit barcode used in Europe and most of the rest of the world.
  • GTIN — the umbrella term for UPC, EAN, ISBN, and a few others. Standardised globally so any retailer can scan and identify your product.

A single SKU usually maps to one GTIN. But a GTIN can also be reused across retailers — your t-shirt's GTIN is the same whether you sell it on your own site, Amazon, or in a wholesale account. Your SKU is yours alone.

Why your SKU naming convention matters more than you think

A bad SKU naming convention is one of those decisions that feels trivial in week one and costs you weeks of cleanup in year two.

Two patterns work:

Significant SKUs carry meaning. TS-BLK-M-SLIM tells a human looking at it that it's a t-shirt, black, medium, slim fit. Easy to scan in a spreadsheet, harder to maintain when the structure breaks (what happens when you add a new attribute?).

Non-significant SKUs are just sequential numbers — SKU-00482. The meaning lives in the database, not in the code. More robust at scale; less helpful when you're glancing at a PO.

Most growing brands start with significant SKUs and switch to non-significant ones around the time they hit 500+ active SKUs and start tripping on edge cases.

Either way, three rules hold:

  1. Pick a delimiter and stick with it. Hyphens, underscores, dots — pick one. Mixing them breaks every spreadsheet filter you'll ever write.
  2. Don't put the price, the supplier, or anything else likely to change inside the SKU. Once a SKU is in your system, it's everywhere. Renaming it is painful.
  3. Reserve a slot for variant attributes you don't have yet. Today you sell in S/M/L. Tomorrow you add XS, XL, kids sizes. Your SKU format needs to absorb that without a redesign.

How SKUs underpin everything else

Every other inventory metric — days inventory outstanding, MOQ, reorder point, sell-through rate — is calculated per SKU. A clean SKU structure isn't an admin task; it's the foundation that makes the rest of planning possible.

For multi-channel ecommerce brands selling the same SKU across Shopify, Amazon, and wholesale, the SKU also has to map cleanly to channel-specific identifiers (Amazon ASIN, Shopify product ID, retailer item codes). Inventory management for ecommerce is mostly the discipline of keeping that mapping clean as the catalogue grows.

How to create your first SKU — a 5-step walk-through

If you've never built a SKU naming convention from scratch, here's the working method.

  1. Pick a category prefix. 2–3 letters that identify the broadest grouping. Tee-shirt → TS. Hoodie → HD. Skincare cleanser → CL. Keep it short; it appears in every SKU below it.
  2. Encode 1–3 attributes. Pick the attributes that actually vary and that you'd filter on in a spreadsheet. For apparel, that's typically colour and size: TS-BLK-M. For beauty, often shade and size: CL-NEU-30 (neutral, 30ml).
  3. Add a sequential suffix only if you need uniqueness within that combination. TS-BLK-M-001 for the first black-medium tee, -002 if a second one ever exists. Most SKUs don't need this.
  4. Check for collisions. Search your existing catalogue for the proposed code. A duplicate ID is the single most painful inventory accident.
  5. Add to the system. Once it's saved, don't rename it — even after a typo. Renaming a SKU breaks history, integrations, and supplier records.

A practical heuristic for length: 8–12 alphanumeric characters works in almost every system you'll integrate with. Below 8 you run out of attribute space; above 12, scanners and CSV imports start truncating.

SKU vs the other identifiers — quick reference

The identifier landscape is genuinely confusing. Here's how the common ones compare:

IdentifierWho issuesScopeFormatExample
SKUYou (the brand)Internal to your businessUp to youTS-BLK-M
UPCGS1North America retail12 digits012345678905
EANGS1Europe + global retail13 digits5012345678900
GTINGS1Umbrella for UPC/EAN/ISBN8/12/13/14 digits(varies)
ASINAmazonAmazon catalogue10 alphanumericB0BWZK9TPV
Shopify variant IDShopifyShopify storeNumeric46893251723

A single physical unit can carry all six simultaneously — your SKU on the supplier label, the GS1 GTIN on the barcode, the ASIN on the Amazon listing, the variant ID inside Shopify's database. The brand's job is to map them cleanly to one another.

SKU rationalisation — when to retire codes

A growing catalogue accumulates dead SKUs the same way an inbox accumulates dead newsletters. The rough heuristic: any SKU contributing less than 0.5% of revenue and with more than 6 months of stock-on-hand is a candidate for discontinuation. Run the report quarterly. Discontinue, sell through what's left, retire the SKU code permanently.

Common mistakes

  • Confusing SKU (your internal code) with GTIN/UPC/EAN (the global barcode on the packaging).
  • Reusing a SKU after a product is discontinued — once a SKU is in the system, retire it permanently.
  • Letting supplier product codes become your SKUs instead of mapping them to your own naming convention.
  • Forgetting that a bundle is its own SKU, separate from the SKUs of the products it contains.

How Lumina handles SKUs for scaling brands

Lumina treats every SKU as the atomic unit of forecasting, reordering, and reporting — with bespoke integrations that map cleanly to the codes your suppliers, ERP, and marketplaces already use, so you don't end up reconciling four versions of the same product.

Frequently asked questions

What does SKU stand for?
SKU stands for Stock Keeping Unit. It's a unique code your business assigns to every distinct product variant — different size, colour, fit, or bundle each gets its own SKU.
How many characters should a SKU be?
8–12 alphanumeric characters is the working range for most consumer-brand systems. Below 8 you run out of room for category, attribute, and sequence components. Above 12, some scanners, CSV imports, and integrations start truncating or failing. Stick to letters, numbers, and a single delimiter (typically a hyphen).
What's the difference between a SKU and a UPC or barcode?
A SKU is your internal code — you invent it, you control the format, it's only meaningful inside your business. A UPC (or EAN, or GTIN) is a global standard barcode that identifies the product across all retailers. A single SKU usually maps to one GTIN.
How is a SKU different from an Amazon ASIN or a Shopify product ID?
A SKU is yours and stays the same across every system. An ASIN is Amazon's identifier for a listing on Amazon (10 alphanumeric characters, e.g. B0BWZK9TPV). A Shopify product/variant ID is the numeric ID Shopify assigns inside its database. The brand's job is to map all three to one another so the same physical unit is recognisable across channels.
How should I format my SKUs?
Two valid approaches. Significant SKUs carry meaning (TS-BLK-M-SLIM); non-significant SKUs are sequential numbers (SKU-00482). Significant works at small scale and feels readable. Non-significant scales better past 500+ active SKUs. Either way: pick one delimiter, don't include anything that might change (like price), and leave room for variant attributes you don't have yet.
Should I reuse SKUs once a product is discontinued?
No. Once a SKU has been used in your system, it's tied to historical sales, stock movements, and accounting records. Reusing it for a new product creates ambiguity in every report that looks at trailing data. Retire SKUs permanently.
How many SKUs is too many?
There's no fixed number — what matters is whether you can plan each SKU. If you have SKUs you can't forecast, can't track stock for, or can't make sourcing decisions about, you have too many. SKU rationalisation is one of the highest-leverage projects most scaling brands ignore.

Related terms