Label Printer for Odoo POS: PDF vs Direct IoT Printing

Quick answer: Odoo prints product labels two ways, and the easy one works with essentially any label printer. By default Odoo generates the labels as a PDF, which you print through the operating system's own driver — no IoT system, no special protocol. The harder route sends label data straight to the printer through an IoT system, which removes the manual step but requires the printer to speak a format the IoT side can send.

For the PDF route the NBBP-9250D (4-inch desktop, 203dpi, USB / LAN / Wi-Fi) is a straightforward fit — it installs with standard Windows drivers from Win7 through Win11. Start there. Only move to direct IoT printing if the manual step genuinely gets in your way.

The two routes, and which one you actually need

A. PDF through the OS driver B. Direct via IoT system
How it works Odoo produces a PDF of the labels; you print it like any document Odoo sends label data to a printer attached to an IoT system, which prints automatically
Needs an IoT system No Yes
Printer requirement A working OS driver — that is all The printer must accept the format the report is configured to send
Effort per batch A download and a print dialog None — press print on the product form
Right for Most shops. Labelling is a periodic batch job, not a per-transaction action High-volume or frequent labelling where the manual step is a real cost

Be honest with yourself about which one you need. Labelling is usually something you do when stock arrives — once or twice a week, in a batch. A download and a print dialog is not a burden at that frequency. The direct route is worth its setup when someone is printing labels many times a day.

For route B, Odoo's own documentation and community modules describe the configuration in terms of Zebra printers and ZPL: you attach the printer to the IoT system, then add the label report under the printer's report configuration, with the report type set accordingly. ZPL is Zebra's command language, and a printer that does not speak it will not respond to a ZPL report.

Where our printers fit — and where we have not tested

We would rather be precise about this than sell you certainty we do not have.

Route A: yes, clearly. The NBBP-9250D installs with standard Windows drivers (Win7 through Win11, and macOS). Odoo produces a PDF, Windows prints it, the label comes out. There is nothing Odoo-specific to go wrong, which is exactly why we recommend starting here.

Route B: it depends on the format, and we have not validated it. Our label printers accept TSPL and ESC/POS commands — not ZPL. Whether an IoT system can drive them depends on how the IoT side is configured and what it can send. That is a question about your Odoo setup rather than about the printer's datasheet, and we have not tested our models against an Odoo IoT deployment ourselves.

So if direct printing matters to you: ask us for a sample unit and test it against your actual IoT configuration before committing to a batch. One printer, not a pallet. If a supplier will not do that for you, it is worth asking why.

Do you need a label printer at all?

Worth checking before specifying hardware:

Situation Label printer needed?
You sell packaged goods that already carry EAN-13 barcodes No. Scan the manufacturer's barcode.
You sell loose, unpackaged or repacked goods Yes — each item needs a scannable code
You sell by weight Yes, but a scale with a built-in label printer — see below
You need shelf-edge price labels Yes, though a lighter need
Food business needing prep or expiry labels Yes, often a regulatory requirement rather than a convenience

If you sell by weight, the label printer is the scale

This is the case where Odoo does something genuinely well, and where the hardware decision is different from what people expect.

Odoo's barcode nomenclature lets a single barcode carry both the product and its measured weight — under the default EAN-13 rules, a prefix of 02 followed by a product code and a weight value. The scale weighs the item, prints a label encoding both, and the cashier scans it. Odoo identifies the product and takes the quantity from the barcode.

The hardware consequence: you do not want a separate desktop label printer for this. You want a scale that prints the label at the moment of weighing. Our NB-ES8 is a touchscreen scale with an integrated label printer built for this workflow.

The absolute requirement is that the scale prints in the nomenclature Odoo expects. Tell us the format you are configuring and we will confirm the scale can produce it before you order. Getting this wrong means a shop full of labels that scan as the wrong quantity, which is worse than labels that do not scan at all — those at least fail visibly. More on the scanning side in our Odoo barcode scanner guide.

