1 November 2026·8 min read

Barcodes for a small business: a catalog without duplicates

How to separate a manufacturer code from an internal SKU, give every variant its own identity and test scanning before printing labels for the whole shop.

An employee counting boxes in a small storeroom, an empty shelf marked with lime tape

Barcodes for a small business start with the catalog, not the printer. Keep an existing manufacturer code, give a separate identity to every product or variant that sells differently, and build an internal SKU by a fixed rule. Before printing labels, scan a sample and check that the register returns the right name, price, unit and stock.

Barcodes for a small business: three layers you do not mix

The costly mistake is not a barcode that does not scan. You see that right away. The dangerous problem is a scan that works and returns a different product, an old price or the wrong variant. The cashier carries on, stock comes off the wrong line, and only at the monthly count do you discover that the system and the shelf are already telling different stories.

To prevent this, separate three layers:

  • The item being sold: a black shirt in medium, a half-liter bottle or a pack of six units.
  • The number that identifies it: the manufacturer's global code or the business's internal SKU.
  • The symbol you scan: the bars or graphic shape that encode the number for reading with a suitable device.

According to GS1 US's official guide to UPC codes, checked on 28 September 2026, a SKU is an internal identifier the retailer creates for tracking, while a global product code identifies the item in the market. The same source also explains that variations such as size and color may get different product codes. The operational conclusion is simple: do not copy the barcode image into the name field, and do not invent a global number instead of a local SKU.

Start with a variant map, not a list of names

Open a working spreadsheet before you touch the live catalog. Each row should represent something that can be sold separately. If two shirts differ in size but price and stock are managed separately, those are two rows. If coffee is sold in a small cup and a large cup, those are two identities even if the raw material is shared. If a pack is opened and also sold by unit, the pack and the unit are not the same item.

The minimum fields to check are:

  • A short name the team recognizes at the register.
  • Category.
  • Variant: size, color, volume, flavor or unit.
  • Existing manufacturer code, if there is one.
  • Internal SKU.
  • Selling price.
  • Sales unit.
  • Status: active, being set up or discontinued.

Do not start from "black shirt" if there are six sizes. Start with the question of what comes off stock when the customer pays. The line that comes off is the identity that needs an unambiguous code. The link to stock comes afterwards. The guide on stock habits that prevent shrinkage explains how to move on from correct receiving to counts, damage and transfers.

When to keep the manufacturer code

A packaged product that already arrived with a standard code does not need a newly invented global number. Record the existing number on the item's line and check that the symbol on the packaging reads well on the equipment you plan to use. If the same product comes from another supplier, the identity does not change just because the supplier changed. The purchase price and the supplier belong to the purchasing data, not to the product identity.

There are three situations that call for stopping before entering the data:

  • Two similar packages carry different codes.
  • The same code appears by mistake on two different products.
  • The packaging changed, but you do not know whether the manufacturer also changed the identifier.

In these situations, do not guess by name or picture. Check the actual packaging, the supplier's documents and the product definition. If a new global identifier is needed for a product you make or pack, follow the GS1 rules relevant to your market. An internal SKU is no substitute for a global identifier when a trading partner requires one.

When an internal SKU is the right tool

An internal SKU is useful for an item the business defines and manages itself: a product without a manufacturer code, a service, an item assembled locally or an internal identity that links several pieces of operational data. GS1 US's help page on creating a product and generating a barcode, checked on 28 September 2026, describes the SKU as an optional internal field the company may assign and change. That does not make it a global code.

A good SKU rule should be short, consistent and stable. Do not include information that may change, such as price, shelf location or supplier name. You can build a template that combines product family, model and variant, but the numbers below are for illustration only:

| What is sold | Manufacturer code | Sample internal SKU | What to check | |---|---|---|---| | Blue ceramic mug | On the packaging | SPL-KRM-BLU | The scan returns the right color and price | | Shirt, model 42, large | Separate code for the variant | HLZ-42-L | Stock comes off the large size only | | Gift pack assembled in the shop | None | MZ-SET-014 | The unit is one pack, not a single component |

