Barcode Scanning in Odoo Inventory#
Barcode scanning replaces manual product lookups and quantity entry with a scan-and-confirm workflow - faster, more accurate, and mobile-friendly. Odoo's Barcode app integrates with inventory operations out of the box.
Prerequisites#
Apps → Inventory → Install Barcode (if not already enabled).
Inventory → Configuration → Settings → enable Barcode Scanner.
Supported Hardware#
- USB barcode scanners (keyboard emulation - works as keyboard input)
- Bluetooth scanners paired to tablets/phones
- Mobile devices with the Odoo Android/iOS app (camera-based scanning)
- Zebra/Honeywell industrial handhelds (Odoo-compatible with Zebra's Enterprise Browser)
Configuring Barcodes on Products#
Product → Inventory tab → Barcode: enter or scan the product barcode (EAN-13, UPC, QR code, or custom).
For multiple barcodes per product (e.g., different package sizes):
Inventory → Configuration → Barcodes → New:
- Product: Widget A
- Barcode: 7890001234567 (inner pack)
- Quantity: 1
Add another record for the outer case:
- Barcode: 7890001234568 (outer case)
- Quantity: 12
Scanning the case barcode increments quantity by 12.
Barcode Scanning for Receipts#
Barcode App → Operations → Receipts → [PO]:
- Scan product barcode → line is highlighted
- Scan quantity (or type manually): 50 units
- Scan lot/serial number (if required)
- Repeat for all products
- Validate → receipt is confirmed, stock updated
Barcode Scanning for Picking#
Barcode App → Operations → Transfers → [Picking]:
- Scan location barcode (confirms picker is at the right location)
- Scan product barcode → system confirms correct product
- Scan quantity (or type)
- Move to next line
- Validate → delivery prepared
Inventory Adjustment via Barcode#
Barcode App → Physical Inventory:
- Scan product → scan quantity
- Odoo shows the expected quantity vs. counted
- Discrepancies are flagged for review before posting
Barcode on Locations#
Print location barcodes (GS1-128 format):
Inventory → Configuration → Locations → [Location] → Print Barcode
Scanning a location confirms the picker's physical position matches the transfer instruction - reduces put-away errors.

