Item Codes and Barcodes: Numbering Your Products So the System Scales
Every growing business hits the same question: what do we call our items? It starts simply, then you discover a single product recorded under four different names, one written by accounting, one by the warehouse, one copied from a supplier invoice, and one scribbled on a shelf label. At count time you get phantom variances, at purchasing you order something you already have, and in reporting you cannot tell how much of a product you actually sold.
The fix is not individual judgement but a written coding scheme: one rule everyone follows to give each item a fixed code that never changes for the life of that item. This guide covers how to build that in a business that already exists, not one starting from scratch.
Internal code and barcode are not the same thing
Confusing the two causes half the mess. The internal code (item code) is something you create for yourself, used inside your system, reports and invoices. A retail barcode is a global number identifying a product in any store in the world, issued by GS1 to the company that owns the brand, and it is what you see printed on manufactured packaging. Check the official GS1 site (gs1.org) for the requirements to obtain barcode numbers if you manufacture your own products.
The practical rule: if you resell finished manufactured goods, use the barcode already printed on them and do not renumber it. If you manufacture or pack your own product, you need both: an internal code for your system and a retail barcode for selling through other points of sale.
What belongs in the code and what does not
The most repeated mistake is stuffing the code with information that changes. A code must be permanent, so anything that can change has no place inside it.
| Belongs in the code | Does not belong in the code |
|---|---|
| Main category or group | Selling price or cost |
| A running sequence within the category | Supplier name |
| A variant marker (colour, size) when needed | Shelf or warehouse location |
| Base unit of measure when it differs materially | Year of entry or season |
The excluded information is not lost. It belongs in separate fields on the item record, where it can be edited, searched and filtered without breaking the code.
The shape of the code itself
The best code is the shortest one that does the job. A format that fits most businesses: two or three letters for the category, then four or five sequential digits, such as BEV-0142 for beverages. The sequence should be assigned automatically, not typed by hand, so two employees never fight over the same number.
- Stay under 12 characters, ideally between 6 and 10.
- Standardise separators: either every code has a dash or none does.
- Avoid characters that look like digits, such as O, I and l.
- Never reuse the code of a deleted item for a new one; old reports will merge them.
- Fix the language: codes in Latin letters and digits, the descriptive name in the name field.
Variants and units
A black shirt in size M is not a white shirt in size L. Every combination that is sold and counted separately needs its own code, with a parent item grouping them for display and reporting. Shortcuts are expensive here: whoever lumps all sizes under one code loses the ability to see which size runs out first.
Units are a different matter. A carton of 24 pieces is not a new item but another unit of the same item, with a conversion factor recorded on the item record. If the carton carries its own barcode, register both barcodes against the same item, not against two items.
Item names: the forgotten rule
The code alone is not enough, because staff search by name, not by code. Standardise the name in a fixed order: type + brand + description + size, for example: Orange juice - Brand X - 1 L. When every item follows the same pattern, alphabetical order becomes useful in itself, and duplicates drop sharply because the employee finds the item while typing.
Moving out of an existing mess
- Export the full current item list into one file.
- Remove dead items: anything with no movement in a year and no intention to sell.
- Merge duplicates: pick the most correct record, keep its balances, then map the rest to it before deactivating them.
- Write the coding policy on a single page: categories, code length, naming rule, who may create items.
- Restrict item creation to one or two people, not everyone who can open an invoice.
- Code new items under the new rule, and convert the old ones in batches starting with the fastest movers.
- Print new shelf and stock labels once codes are approved, then run a count to confirm.
Do not try to recode everything in a week. Fast-moving items account for most of daily movement value, so handling them first buys you most of the benefit for a fraction of the effort.
Common mistakes
- Leaving coding to each employee's judgement, which produces parallel item lists.
- Embedding the price in the code, then changing the price and leaving the code lying to its reader.
- Creating a new item every time the same product is bought from a different supplier.
- Coding services carelessly, so they vanish from reports while being a profit source.
- Relying on names with no codes, which breaks any matching against supplier files.
A good code is short, permanent and free of anything that changes. Clean the list first, write the rule on one page, restrict who can create items, then migrate gradually starting with the fastest movers. Coding is a day of work that saves you years of variances.