01
What a SKU is actually for
A SKU — stock keeping unit — is a name for one physical thing you own. That is the entire job. It exists so that a listing, a shelf, a cost record, and a sale can all refer unambiguously to the same object.
It is worth being precise about what it is not:
- Not a description. You do not need to read the item from the code. That is what the record is for.
- Not a catalogue number. Manufacturer identifiers describe a model; two identical units in different condition need to be told apart, and only your own identifier can do it.
- Not a location. Items move; identifiers must not. Location is a field on the record.
- Not a price or a grade. Both change.
02
Designing a scheme that survives growth
The properties that matter, in order:
- Unique, forever. Never reissue a code, even after the item sells. The old sale record still refers to it, and reuse makes your history silently wrong.
- Short enough to write by hand and to read across a room.
- Unambiguous when handwritten. Avoid characters that collide: the letter O against zero, I against 1, S against 5. Some sellers drop vowels entirely, which has the pleasant side effect of never accidentally spelling anything.
- Sortable. Zero-padded numbers sort correctly; unpadded ones put item 10 before item 2 in every system you will ever use.
- Extensible. Four digits runs out at ten thousand items. Five costs nothing today.
- Free of anything that changes. No condition, no price, no channel, no location.
A short prefix identifying the acquisition is the one piece of meaning worth keeping, because the source of a unit never changes. HAL-0042 says this was the forty-second item from the Halstead lot, and that single fact makes cost allocation, batch recall, and "did that lot actually make money" all answerable later.
If you sell genuinely identical multiples — the same sealed item, six times — you have a choice. Give each unit its own code if they will be graded, priced, or located separately; give the group one code with a quantity if they are interchangeable. The test is whether you would ever need to say something true about one of them that is false about the others.
03
Put the label on the object
An identifier that lives only in your records is a half-finished system. The moment it earns its keep is when you are holding something and need to know which record it belongs to — and at that moment, a code in a spreadsheet is no help at all.
- Removable labels for the item, permanent for the box. Nothing adhesive on anything where residue reduces value: books, records, artwork, collectables in original packaging.
- Label the bag, not the object, for anything delicate. A polythene bag with the code on it protects and identifies in one action.
- Barcodes if you are scanning, plain text if you are not. A printed code is only worth it when something reads it; handwriting is faster than most people admit at small scale.
- Label at intake, not at listing. The gap between arriving and being listed is exactly where items become anonymous, and a pile of unlabelled stock is the hardest kind to recover.
04
Store by location, not by category
This is the counter-intuitive one, and it is what warehouses figured out a long time ago. Storing things where they fit and recording where they went beats storing them in a logical arrangement you have to remember.
Why categorical storage fails as inventory grows:
- Categories are ambiguous at the edges, and the ambiguity is where you lose things. Every seller has a shelf whose contents are decided by a judgement call they cannot reconstruct.
- Categories overflow unevenly. One shelf fills, everything shifts, and the arrangement you memorised is now wrong.
- It depends on your memory, which means nobody else can work in your storage and you cannot work in it after a month away.
- It puts the effort at retrieval, which is the moment you are under time pressure because something has sold.
Location storage instead: give every shelf, box, and bin a permanent name — A-03, B-11 — put items wherever there is room, and record the location on the item record. Retrieval becomes a lookup. Reorganising becomes updating a field instead of moving stock.
- Name locations physically and permanently. Write the name on the shelf, not on a plan.
- Keep names stable when contents change. Bin A-03 is A-03 forever, whatever is in it this month.
- Record the location when the item is put away, not later. Later never happens.
- Group only by handling need — fragile away from heavy, large items near the door — never by category.
The one deliberate exception: fast movers. Items you expect to sell within days can live in a staging area near where you pack, because the retrieval cost is about to be paid and proximity is worth more than tidiness.
05
Why the identifier matters most across channels
A single-channel seller can survive with weak identifiers, because the marketplace tracks its own quantity and the listing is effectively the record. The moment the same unit appears in two places, the identifier stops being convenience and becomes the mechanism.
- It is how you know two listings refer to the same object rather than to two similar ones.
- It is how a sale in one place tells you which listing to remove elsewhere — the subject of the cross-listing guide.
- It is how a weekly reconciliation is possible at all: without a shared key, comparing channels is guesswork.
- It is what survives a migration. The migration guide is blunt about this — records with no stable identifier import as duplicates, and cleaning that up afterwards is far more work than assigning codes in the first place.
Use the same identifier on every channel that has a field for it. Most do. Where a channel has no such field, put it somewhere consistent in your own reference — never in the public title, where it helps nobody and costs you search-relevant characters that the titles guide would rather you spent on words buyers type.
06
Retrofitting onto stock you already have
Most people read this with several hundred unlabelled items already on shelves. Do not stop trading to fix it, and do not attempt it in one weekend.
- Start with everything new Every item from today gets a code and a location at intake. This stops the problem growing, which matters more than fixing the backlog.
- Label opportunistically Any existing item you touch for any reason gets a code before it goes back.
- Fast movers next Do the fast movers next, since they will be touched soonest anyway.
- Backlog in bounded sessions Then work through the backlog in bounded sessions — one shelf at a time, on a schedule.
- Let some of it go Accept that some aged stock will never be labelled, and let the disposal ladder in the aged inventory guide deal with it instead.
The measure of success is not tidiness. It is retrieval time: how long from a sale notification to having the item in your hand. Time it occasionally. When it stops varying, the system is working.
07
Practice
Exercise
Time a retrieval
- Pick five items at random from your listings. Ask someone else to read out the identifiers.
- Time how long it takes you to put your hands on each one.
- Anything over about thirty seconds is a system problem, not a memory problem.
- Fix the worst one by recording its location, then check whether the next retrieval is faster.
Check yourself
Why should a SKU avoid encoding the category, condition, or price of the item?
Because all three can change and the identifier must not. Regrade an item, move it to a different category, or reprice it, and a meaningful SKU is now either wrong or has to be reissued — and reissuing breaks the link to every listing, sale record, and label that already carries the old one. An identifier's only job is to point at one physical unit forever. Attributes live in fields, where they can be edited without consequence.
You keep your storage rigorously organised by category. Why might location-based storage still beat it?
Because categorical storage puts the retrieval work at retrieval time and depends on your judgement being consistent, which it is not. Is a camera bag under cameras or under bags? Location storage puts an item wherever there is space, records where it went, and turns retrieval into a lookup rather than a decision. It also survives someone else doing it, and it does not degrade when a category overflows its shelf.
Progress is saved in this browser only. No account, nothing sent anywhere.
08
Common questions
What should a reseller SKU look like?
Short, zero-padded, unambiguous when handwritten, and free of anything that can change. A prefix for the acquisition plus a sequential number — HAL-0042 — is enough. Avoid encoding condition, price, category, or location, because all four change and a stale identifier is worse than a meaningless one.
Should I use the manufacturer barcode as my SKU?
Use it as an attribute, not as your identifier. A catalogue number describes a model, so two units of the same model in different condition would share it — and that is exactly the distinction your identifier exists to make. Record both: theirs for catalogue matching, yours for the physical unit.
Do I really need to label physical items?
Yes, or the system fails at the moment it is needed: holding an object and not knowing which record it belongs to. Use removable labels or label the bag for anything where adhesive residue would reduce value.
Is it worth reorganising storage by location?
Once retrieval time starts varying unpredictably, yes. Location storage records where things went rather than relying on a remembered arrangement, which makes retrieval a lookup, survives someone else doing it, and does not break when a category overflows its shelf.
How do I handle several identical units?
One code with a quantity if they are genuinely interchangeable; separate codes if they will ever be graded, priced, or located differently. The test is whether you would need to record something true of one unit and false of the others.