Barcode Scanner for Odoo POS: Setup & Barcode Nomenclature

Quick answer: Good news after the printer situation — barcode scanners are the easy part of an Odoo till. A USB scanner in keyboard mode connects directly to the device running Odoo POS and needs no IoT system at all. Plug it in and it types.

The NBBS-S30 (wired, 1D + 2D, USB-HID) is the default choice. Where Odoo gets genuinely interesting is barcode nomenclature — the rules that let a weighed product's price and weight travel inside the barcode. If you sell anything by weight, read that section before you buy a scale.

Why the scanner needs no IoT Box

If you have read our Odoo receipt printer guide, you know that any ESC/POS printer has to go through an IoT system. It is reasonable to assume the scanner does too. It does not.

A USB scanner in keyboard (HID) mode presents itself to the operating system as a keyboard. When it decodes a barcode it types the characters, usually followed by Enter. Odoo POS — running in a browser — receives keystrokes exactly as if a very fast person had typed them. There is nothing to integrate, so there is nothing that needs an IoT system in the middle.

Two consequences:

  • Compatibility is not really a question. Any plug-and-play USB scanner will enter data into Odoo.
  • Scanner problems are scanner settings. Suffix keystrokes, enabled symbologies, HID versus serial mode — all configured by scanning setup barcodes from the scanner's own manual, not in Odoo.

The one Odoo-specific gotcha: focus

Odoo POS runs in a browser. A scanner types into whatever has keyboard focus. So if a cashier has clicked into another browser tab, a customer name field, or a dialog box, the barcode goes there instead of into the order.

The symptom is distinctive: the scanner beeps, the product does not appear, and nothing looks broken. Staff usually describe it as “the scanner is not working”, which sends people looking in the wrong place entirely.

The habit to teach: click on the POS order screen before scanning. It sounds trivial and it eliminates most scanner support calls on browser-based POS systems.

Barcode nomenclature: the part worth understanding

This is where Odoo does something more sophisticated than most POS software, and it matters if you sell by weight.

An ordinary product barcode identifies a product. A weight-embedded barcode carries both the product and the measured weight in a single code, printed by a scale at the moment of weighing. Odoo reads it, looks up the product, and takes the quantity from the barcode itself.

Odoo handles this through barcode nomenclature — a set of rules that tell it how to interpret a code. Under the default EAN-13 setup, the rule for weighed products uses the prefix 02, then a 5-digit product code and a 5-digit weight value.

In practice:

  1. The product carries a base barcode, for example 2112345000008, with its unit of measure set to kg.
  2. The scale weighs an item at 1.5 kg and prints a label encoding both the product code and the weight — producing a code ending in the weight value plus a check digit.
  3. The cashier scans that label. Odoo identifies the product and takes 1.5 kg as the quantity.

You select which nomenclature is active under the Inventory app's configuration settings, in the Barcode section.

Why this matters commercially: the alternative is a cashier reading a price off a sticker and typing it in. That is slower, produces typing errors, and quietly corrupts your inventory because the system never learns how much actually left the shelf. For a deli, a butcher, a greengrocer or a bulk-goods shop, getting this right is the difference between stock figures you can trust and stock figures you cannot.

The requirement it places on hardware is simple but absolute: the scale must print labels in the same nomenclature Odoo expects. Any barcode-printing scale can be integrated as long as the two agree on the format. Our NB-ES8 is a touchscreen scale with a built-in label printer built for exactly this workflow; the NB-ES2 is the lighter option. If you are going down this route, tell us the nomenclature you are configuring in Odoo and we will confirm the scale can produce it before you order — this is not something to discover afterwards.

1D or 2D?

You scan What you need
Printed product barcodes and scale labels only 1D is sufficient
QR codes — payment, vouchers, loyalty 2D imager
Codes shown on a customer's phone screen 2D imager
Damaged, curved or poorly printed labels 2D reads these more reliably

The screen case is the one that decides it for most shops. A 1D laser reads reflected light off a printed surface; a phone screen emits light, and most laser scanners will not read one. Since Odoo is commonly deployed by businesses that also run e-commerce and loyalty, phone-displayed codes tend to arrive sooner or later.