Do not try to pack full meaning into every character. The SKU should lead to the record, and the record holds the description. If employees have to decode a long code to understand what to sell, the catalog is already doing work the screen is supposed to do.

Every variant that sells differently has one identity

Size, color, volume and sales unit are not a note at the end of the name. They decide which stock remains and what the customer received. When price or quantity are managed separately, each variant needs a clear record and a code that does not clash with its siblings.

Do not create both "shoe model 7" and "shoe model 7 black, size 39" as active products if the first is only a family heading. Otherwise one employee will scan the variant and another will search for the general name. Sales will split and stock will not be reliable.

In KupaLi, any barcode scanner that works as a keyboard connects without installation. In Smart POS, every combination of size and color gets its own barcode and stock.

Build a naming rule that also works in search

A barcode speeds up scanning, but not every sale starts with a scan. Sometimes the packaging is torn, the label has faded or the product is behind the counter. So the item name must also work in a manual search.

Choose a fixed order, for example: product type, model, variant, size. Write "Oren shirt black size 40", and not once "black Oren 40" and another time "shirt model Oren black". Consistency shortens search and makes it easier to find duplicates before they get into the system.

It is also worth setting a small dictionary for the team: do you write "large" or "L", "half liter" or "500 ml", "unit" or "single". There is no need for a fancy standard. One page that settles the spelling is enough, as long as everyone who sets up a product uses it.

Test a sample before printing a pile

Once the catalog is ready, do not print hundreds of labels on the first day. Pick a small sample that represents the places where mistakes hide. Twenty scans is a reasonable starting point for an internal check, not a mandatory standard.

The sample should include:

  • Two products with similar names.
  • Several sizes or colors of the same model.
  • A product with a manufacturer code.
  • A product with an internal SKU and a test label.
  • A unit and a pack, if both are sold.
  • An item whose price changed recently.
  • A discontinued product that must not appear as a regular sale.

For every scan, check four things: the full name, the price, the sales unit and the stock identity that gets updated. Then search for the same item manually and compare. If the scan works but the search brings up a different record, you have a hidden duplicate.

When you find a duplicate, do not delete it right away

Say you found two active products for the same shirt. One holds past sales and the other holds current stock. A quick deletion may cut off the history or make the team keep using a code that has already been printed.

First stop creating new records. Export the catalog and the balances, mark a main record and map the codes and variants to it. Only after checking sales, purchasing, returns and stock do you decide whether you can merge, deactivate or keep a historical record. The exact process depends on the system. Do not assume a merge action exists without explicit confirmation and a backup plan.

Even after the fix, keep a transition table for a limited time: old code, new code, date of change and person responsible. That way an employee who finds an old label knows what to do instead of setting up another product.

Checklist before moving to full operation

  • Everything sold separately appears only once.
  • The manufacturer code was kept where it exists and not replaced with an invented number.
  • The internal SKU follows one rule and does not include price or supplier.
  • Every size, color or unit has a clear identity.
  • The scan sample returned the right name, price and unit.
  • You checked which stock is updated in every sale.
  • There is a backup and a mapping table before fixing duplicates.

A good catalog is not the one with the most fields. It is the one where every scan and every search lead to the same identity. Once that is true, it is easier to count, order, price and stop a sale when needed. If it is not true, a fast printer only spreads the mistake faster.

Want to try this on the register? Start 14 days free on Smart POS, no credit card.

What else do people ask?

What is the difference between a barcode and a SKU?

A barcode is the symbol the scanner reads, and it encodes an identifying number. A SKU is an internal identifier the business creates for management and search. It is not a global identifier just because it was printed as a barcode.

Do you need to replace the manufacturer's barcode with a shop code?

Usually not. A product that arrives with a valid manufacturer code is kept with the existing code. You can add an internal SKU for the business's needs without presenting it as a global number.

Does every size and color need a separate code?

If the variants are sold or managed as separate stock, each one needs an unambiguous identity. Check that the scan leads to the right size and color and not to a general product record.

How many products should you test before printing labels?

There is no mandatory number. A sample of about twenty scans can be an internal starting point, as long as it includes similar variants, units and packs, manufacturer codes and internal codes.