How to Use Barcodes to Scan Products & Customer Cards in Odoo 18 POS: Complete Guide
By Braincuber Team
Published on February 27, 2026
Your cashier spends 8 seconds per item hunting through the product catalog. Multiply that by 43 items in an average grocery order, and you've burned 5 minutes and 44 seconds on a single transaction. Now multiply that across 127 daily orders. That's over 12 hours of wasted labor every single day. Odoo 18 POS ships with native barcode scanning that cuts product lookup to under 0.3 seconds per scan—no third-party apps, no API headaches, no extra subscription fees. This beginner guide walks you through the complete tutorial on wiring it up for both products and customer loyalty cards.
What You'll Learn:
- How to enable barcode scanning in Odoo 18 POS settings
- Assigning barcodes to individual products and printing labels
- Scanning products directly into the POS cart during checkout
- Setting up customer barcodes for loyalty card identification
- Using the Debug Window to simulate scans without hardware
- Configuring Barcode Nomenclatures for advanced automation
Enable the Barcode Feature in POS Settings
Before you scan anything, you need to flip one switch. Navigate to the Point of Sale module, open the Configuration menu, and go to Settings. Inside the POS interface options, enable the Barcode feature. Skip this step, and your scanner is just an expensive paperweight sitting next to the register.
Enable Barcode in POS Settings
Go to Point of Sale > Configuration > Settings. Locate the Barcode option in the POS interface section and toggle it ON. Save the configuration. This activates barcode scanning across all your POS sessions.
Assign Barcodes to Your Products
Every product that you want to scan needs a unique barcode value. You can use the code printed on the manufacturer's packaging, or generate your own using barcode software. Either way, that code goes into a specific field on the product form.
Open the Product Form
Navigate to the Sales or Inventory app. Open your product list and select the product you want to set up. Locate the Barcode field on the product form.
Enter the Barcode Value and Save
Type the barcode number from the product packaging or your generated code into the Barcode field. Hit Save. Repeat for every product you want to scan. Missing this on even one product means that item falls back to manual search at the register.
Each Barcode Must Be Unique
Two products sharing the same barcode will cause chaos at the register. Odoo won't throw an error—it'll just pick whichever product it finds first. Check for duplicate barcodes before going live, especially if you import product data from CSV files.
Print Barcode Labels Directly from Odoo
Don't have barcodes on your products? Odoo 18 lets you print labels right from the product form. No external label software needed.
Print Labels from the Product Form
Open the product, click Print Labels at the top-left. A pop-up window appears—set your Label Quantity, choose the Format, select a Pricelist, and add any extra content. Click Confirm to download the printable label PDF.
Label Quantity = Number of labels to print per product
Format = Label size and layout (e.g., 2x7, 4x12)
Pricelist = Which price to display on the label
Extra Content = Additional text or info printed on labels
Scan Products Into the POS Cart
Once barcodes are assigned and your scanner is connected, open a new POS session. The interface looks the same, but now it responds to barcode input. Scan a product—it lands in the cart instantly with name, price, and quantity. No clicking through categories, no typing product names, no guessing.
Scan Products During a POS Session
Open a new POS session. Point your USB or Bluetooth barcode scanner at the product label. The item automatically appears in the shopping cart with its name, price, and quantity. You can also type the barcode number manually into the search bar to add the product.
| Scanning Method | Speed | Best For |
|---|---|---|
| USB Barcode Scanner | Under 0.3 seconds per scan | High-volume retail, grocery stores, warehouses |
| Bluetooth Scanner | Under 0.5 seconds per scan | Mobile POS setups, pop-up shops, events |
| Manual Barcode Entry | 3-5 seconds per entry | Damaged labels, testing, fallback scenarios |
| Debug Window Simulation | Variable | Development, troubleshooting, system validation |
Use the Debug Window for Scannerless Testing
No scanner yet? Odoo 18 has a Debug Window built right into the POS interface. It lets developers and admins simulate barcode scans by typing in values manually—perfect for validating your setup before the hardware arrives.
Open the Debug Window
From the POS interface, click Debug Window in the menu. A pop-up opens showing the Hardware Status panel. Inside this panel, you'll find the manual barcode input field where you can type barcode values to simulate scans.
Simulate a Barcode Scan
Type the barcode number into the debug input field and submit. The system processes it exactly as if a physical scanner sent the code—identifying the product, applying correct pricing, and updating inventory. Use this to verify your entire barcode setup before the store opens.
Set Up Customer Barcodes for Loyalty Cards
Barcode scanning isn't just for products. Assign barcodes to customer profiles and scan loyalty cards at checkout. The POS auto-loads the customer's name, purchase history, loyalty points, and any applicable discounts—no "What's the phone number?" conversations that hold up the line.
Assign Barcodes to Customer Profiles
Go to Contacts > Customers dashboard. Open a customer record, find the Barcode field, and enter a unique barcode value. Save the record. Print the barcode on a physical loyalty card or store it digitally on the customer's mobile device.
Scan the Customer Card at Checkout
At the POS register, scan the customer's barcode card before or during the transaction. Odoo automatically loads the customer profile, applies any loyalty points or discounts, and links the sale to that customer's history. No manual search, no misspelled names.
Instant Customer ID
One scan replaces 15 seconds of typing and searching. The customer profile loads in under a second, complete with loyalty balance, discount tiers, and purchase history.
Loyalty Points Auto-Applied
Once the customer is identified, applicable loyalty rewards and discounts activate automatically. Your cashier doesn't need to remember who gets what.
Accurate Transaction Linking
Every sale gets linked to the right customer record. No more orphaned transactions or "anonymous" orders in your reports that you can't trace back.
Faster Line Movement
Eliminates the "Can you spell your last name?" bottleneck. Customer identification drops from 18 seconds of manual lookup to 0.3 seconds with a card scan.
Configure Barcode Nomenclatures for Advanced Control
For stores that need more than basic product/customer scanning, Odoo 18 supports Barcode Nomenclatures—customizable rules that define how different barcode types behave. Product codes, customer IDs, discount vouchers, weight-based pricing—each gets its own interpretation rule.
Set Up Nomenclatures in Inventory Settings
Navigate to the Inventory module. Open Configuration > Settings and scroll to the Barcode tab. Here you can configure Barcode Nomenclatures, set up product barcode rules, and define how different code patterns are interpreted by the system.
Product = Standard product lookup by barcode
Customer = Customer profile identification
Discount = Barcode encodes a discount percentage
Weight = Barcode encodes the item's weight for pricing
Price = Barcode encodes a custom price override
Scanner Compatibility
Odoo 18 supports USB and Bluetooth barcode scanners that function as standard keyboard input devices. Most scanners work out of the box—just plug in and scan. If your scanner isn't recognized, check that it's set to HID keyboard mode, not serial communication mode.
The Payoff: What Barcode Scanning Actually Saves You
We've set up barcode scanning for 23 retail clients running Odoo POS. The numbers are consistent across the board.
| Metric | Before Barcodes | After Barcodes |
|---|---|---|
| Avg. time per item lookup | 8.3 seconds | 0.3 seconds |
| Wrong-product errors per shift | 4-7 errors | 0-1 errors |
| Customer identification time | 18 seconds (manual search) | 0.3 seconds (card scan) |
| Cashier training time | 2-3 hours (product catalog) | 15 minutes (scan and go) |
Frequently Asked Questions
How do I enable barcode scanning in Odoo 18 POS?
Go to Point of Sale > Configuration > Settings. Enable the Barcode feature in the POS interface options and save. Your POS sessions will now accept barcode scanner input.
What type of barcode scanners work with Odoo 18 POS?
Any USB or Bluetooth barcode scanner that operates in HID keyboard mode works out of the box. No special drivers or API configurations needed.
Can I scan customer loyalty cards at the POS register in Odoo 18?
Yes. Assign a barcode to the customer's contact record, print it on a loyalty card, and scan it during checkout. Odoo auto-loads the customer profile with loyalty points and discounts.
How do I test barcode scanning without a physical scanner?
Open the Debug Window from the POS interface menu. Use the manual barcode input field to type in barcode values and simulate scans for testing and validation.
What are Barcode Nomenclatures in Odoo 18?
Nomenclatures are customizable rules in the Inventory module that define how barcode patterns are interpreted—whether a scan represents a product, customer, discount, weight, or price override.
Need Help Setting Up Barcode Scanning in Odoo 18 POS?
Our team can configure your product barcodes, customer loyalty cards, nomenclature rules, and POS hardware integration. Stop losing checkout time to manual lookups.
