Ask a shopkeeper for the code of their best-selling product and you'll often get a pause, followed by a name. "The blue mug. The big one." That works perfectly well until you have two blue mugs.
A SKU is the fix for that small, daily confusion. It is the least glamorous thing in your shop, and one of the more useful.
The problem a SKU solves
Here is a list that looks fine at first glance. It is three ways of writing down two products:
| What got written down | What it meant |
|---|---|
| Blue mug big | The large blue mug |
| Mug - blue - L | The large blue mug |
| BLUE MUG 2 | The small blue mug, probably |
Count your stock with a list like that and you will end up with three lines, a wrong total, and an argument about which one is which. Nobody did anything silly. People just write things down the way they say them, and no two people say them the same way.
A SKU (short for stock keeping unit, and people say "skew") is one agreed code for one exact thing you sell. Every time that item is counted, sold or ordered, it gets written the same way. That's the whole idea. A SKU is not a barcode, though you can print one as a barcode, and we'll get to that.
Start with a simple question
What counts as "one thing"? The rule we'd use is this: if you count it separately on the shelf, it gets its own SKU.
A red shirt in medium and the same red shirt in large are two SKUs, because you hold a different number for each. A mug in blue and a mug in green are two SKUs. But a change in price on the same mug isn't a new SKU, because the mug on the shelf hasn't changed. Keep the price in your records, not in the code.
This matters more than any other decision in the system. Get it wrong in one direction and you can't tell sizes apart. Get it wrong in the other and you have hundreds of codes for what is really a handful of products.
Build the code from parts that don't change
Most SKUs are put together from a few short parts. Here is a typical one, and what each piece is doing:
| Part | Example | What it tells you |
|---|---|---|
| Category | TOP | The kind of thing it is |
| Product | CNT | Which product (Crew Neck Tee) |
| Brand | NIK | Who makes it |
| Colour | BLK | The colour |
| Size | M | The size |
| Number | 001 | Keeps it unique |
Put together, that gives TOP-CNT-NIK-BLK-M-001. It reads easily, and it is 21 characters long, which is already on the long side.
You don't need every part. A shop with forty products might be perfectly happy with TEA-001, TEA-002 and so on. If you sell the same item in several colours and sizes, product, colour, size and a number is plenty: CNT-BLK-M-001 is 13 characters and says nearly as much. The more parts you add, the longer and harder to read the code gets, so add one only when it answers a question you actually ask.
The rules we'd keep
- Letters and numbers only, with one simple separator, such as a hyphen or an underscore.
- No spaces and no symbols like slashes, hashes or brackets. They cause trouble in spreadsheets and software.
- Nothing that changes. Leave out the price, the supplier and the date.
- Skip look-alike characters where you can. The letter O and the number 0 are easy to mix up by eye, and so are I, l and 1.
- Keep it short. Under about 15 characters is comfortable. Some systems limit the length, so check yours.
- Never reuse a code, even for something you've stopped selling.
The last rule is the one people break. It is tempting to give a retired product's code to a new one. Don't. Old orders, old labels and old spreadsheets still point to it, and you'll end up with history that says you sold a mug when you sold a lamp.
The number at the end
It looks like the boring part, but the number does real work. When two different products shorten to the same letters, the number is what keeps their codes apart. It also means you can always add another variant without inventing a new abbreviation.
Three digits is enough for most small shops, and it gives you up to 999 per product. If you expect to grow a lot, use four from the start, because changing the width later means changing every code.
You can restart the count for each product, so every product's first variant ends in 001, or you can keep counting across the whole shop. Restarting reads more cleanly. Counting across everything makes it slightly easier to see how many codes you've issued. Either is fine, so pick one and stay with it.
Should codes mean something?
There are two schools of thought, and both have a point:
Codes that carry meaning, like TOP-CNT-NIK-BLK-M-001, are friendly to people. You can read one and know roughly what it is. The risk is that the meaning can go stale. If the brand changes, or you move the product to another category, the code now says something untrue.
Codes that mean nothing, like 1042, never go stale, but nobody can read them. You end up looking everything up.
We'd go for the middle: a few readable letters, then a number. Make the letters helpful, but treat the number as the real identity. If the meaning ever stops matching, the code is still correct, because it was never promising much in the first place.
What to do when things change
Things change all the time, and the system should survive it:
- A new colour or size arrives. Add a new SKU. Leave the existing ones alone.
- You stop selling something. Stop using its code and never give it away again. Keep it in your records so the history still makes sense.
- A product gets a new name. The SKU stays the same. That is exactly what it's for.
- You find a wrong code on a printed label. Fix the label, not the rule. Reprint it rather than quietly reusing the code.
Setting it up in an afternoon
- List what you sell. A spreadsheet is fine: one product per row, with its colours and sizes.
- Decide what counts as a variant. Colour and size, most likely. Be strict about it.
- Write one example by hand. Pick the parts and their order, and check it reads well and isn't too long.
- Generate the rest. Paste your products, colours and sizes into our free SKU generator and it will build every combination, with short codes and a number on the end. It also makes sure two different values never end up with the same code.
- Check a handful. Look at ten of them and ask whether you could read each one out loud over the phone.
- Copy them into your records. Put the SKUs next to your product names wherever you keep your stock list. If you don't have one yet, here's how to start.
- Make labels if you want them. The same list can go straight into our barcode generator as Code 128 labels. If you're not sure you need them yet, we wrote an honest answer on that.
Mistakes worth avoiding
The most common one is being too clever. A code that tries to squeeze in the season, the supplier and the shelf location becomes a puzzle, and the person who invented it is the only one who can read it.
Changing the scheme halfway through is almost as bad. Half your stock ends up under one system and half under another, and you have to remember which is which.
Using the product's name as its code looks attractive until two people spell it differently, which is exactly the problem we started with.
And typing codes by hand, with a capital here and a hyphen missing there, brings the mess back through the side door. Generate them in one go, copy them in, and let the software do the typing.
Final thoughts
None of this is exciting, and that is rather the point. A good SKU system is one you stop noticing. Everybody writes the same thing the same way, your counts add up, and the two blue mugs finally have two names.
If you do one thing today, make a list of what you sell and give each item a code. Even a rough system used consistently beats a perfect one you never finish. You can tidy it up later, as long as you never reuse a code.
Key takeaways
- A SKU is one agreed code for one exact thing you sell, down to the variant.
- If you count it separately on the shelf, it gets its own SKU. A price change doesn't.
- Build codes from parts that don't change, and add a part only when you need it.
- Keep them short, use letters and numbers only, and never reuse a code.
- Generate the whole list at once, so nobody types them by hand.
