Skip to content

Fix Odoo Barcode Scanner Not Working: Hardware, Configuration, and Software Issues

DeployMonkey Team · March 23, 2026 10 min read

The Barcode Scanner Problem

Barcode scanners are essential for warehouse operations, inventory management, and point of sale in Odoo. When they stop working — no scan registered, wrong product matched, or actions not triggered — warehouse efficiency drops immediately. The issue can be in the hardware, the scanner configuration, the Odoo barcode module, or the browser.

Common Symptoms

  • Scanner beeps but nothing happens in Odoo
  • Wrong characters appear when scanning
  • Barcode scanned but product not found
  • Scanner works in Notepad but not in Odoo
  • Scan registered twice (duplicate entries)
  • Mobile barcode camera not activating

Cause 1: Scanner Not in Keyboard Emulation Mode

Most USB barcode scanners work as keyboard emulators — they "type" the barcode digits. Odoo expects this behavior. If your scanner is in a different mode (serial, HID-POS), Odoo will not detect scans.

# Fix: Reset scanner to keyboard emulation mode
# 1. Find your scanner's programming guide (usually comes with a card)
# 2. Scan the "USB Keyboard" or "HID Keyboard" barcode in the guide
# 3. Most Honeywell/Zebra/Datalogic scanners have a factory reset barcode

# Test: Open any text editor, scan a barcode
# The digits should appear as typed text followed by Enter

Cause 2: Missing Suffix (Enter Key)

Odoo expects each scan to end with a carriage return (Enter key). Without it, Odoo does not know the scan is complete.

# Fix: Configure scanner to send Enter after each scan
# In scanner programming guide, scan the "Add Suffix CR" barcode
# Or "Add Suffix CR+LF"

# Test: Open Notepad, scan a barcode
# The cursor should move to the next line after the digits appear
# If it stays on the same line, the suffix is missing

Cause 3: Wrong Keyboard Layout

If the scanner is configured for a US keyboard but your system uses a different layout, characters get mismatched.

# Symptoms: letters or symbols appear instead of digits
# Example: scanning "12345" shows "&eapos;(" on a French keyboard

# Fix Option 1: Set scanner to match your keyboard layout
# Program the scanner for your country's keyboard layout

# Fix Option 2: Set system keyboard to US English temporarily
# On Windows: Settings → Time & Language → Keyboard → English (US)
# On Linux: setxkbmap us

Cause 4: Odoo Barcode Module Not Installed

The barcode functionality requires specific Odoo modules.

# Required modules:
# - stock_barcode (Warehouse Barcode Scanning) — Enterprise only
# - barcodes (Barcode Nomenclature) — Community
# - point_of_sale (Point of Sale barcode support)

# Check installed modules:
# Settings → Apps → Search "barcode"
# Install the required modules for your use case

# Community alternative: Use the built-in barcode support
# in Inventory operations (no extra module needed for basic scanning)

Cause 5: Browser Focus Issue

Since the scanner types keystrokes, the browser window and the correct Odoo form field must have focus.

# Fix:
# 1. Click inside the Odoo browser tab before scanning
# 2. Make sure no popup or dialog is covering the barcode input
# 3. In Inventory operations, click the barcode input field first
# 4. Avoid having other applications steal focus

# For dedicated scanning stations:
# Run the browser in kiosk mode (fullscreen, no address bar)
# Chrome: chrome --kiosk https://your-odoo.com/web

Cause 6: Product Barcode Not Set in Odoo

The scan works, but Odoo cannot find the product because no barcode is assigned.

# Fix:
# 1. Inventory → Products → Select product
# 2. In the General Information tab, fill in the "Barcode" field
# 3. Scan the product barcode to fill it automatically
# 4. Save

# Bulk assignment via import:
# Export products to CSV, add barcodes, re-import
# CSV columns: External ID, Name, Barcode

# Check for duplicates:
# SELECT barcode, COUNT(*) FROM product_product
# WHERE barcode IS NOT NULL
# GROUP BY barcode HAVING COUNT(*) > 1;

Cause 7: Barcode Nomenclature Mismatch

Odoo's barcode nomenclature defines how to interpret scanned barcodes. If your barcodes do not match the configured nomenclature, Odoo ignores them.

# Check nomenclature:
# Settings → Technical → Barcode Nomenclatures
# Default nomenclature supports EAN-13, EAN-8, UPC-A

# If using custom barcodes (not EAN/UPC):
# 1. Go to Barcode Nomenclatures → Default Nomenclature
# 2. Add a new rule:
#    Name: Custom Product Barcode
#    Type: Product
#    Barcode Pattern: .*  (matches any pattern)
#    Sequence: 50 (higher = lower priority)

Cause 8: Scan Speed Too Fast

Some scanners send characters faster than the browser can process them, causing missed or garbled scans.

# Fix: Slow down the scanner's inter-character delay
# In scanner programming guide, set:
# Inter-character delay: 10-20ms
# Some scanners call this "keystroke delay" or "character gap"

# Alternative: Use the scanner's batch mode
# Scan all items, then transfer the batch to Odoo

Cause 9: Mobile Camera Scanner Not Working

Odoo's mobile barcode scanner uses the device camera via the browser.

# Fix:
# 1. Use HTTPS — camera access requires a secure connection
#    http://odoo.local will NOT work for camera access
# 2. Allow camera permission when the browser asks
# 3. Check browser settings → Site permissions → Camera → Allow
# 4. Use Chrome or Safari — other browsers may have limited support
# 5. Ensure adequate lighting — camera scanners need good light

Testing Barcode Scanning

# Step-by-step test:
# 1. Open a text editor → scan a barcode → verify digits + Enter
# 2. In Odoo → Inventory → Operations → any transfer
# 3. Click the barcode input area
# 4. Scan a barcode that matches a product in Odoo
# 5. The product should appear in the operation

# If step 1 works but step 4 does not:
# → Problem is in Odoo configuration (barcode not assigned or nomenclature)
# If step 1 does not work:
# → Problem is with the scanner hardware or USB connection