Warehouse Barcode Operator
Scanner-driven picking, receiving and stock counting, with every scan applied once even when the handset retries.
- Category
- Inventory/Inventory
- Odoo version
- Odoo 19.0
- Price
- USDย 149
- Odoo Apps Store
- Listed
Barcode scanning for transfers and stock counts, built so that a handset on a bad connection cannot adjust stock twice.
The problem it solves
- โ A scanner in a warehouse is not a browser on a desk. It loses signal in the racking, the operator presses send again, and the request that looked lost arrives after all. Anything that adds a quantity on the way in will add it twice. That is how a warehouse ends up with a count nobody can explain.
- โ Every command this module accepts carries a reference generated on the handset before the request is sent. Those references are held behind a unique database index. A repeat lands on its own earlier row and does nothing, and the answer the first request got is handed back instead. It is the same guarantee whether the repeat comes a second later or a day later.
Resolving a barcode
- โ One server call turns a barcode into a typed answer: a transfer, a location, a package, a product, a packaging unit, or a lot
- โ The company barcode nomenclature is walked first, so weight-embedded and aliased barcodes are read the way the warehouse has already set them up
- โ Matching runs narrowest first: transfer, then location, then package, then product and packaging, then lot
- โ A lot number is only ever matched against the product being scanned, since lot numbers are not unique between products and guessing is how the wrong item gets booked
- โ Nothing about what a barcode means is decided in the browser
Picking, receiving and internal moves
- โ A queue of scans is applied in one transaction, so a batch either lands whole or not at all
- โ Operations are created or added to correctly, with the unit of measure converted once so the checks compare like with like
- โ The operation type decides whether over-picking is allowed and whether a product nobody ordered can be added
- โ Lots and serial numbers follow the operation type: an unknown number is created only where the type allows it, and refused with a plain sentence where it does not
- โ A serial number is one unit and cannot be scanned twice onto the same transfer
- โ A scanned source or destination is checked against the transfer, so stock cannot be booked out of an aisle that never held it
- โ Validation from the handset decides the backorder up front rather than stopping to ask
Stock counts that survive a shift change
- โ A count is a record: it is started, scanned against, put down, picked up by somebody else and applied when it is ready
- โ Blind counting keeps the expected figure off the handset
- โ Counting never invents a lot number, because a number that is not in the system is a question, not a data entry
- โ Applying writes each counted figure onto its stock record and posts the adjustment, once. A line that has been applied is never written again, so a second press of the button changes nothing
- โ Applying needs its own group. Counting is a floor job; changing stock is not
- โ A printable count sheet with the difference on every line
The handset screen
- โ A mobile-first screen with a permanently focused hidden input, so a keyboard-wedge scanner has somewhere to type without anybody tapping a field. Scans queue on the device and are sent as a batch. The screen draws what the server sends it and nothing else, which means the same rules apply to a script, a controller or a different front end later.
- โ Requires Inventory. Works with Odoo 19 Community and Enterprise.
What you get
- โFull module source code: Python, OWL, XML and CSS
- โInstallation on your Odoo instance, or a copy you install yourself
- โWritten documentation and a user guide
- โA one-hour walkthrough with your team
- โ90 days of bug-fix support
Buy it on the Odoo Apps Store
Warehouse Barcode Operator is published on apps.odoo.com at USDย 149. Buy there and you get every update we publish for that version.
View on Odoo AppsRelated modules
Auto-Validate Delivery on Sale Confirm
Automatically validate the delivery transfer when a sale order is confirmed - no manual delivery step.
Inventory/InventoryBarcode Price Checker Kiosk - Self-Service & Offline
Self-service barcode price checker kiosk for retail & supermarket stores - customers scan any item and instantly see its price & stock. Full-screen, works 100% offline with any USB/Bluetooth scanner; self-healing cache, auto-refresh.
Inventory/InventoryAuto-Validate Receipt on Purchase Confirm
Automatically validate the receipt transfer when a purchase order is confirmed - no manual receiving step.
Inventory/PurchaseGulf and South Asia Shipping Carriers
Aramex, SMSA, Naqel, Leopards and TCS shipping connector: rates, waybills, labels, cancellation and tracking, with a simulation mode and a full call log.
Inventory/DeliveryWT Inventory Analytics Dashboard
Enterprise Inventory Analytics Dashboard - KPIs, Stock Levels, Valuation, Movements & Alerts for Odoo 19
InventoryStock Aging Pro - Slow-Moving, Dead Stock & Carrying Cost
Inventory aging analysis with bucketed report (0-30/31-60/61-90/91-180/181-365/365+), carrying-cost estimate, slow-mover & dead-stock detection, monthly snapshots with trend, write-off wizard, weekly email digest, PDF report. Both Community and Enterprise miss this - your inventory team will thank you.
Inventory/ReportingNeed it to work a little differently?
Every module here started as a client request. Tell us what is missing and we will quote the change, or build the thing you actually need.