NETBYE models for Odoo

Model Type Reads Interface Best for
NBBS-S30 Handheld imager 1D + 2D USB-HID / USB-COM General counter — the default
NBBS-S86 Desktop omni-directional 1D + 2D USB-HID / USB-COM / RS-232 High-volume, hands-free counter
NBBS-W35 Handheld, wireless 1D + 2D USB + 2.4G (+ BT option) Stock-taking, bulky goods
NBBS-S10D Handheld, 1D laser 1D only USB / RS232 Printed barcodes and scale labels only

The imagers read all standard 1D codes plus QR Code, Data Matrix, Aztec, MaxiCode, MicroQR and HANXIN at 4mil resolution. Browse the full range of barcode scanners, the 2D models, or wireless models.

Ordering advice for Odoo: specify USB-HID (keyboard) mode. Ours ship that way by default. USB-COM (virtual serial) is the wrong choice — in that mode the scanner stops typing and Odoo receives nothing.

Note that a wireless scanner's 2.4G dongle also presents as a keyboard, so nothing changes on the Odoo side. Wireless buys range, not a different integration.

Setup, start to finish

  1. Plug the scanner into the device running Odoo POS. No driver, no IoT configuration.
  2. Open any text field — a browser search box will do — and scan a barcode. The digits should appear. This proves the scanner works before Odoo is involved.
  3. If digits appear but the cursor does not advance, scan the Enter suffix setup barcode from the scanner manual.
  4. In Odoo, put the product's barcode in the product form's Barcode field.
  5. Open the POS session, click on the order screen so it has focus, and scan. The product should be added.
  6. If you sell by weight, set the barcode nomenclature in the Inventory settings and test with a real scale label before rolling out.

Frequently asked questions

Do I need an IoT Box for a barcode scanner in Odoo?

No. A USB scanner in keyboard mode connects directly to the device running Odoo POS. Only printers, scales, customer displays and payment terminals need the IoT route.

The scanner beeps but nothing is added to the order.

Focus. The barcode went to whatever element had keyboard focus — another tab, a search box, a dialog. Click the POS order screen and scan again.

I have to press Enter after every scan.

The scanner is not sending a suffix. Scan the “add Enter/CR suffix” barcode in its manual.

Can Odoo read weight from a scale's barcode label?

Yes, through barcode nomenclature — the default EAN-13 rule for weighed products uses prefix 02 with a product code and a weight value. The scale must print labels in the format Odoo expects.

Do I need a 2D scanner?

Only if you scan QR codes or codes on phone screens. For printed product barcodes and scale labels, 1D is enough and costs less.

Can I connect the scanner through the IoT Box instead?

An IoT system can host scanners, which is useful in specific setups. For an ordinary till it is unnecessary complexity — connect it directly.

A note on this guide. The scanner side above — HID keyboard behaviour, suffixes, focus on browser-based POS, 1D versus 2D, scale label formats — is what we know from the products we supply. The Odoo-specific behaviour, including the direct USB connection and the barcode nomenclature rules, is drawn from Odoo's published documentation. Odoo changes between major versions, so confirm current details with Odoo — particularly the nomenclature configuration, which moved between versions. If something here did not match your installation, tell us and we will correct this page. We would rather publish something accurate than something impressive.

Get pricing

NETBYE supplies distributors, system integrators and retailers worldwide. Our scanners are built by our partner factories in Shenzhen and sold under our own model range — we handle specification, quality control and support, so you deal with one supplier rather than several factories. Direct wholesale pricing, low MOQ on first orders, and OEM/ODM covering branding, packaging and scanner defaults — including units pre-configured with the suffix and symbologies you need.

Tell us which models, what quantity, which country and whether you sell by weight, and you will get an accurate quote in one reply. If weighing is involved, tell us the barcode nomenclature you are configuring and we will confirm the scale matches it before you order. Request a quote.

Related guides

These guides form a set. If you are specifying a complete till, the other hardware for Odoo POS is covered here:

And if you are comparing across POS software, the same hardware for other systems: