23 September 2026 · 3 min · Custom Odoo
Creating product labels and barcodes in Odoo
Out of the box, Odoo prints product labels on a few sheet formats and in ZPL for thermal printers; to choose exactly the information, size, barcode type and layout, you need a label designer — such as the Ramira Studio Label Designer — or a small custom module. Here is how to pick the right barcode, the right printing medium and the right method.
What Odoo does out of the box
From a product or a receipt, the Print Labels button offers a few A4 sheet formats (such as 2 × 7, 4 × 7, 4 × 12), a Dymo format, a ZPL format for Zebra thermal printers, and the number of labels with or without price. For a small shop that is often enough. The limits show quickly in a warehouse or workshop: no location, no lot, no logo, fixed size.
Choosing the right barcode
| Code | Use | Content |
|---|---|---|
| EAN-13 | Products sold in shops and retail | 13 digits, assigned by GS1 |
| Code 128 | Internal: references, locations, lots | Letters and digits, variable length |
| QR code | Link to a page or manual, lots of data | Text, URL |
Choosing the printing medium
A4 sheets on a laser printer: no special hardware, but waste when printing a few labels and occasionally tricky alignment. Rolls on a thermal printer: fast, one label at a time, very cheap to run, durable labels. Zebra printers use ZPL: Odoo sends printing instructions directly, without a PDF, which guarantees perfectly sharp barcodes.
Going further with a label designer
Our Label Designer, published on the official store for Odoo 18, 19 and 20, lets you use any field of the product, lot or location; generate EAN-13, Code 128 and QR codes; set the exact label size and layout; print as PDF sheets, rolls or ZPL; and create address (parcel) and shelf (location) labels. It belongs to the Ramira Studio family described in a Studio for Odoo Community. See also our Odoo apps.
Three examples
- A delicatessen: product name, price per kilo, best-before date and EAN-13, on rolls.
- A spare-parts warehouse: location label with Code 128 “A-03-02” in large characters, plus a product label with reference and lot.
- A manufacturer: finished-product label with serial number, QR code to the manual and logo.
Good practice
- Test reading with your scanners before a run: minimum size, contrast, quiet zone around the code.
- Leave a margin: a barcode too close to the edge reads badly.
- Avoid changing data (prices) on permanent labels.
- Print at receipt rather than in advance.
Missing product information? See adding custom fields in Odoo. Automatic printing at picking validation, carrier labels or scale integration call for a custom module or an Odoo connector.
In short
EAN-13 for retail, Code 128 internally, QR codes for links; sheets for small volumes, ZPL for warehouses. Native settings help, a label designer makes you independent. A labelling project? Let’s talk.
FAQ
Where do I get EAN-13 codes?
EAN codes for products sold in retail are obtained from GS1 in your country, with a subscription. For internal use (warehouse, workshop), a Code 128 with your own reference is enough.
Can I print one label per item received?
Yes. When receiving a purchase order, Odoo can print as many labels as items received, optionally with the lot or serial number.
Which printer should I choose?
For a few dozen labels a week, a laser printer and A4 sheets are enough. Beyond that, a Zebra or ZPL-compatible thermal printer is faster and cheaper to run.
Sources
Mohamed Rahmouni — founder of Ramira, app developer and Odoo consultant in Niort, France. More