Running the shop

Your own barcodes or the manufacturer's

When to use the EAN or UPC a product already carries, when to generate your own, what GS1 is, and why a printed label scans or doesn't.

Updated Monday 28 September 2026 · 7 minute read

Every item that crosses your counter needs a code the scanner can read and your system can tie to a product. There are two ways to get one: use the code printed at the factory, or generate your own for the shop. Both are valid, and most shops end up using both at once. What helps is knowing which one to use in each case, and why.

The codes you’ll run into

EAN-13. Thirteen digits. It is on nearly every consumer product in Mexico and most of the world. The first digits identify the company that registered the code, the next ones the product, and the last one is a check digit.

UPC-A. Twelve digits, the US equivalent. You’ll see it on products imported from the United States. A counter scanner reads EAN and UPC without any setup.

EAN-8. Eight digits, the short version of EAN, meant for small packages. It is narrow and fits on small labels.

Code 128 and Code 39. Codes that take letters and numbers and have no fixed length. They are common in logistics and internal inventory. Code 128 is more compact; Code 39 is older and takes more room for the same content.

What GS1 is and when you need it

EAN and UPC codes aren’t made up: they are administered by GS1, an international organization with an office in each country that assigns each company its own prefix. With that prefix the company numbers its products, and the resulting code is unique worldwide. Registration has a cost and conditions set by each country’s office; if you need it, ask GS1 Mexico directly.

A brand needs GS1 codes if it will sell through large chains: supermarkets, department stores, pharmacies or marketplaces that ask for them to list a product. There, the code travels with the item from one system to another, and it has to be unique outside your shop.

It doesn’t need them if its products are only sold in shops like yours. A designer selling earrings through three concept stores doesn’t need a code that is unique in the world: she needs one that is unique in each shop that carries her. An internal code generated by the shop does that.

If a supplier asks you whether they need to register, the practical answer is: ask where else they want to sell. If the answer includes a chain, they should check with that chain and with GS1. If they only sell with you and at markets, they don’t need it.

Manufacturer code or your own

Situation What to use
The product already carries a printed EAN or UPC The manufacturer’s: no labeling needed
Handmade goods or a small label with no code Your own, generated by the shop
Two suppliers bring the same product with the same code The manufacturer’s for one, your own for the other
The manufacturer’s code is long and your label is small Your own, shorter, over the original
One-of-a-kind pieces (vintage, secondhand) Your own, one per piece

The two-supplier case is common in a multi-brand shop. If two consignors leave you the same factory-made bottle with the same code, scanning it leaves your system unable to tell which of them to credit. The fix is for one to keep the factory code and the other to get a code of its own, with its label stuck on top.

The check digit

The last digit of an EAN or UPC isn’t part of the number: it is calculated from the others. It lets the scanner and the system catch a misread or mistyped code. If someone keys in a thirteen-digit code by hand and gets one digit wrong, the check digit almost always stops matching, and the system can reject it before it is saved wrong.

That is why a manufacturer’s code is never “fixed up” by hand. If your system says a code isn’t valid when you enter it, most likely a digit is missing, there is one too many, or an 8 was read as a 3.

Why a label scans or doesn’t

When a scanner won’t read a label you printed, it is almost always one of these four causes.

Print scale. The most common one. If the PDF is printed with “fit to page”, everything shrinks a few percent and the bars end up thinner than the scanner can resolve. To the eye it looks the same. Always print at 100 % (“actual size”) and check against a mark of known length.

The width of the narrowest bar (the module). A barcode is made of bars and spaces one, two, three or four units wide. If the unit is too small, the printer can’t draw it accurately. On a 203 dpi printer, 0.25 mm (2 dots) is a comfortable floor. The unit also has to be a whole number of dots: at 1.5 dots, some bars come out one dot wide and others two, and the scanner hesitates.

The blank margin on each side (the quiet zone). The scanner needs empty space before the first bar and after the last to know where the code starts and ends. An EAN-13 asks for more margin on the left than on the right. If the code touches the edge of the label, or there is text right against the bars, it may not scan.

The code doesn’t fit on the label. Putting the two previous points together, an EAN-13 at the minimum bar width, with its margins, needs a little over 28 mm of width. It won’t fit on a 27 mm label, no matter what. An EAN-8 needs a little over 20 mm. If your labels are small, a short code of your own is the only way to make it scan.

Problems on the scanner’s side (it doesn’t send Enter at the end, it is set to another keyboard layout) are easy to recognize because the same scanner won’t read factory codes properly either.

What to do with this in your shop

  1. When stock arrives with a factory code, enter it on the product and don’t relabel it.
  2. When it arrives without one, generate your own and label it while you record the delivery.
  3. If two different products carry the same code, one gives it up and gets a code of its own.
  4. If your labels are small, prefer a short code of your own even if the product has a long one.
  5. Keep a printed test label next to the printer to compare against when something stops scanning.

How Atiéndalo handles it

Every product in Atiéndalo has a barcode. If you enter one, the manufacturer’s code is kept with its type (EAN-13, UPC-A, EAN-8, Code 128 or Code 39); for EAN and UPC the check digit is validated, and the code is checked for duplicates in your shop. If you leave the field blank, Atiéndalo generates a unique EAN-8 that fits every label size, including 27 × 13 mm. When printing, bars are snapped to whole dots of a 203 dpi printer, never go below 0.25 mm, and the quiet zones are kept inside the label; when a code won’t fit the chosen size, the print dialog warns you before printing.

The Barcode labels page covers the rest. If you already use Atiéndalo, Scanners & barcodes explains what a scan does on each screen, and if you don’t have a printer yet, start with Which label printer to buy for your shop.

Next step Barcode labels True-scale PDF for thermal rolls and Avery sheets.

If you already use Atiéndalo

  • Scanners & barcodes — Which reader to buy, how to test it, and what a scan does on every screen.
  • Labels & printers — Which printer to buy, how to set it up once, and how to print labels that actually scan.

Ready to put your shop in order?

Start your 15-day trial. No card, no lock-in, every feature included.

15-day trial, no card. 500 MXN a month, everything included.