The Barcode app is where Odoo meets the physical world: a scanner in one hand, a box in the other, and no patience for dialogs. Odoo 20’s Barcode changes read like they were written by someone who watched real operators work. Buttons that no longer move around the screen. A choice about backorders made in the app instead of back at a desk. Products created by scanning them. Packages whose contents are already known before the truck door opens. Individually these are small things; on a floor where a picker scans hundreds of lines a shift, small things are the whole job.
Here is what is new in Odoo 20 Barcode, grouped the way the work actually happens: receiving, moving and counting stock, producing, and the new economics of who gets a scanner.
Receiving: batches, pre-packed boxes, and fewer surprises
Batch receipts are suggested for you
When several receipts from the same vendor are expected, Odoo 20 now suggests batches when receiving products from that vendor with multiple expected receipts. Batching related receipts means the operator processes one grouped flow instead of hunting through separate transfers for the same delivery — and the system, not the operator, notices that the receipts belong together.
Packages arrive pre-encoded
Vendors increasingly communicate what is inside a package before it ships. In Odoo 20, packages and their contents communicated by the vendor can be pre-encoded in the Inventory app. When the package arrives, the operator scans the package and that single scan marks the package and its contents as received. No opening, no line-by-line scanning of a box whose manifest you already had.
A related fix handles mixed packages: if a package contains untracked goods that were registered in a previous step, those goods are now included in the package’s contents when it is scanned in later steps, so nothing silently falls out of the contents list as the package moves through a multi-step flow.
Decisions made on the floor, not at a desk
Backorders: your call, in the app
Partial deliveries used to push a question back to whoever managed the transfer: create a backorder for the remainder, or not? In Odoo 20, operators can choose whether or not to create a backorder directly from the Barcode app. The person looking at the short shipment makes the call in context, and the flow continues either way.
One Produce button
On the manufacturing side of the app, the separate “Produce” and “Produce All” buttons have been replaced by a single Produce button — the same change applies in Manufacturing and Shop Floor. One less distinction for an operator to decode mid-task, and one less wrong tap to unwind.
Creating products by scanning them
Every warehouse has a shelf of shame: products that arrived before anyone created them in the system. Odoo 20 attacks that backlog directly — you can now scan a product’s barcode to create the product via Barcode Lookup, throughout the app. Scan the unknown item, let the lookup identify it, and the product exists. Receiving no longer stalls because master data lagged behind the loading dock, and the fix happens at the point of work rather than in an office queue.
Lots and serials without the friction
Traceability is non-negotiable for food, pharma, and electronics — but registering lots and serials has traditionally been the slowest part of a scan flow. Three changes help:
- Bulk generation: lots and serial numbers can now be generated in bulk, instead of one at a time.
- Manual entry fallback: when scanning is not possible — a damaged label, a dead scanner — the operator can manually enter a lot number and its related quantity and keep moving.
- Smarter manufacturing behaviour: the release notes describe manufacturing improvements in Barcode that remove irrelevant settings and correct behaviour so that reserved lot/serial numbers of components are shown only when the related setting is active, and mandatory scans no longer prevent the editing of by-products.
The theme is consistent: the system asks for traceability data once, in bulk where possible, and stops blocking legitimate work when the ideal scan path is unavailable.
Counting stock in the app
Inventory counts in Barcode gain a practical escape hatch: when counting from the app, you can click the pen icon to manually enter the total counted quantity for a selected product. Counting a bin of identical small parts by scanning each one was never realistic; counting them and keying the total is how counts actually happen. Odoo 20 stops pretending otherwise, while the scan path remains for items where unit-level accuracy matters.
Buttons that stay where you left them
The most operator-friendly change is also the easiest to describe: Barcode buttons now stay in the same position on the screen, regardless of the entered quantity. Interfaces that reflow as quantities change cause mis-taps — the button you were about to press is replaced by a different one — and mis-taps in a warehouse become wrong quantities on real transfers. Fixed positions build muscle memory, and the release notes say the quiet part out loud: the change is there “to improve usability and reduce errors.”
Two supporting touches round out the daily experience. The user login button has been added to the mobile view, which matters on shared devices where operators switch between shifts. And back in the office, administrators can now preview the Barcode instructions shown to the operator directly from the operation type, based on the chosen configuration — so the guidance a picker sees can be checked before it is live, not debugged on the floor. Product packaging barcodes are also easier to reach, managed directly from the product form, and location barcode labels are now available in ZPL format for label printers.
Who can hold the scanner: light users
The biggest structural change is about licensing. Odoo 20 introduces Light Users — a lower-cost licence tier (from EUR 7.90 per user per month in Europe; regional pricing varies) for limited-access users — and Barcode is one of the apps built for them. The release notes put it plainly: you can restrict light users’ access to just the Barcode module, and the 20.0 documentation confirms that light users can access the Barcode app but do not have access to the Inventory app.
For warehouse operations, that maps neatly onto reality. A seasonal hire or a dedicated picker needs to receive, move, and count stock — not to reconfigure routes or edit product masters. Putting that person on a light licence, scoped to Barcode only, cuts both cost and risk. Check your region’s pricing on odoo.com before budgeting; the structure, not any single number, is the point.
One more floor reality is covered by a general Odoo 20 feature: offline mode. Users can create, edit, archive, unarchive, and delete records while offline, and re-run searches they have run before; work syncs when the connection returns. Warehouses with dead zones — a cold-storage room, a basement stockroom, a yard — are exactly where scanners lose signal, and exactly where work cannot stop.
A short rollout checklist
- Decide your backorder policy per operation type, so in-app choices follow a rule instead of a mood.
- Ask key vendors what package-content data they can send, and pre-encode it before the next delivery.
- Print ZPL location labels and retire any handwritten bin signs.
- Preview operator instructions from each operation type before go-live.
- Move scanner-only staff to light users scoped to Barcode, and verify they cannot reach Inventory.
- Download the Shop Floor demo sheet from Manufacturing to test your scanners and flows before training anyone.
Odoo 20’s Barcode release is not about flash. It is about an app that respects the conditions it is used in: gloves, glare, dead zones, damaged labels, and a queue at the dock. That is precisely where warehouse software earns its keep.
Further reading
- Odoo 20 Release Notes — Odoo — the Barcode section: backorder choice, product creation via Barcode Lookup, batch receipts, pre-encoded packages, fixed button positions, and light-user access.
- Barcode — Odoo 20.0 documentation — setup, scanner configuration, Barcode Lookup, lot and serial barcodes, and daily operations including counts and batch transfers.
- Inventory — Odoo 20.0 documentation — the companion Inventory guide covering the flows the Barcode app executes.
