How to Set Up Barcode Labeling and Scanning in a Store
Practice4 minInnovialabs editorial team
In short
Clean up the product catalog first, use manufacturer EANs where they exist and internal codes for the rest, then choose scanners and a label printer and scan goods at every step from receiving to checkout.
Where to start
Barcoding is not buying a scanner. It is the chain of "product in the database — code on the package — scan at every step". If your inventory system has duplicates, different names for the same product and empty item cards, a scanner only speeds up the confusion.
Rollout order:
- Clean up the product catalog: remove duplicates, set units of measure and SKUs.
- Collect manufacturer barcodes and attach them to item cards.
- Decide which products get internal codes.
- Choose hardware: scanners, label printer, scales.
- Set up scanning at receiving, on the shop floor and at checkout.
- Run a stock count using the scanners.
EAN or internal barcode
EAN-13 is the standard code a manufacturer prints on the package. It is globally unique and is issued by the national GS1 organization to its members. If a product arrives with an EAN, use it — there is nothing to print.
An internal barcode is needed when there is no manufacturer code: loose goods, your own packaging, products from small suppliers, bundles. EAN-13 reserves the prefixes 20–29 for restricted in-store use, so these codes work only inside your company and do not clash with manufacturer codes. Code 128 is also common for operational labels: warehouse bins, boxes, documents.
If you manufacture products and sell them through other retailers, you need your own EAN from GS1 — another store will not accept your internal code.
Products subject to mandatory digital marking carry a two-dimensional DataMatrix code. It has to be scanned separately, and a basic linear scanner cannot read it.
Hardware
| Device | When you need it | What to check |
|---|---|---|
| Handheld 1D scanner | Checkout without marked goods | Reading creased and small codes |
| 2D scanner (imager) | Checkout with QR and DataMatrix, QR payments | Reading from phone screens |
| Mobile data terminal | Receiving, stock counts, audits | Offline work, battery, integration with inventory |
| Label printer | Internal codes, price tags | Label width, direct thermal or thermal transfer |
| Label-printing scale | Loose goods | Weighted code format, link to product database |
Direct thermal printing has cheaper consumables, but labels fade with light and heat — fine for short-lived labels. Thermal transfer with a ribbon produces durable prints for goods that sit in storage for a long time.
Today it makes sense to buy 2D scanners for checkout from the start: they read regular barcodes as well as QR and DataMatrix.
Scanning at receiving
Receiving is where mistakes are cheapest to catch. The flow:
- the stock clerk opens the supplier document on the terminal;
- scans each item while the system checks quantities against the order;
- for an unknown code, the terminal offers to link it to an existing item or create a new one;
- goods without a code get an internal label right away.
This way the database holds real stock, not numbers copied from the invoice.
Weighted goods
The scale prints a label that encodes the item code and weight (or price). A typical internal weighted EAN-13 layout:
2X PPPPP WWWWW C
│ │ │ └ check digit
│ │ └ weight in grams
│ └ item code on the scale (PLU)
└ internal code prefix
The exact layout depends on the scale model and its settings, so the weighted code template must match in both the scale and the POS software. Test it on several products before launch.
Common mistakes
- One code for different products — for example, one EAN for every flavor. The till sells the wrong item and stock drifts.
- Internal codes without a scheme — random numbers that collide with manufacturer codes.
- Poor printing: codes too small, low contrast, labels placed over a package curve.
- Unconfigured scanners: wrong suffix after the code, or a keyboard layout that garbles the input.
- Cashiers typing codes by hand when a scan fails and picking a "similar" product. You need a clear process for unreadable codes.
- Untrained receiving staff: scanning happens only at checkout, so stock levels stay inaccurate.