Direct thermal or thermal transfer?

Direct thermal Thermal transfer
Consumables Label only Label + ribbon
Print life Months; fades with heat, light and friction Years
Right for Shelf labels, date labels, fast-moving stock Asset tags, warehouse, anything in sun or heat

For most retail, direct thermal is the right economics — stock turns over in weeks and there is no ribbon to buy. Use thermal transfer where a label must stay scannable for a year or sits somewhere hot or sunlit.

Getting the label size right the first time

Three things have to agree: the physical label you buy, the size configured on the printer, and what Odoo's label report expects. When they disagree you get content shifted off the label, clipped edges, or a blank label fed between each print.

The step to not skip:

Print one label. Scan it with the scanner you actually use at the till. Then order a box.

A barcode can print beautifully and scan unreliably, usually because it has been squeezed narrower than the scanner's minimum bar width. Our scanners resolve to 4mil, which reads a tightly printed 203dpi label — but if you are printing very small labels, tell us and we will confirm the combination rather than let you find out on label three thousand.

NETBYE models

Model Type Print width Resolution Speed Interfaces Best for
NBBP-9250D 4″ desktop 25–100mm 203dpi 160mm/s USB / LAN / BT / Wi-Fi Batch labelling at counter or back office
NBBP-P581 Portable 48mm 203 / 300dpi 50–90mm/s USB-C / Bluetooth Shelf-edge re-pricing on the move
NB-ES8 Scale with label printer — — — — Selling by weight

The label printers accept TSPL and ESC/POS. Browse the barcode label printer range, the desktop models, or the weighing scales.

Ordering advice for Odoo: specify USB for the PDF route — simplest driver path. Tell us your label dimensions so we can confirm the roll before you order. And if weighing is involved, that is a scale conversation, not a label printer one.

Frequently asked questions

Do I need an IoT Box to print labels from Odoo?

Not for the default route. Odoo generates a PDF that you print through the operating system, so any printer with a working driver will do. An IoT system is needed only for direct, automatic printing without the PDF step.

Does my label printer need to support ZPL?

Only for the direct IoT route configured with a ZPL report — that is Zebra's language. On the PDF route the command language is irrelevant, because the OS driver handles it.

Will your printers work with Odoo's IoT direct printing?

They accept TSPL and ESC/POS rather than ZPL, and we have not tested them against an Odoo IoT deployment. Ask us for a sample and validate it against your own setup before ordering a batch. We would rather say that than guess.

Can the receipt printer print product labels?

No. A receipt printer uses continuous non-adhesive paper with no gap sensor, so it cannot tell where one label ends and the next begins.

How do I print labels with weight and price on them?

With a scale that prints labels, configured to match Odoo's barcode nomenclature. A desktop label printer cannot do this — it does not know the weight.

My labels print off-centre or a blank label feeds each time.

The configured label size does not match the physical roll. Fix the roll dimension first, then the printer configuration, then the report.

A note on this guide. The printer side above — direct thermal versus transfer, print widths, label sizing, scan reliability — is what we know from the products we supply. On direct IoT printing we have deliberately not claimed more than we can support: our printers accept TSPL and ESC/POS rather than ZPL, and we have not validated them against an Odoo IoT deployment. The Odoo-specific behaviour is drawn from Odoo's published documentation and community modules; it changes between major versions, so confirm current details with Odoo. If you have run this combination successfully, or unsuccessfully, tell us and we will update this page with what you found. We would rather publish something accurate than something impressive.

Get pricing

NETBYE supplies distributors, system integrators and retailers worldwide. Our label printers and scales 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 firmware defaults.

Tell us your label dimensions, whether you sell by weight, what quantity and which country, and you will get an accurate quote in one reply. Ask for a sample if direct IoT printing is your goal — on that route we would rather you tested before you committed. 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: