Introduction
Modern retail depends on more than a Point of Sale screen. A cashier may use Odoo POS to select products and receive payment but the physical checkout process also depends on hardware such as barcode scanners, receipt printers, cash drawers, customer displays, weighing scales and payment terminals.
When these devices are not properly integrated the checkout experience becomes slower and more dependent on manual work. Cashiers may type product codes instead of scanning them, receipts may need to be printed through a separate application and cash drawers may need to be opened manually after every transaction.
Odoo 19 Point of Sale supports several categories of retail hardware including barcode scanners, receipt printers, cash drawers, payment terminals, customer displays, scales and electronic shelf labels. Odoo can connect some hardware directly through the local network while other devices are connected through an Odoo IoT system.
A reliable Odoo POS hardware integration therefore requires more than plugging devices into a computer. Retailers need to understand hardware compatibility, network architecture, barcode configuration, printer protocols, cash-drawer connectivity and how each device should interact with the POS transaction.
Why POS Hardware Integration Matters
Retail employees perform the same actions hundreds of times every day. A small delay during product entry or receipt printing becomes significant when multiplied across thousands of transactions.
Barcode scanners eliminate repeated product searches while receipt printers provide customers with transaction documents immediately after checkout. Cash drawers can be triggered automatically so employees do not need to manually unlock them after every cash transaction.
The benefits become especially important in:
Supermarkets.
Fashion stores.
Electronics retailers.
Pharmacies.
Convenience stores.
Restaurants.
Multi-store retail chains.
Wholesale counters.
Hardware stores.
High-volume checkout environments.
Hardware integration should therefore be treated as part of the Odoo POS implementation rather than something configured only after the software has already gone live.
Understand the Odoo POS Hardware Architecture
Odoo Point of Sale is browser-based and can run on different devices. That gives retailers flexibility when choosing desktops, tablets or compatible POS terminals. The software also maintains selected POS functionality during temporary network interruptions.
The hardware architecture depends on the peripheral being used. Some supported network printers can communicate directly with Odoo POS while USB printers, cash drawers and several other peripherals typically rely on an Odoo IoT system.
Odoo currently supports two main IoT options:
Odoo IoT Box, which is a physical micro-computer with the Odoo IoT software pre-installed.
Windows Virtual IoT, which runs the Odoo IoT software on a Windows computer.
Multiple IoT systems can also be used when an organization operates several hardware stations or locations.
When Do You Need an Odoo IoT System?
An IoT system acts as a hardware bridge between Odoo and devices that cannot communicate directly with the browser.
For POS environments, Odoo documents support for connecting devices such as printers, barcode scanners, cash drawers, scales, customer displays and payment terminals through the IoT system.
A typical decision can be summarized like this:
| Device | Direct Connection Possible? | IoT Often Required? |
|---|---|---|
| Supported network ePOS printer | Yes | No |
| USB receipt printer | Usually no direct browser integration | Yes |
| ESC/POS printer | Through supported IoT connection | Yes |
| Cash drawer | Connected through printer | Yes when printer uses IoT |
| Barcode scanner | Often behaves like keyboard input | Optional depending on setup |
| Customer display | Supported through POS/IoT setup | Depends on hardware |
| Weighing scale | No standard direct browser connection | Yes |
| Payment terminal | Depends on provider | Depends on integration |
The correct architecture should be determined before hardware is purchased.
Barcode Scanners in Odoo POS
Barcode scanners are one of the most useful POS devices because they reduce product-selection time and typing errors.
Odoo POS can use barcode scanning to add products to an order, apply specific discount tags and identify employees through badges. Products need a barcode assigned so Odoo can match the scanned value to the correct item.
Odoo also supports several barcode formats and allows businesses to use standard GTIN/EAN barcodes or internal barcode strings. Product barcodes can be maintained through product records and Barcode configuration.
A strong implementation should ensure that every frequently sold item has a unique and correctly assigned barcode before the POS is rolled out.
Configure Barcode Scanner Input Correctly
Most barcode scanners operate like keyboards. When a barcode is scanned the device rapidly sends the barcode characters to the active application.
Odoo states that scanners connected through the IoT system should terminate each barcode with an ENTER character using keycode 28. This is commonly the scanner's default configuration but it should still be verified during implementation.
If the scanner sends:
8901234567890
without the expected termination character, Odoo may not process the scan correctly.
A proper scanner configuration therefore needs to verify:
Barcode suffix.
Keyboard layout.
Scan speed.
Supported symbology.
USB or wireless connection.
Device recognition.
Product barcode quality.
Barcode Keyboard Layout Problems
A scanner may work physically but still return incorrect characters.
Odoo notes that many barcode scanners are configured for the US QWERTY keyboard layout by default. If the computer or database uses another layout, the scanned characters may not match the printed barcode.
When a scanner is connected through Odoo IoT, the device configuration allows the keyboard layout to be adjusted.
This is particularly important for international retail deployments where stores may use different language and keyboard settings.
When Odoo Detects a Scanner as a Keyboard
Some USB barcode scanners are identified as keyboards instead of barcode scanners.
Odoo's IoT device settings include an Is scanner option that can be enabled when the IoT system detects the hardware incorrectly.
This type of issue should be tested before go-live because a scanner that appears to work during basic testing may behave unpredictably when the POS is used on tablets or mobile devices.
Retail teams should therefore test scanning on the same device and browser that cashiers will use in production.
Barcode Nomenclature Can Support More Than Product IDs
Barcodes do not need to represent only one fixed product number.
Odoo barcode nomenclature can identify different types of barcode information. POS can also use configured barcode patterns for operations such as discounts. Odoo gives an example where a discount barcode can automatically apply a percentage discount to a product.
Retailers may therefore design barcode processes for:
Product identification.
Employee badges.
Discount labels.
Weighted products where supported.
Product packaging.
Internal references.
Inventory and warehouse operations.
The barcode structure should be standardized before labels are printed across thousands of products.
Receipt Printer Integration in Odoo
Receipt printers are another critical part of checkout.
Odoo POS can automatically print a receipt after payment when a compatible receipt printer is configured and automatic printing is enabled. If no receipt printer is connected, the POS can use the browser print function instead.
Odoo currently recommends Epson receipt printers and supports several connection models. Some network-based printers supporting Epson's ePOS communication can connect without an IoT system while several USB and ESC/POS printers require an IoT connection.
Before purchasing printers retailers should therefore verify the exact model and connection protocol.
Direct ePOS Printer Connection
Supported Epson network printers can communicate directly with Odoo POS.
Odoo specifically highlights the Epson TM-m30 i, ii and iii network models as fully tested options. Other Epson Wi-Fi or Ethernet printers supporting the ePOS protocol may also work.
For direct configuration the printer needs to be connected to the local network then the printer IP address is entered in:
Point of Sale → Configuration → Settings → Connected Devices
A static IP address should be assigned when using direct local-network communication. If the router later gives the printer a different address, Odoo may no longer be able to reach it.
Local Network Access in Odoo POS
Modern browsers apply restrictions when a public website attempts to communicate with a device on the local network.
Odoo 19 supports Local Network Access or LNA for compatible Chromium-based browsers. LNA allows the Odoo POS page to communicate with supported local devices such as ePOS printers after the user grants browser permission.
This is particularly useful for network printers that do not require an IoT system.
Retail IT teams should verify:
Browser compatibility.
Local Network Access permission.
Printer IP address.
Router configuration.
Static IP assignment.
Store network segmentation.
A printer problem can therefore sometimes be caused by the browser rather than the printer itself.
USB and ESC/POS Receipt Printers
Not every receipt printer supports direct ePOS communication.
Odoo documents USB ePOS printers and ESC/POS printers as devices that require an IoT system. ESC/POS printers can be connected to the IoT environment through supported USB or network interfaces.
The IoT system detects supported printers and exposes them to the Odoo database. Printers connected through the network must be on the same network as the IoT system.
This architecture is useful when a retailer already owns compatible USB POS printers and wants to integrate them with Odoo without replacing every device.
Bluetooth Printers Need Special Attention
Retailers frequently assume that any Bluetooth thermal printer will work because it can print from another mobile application.
That assumption should not be made with Odoo POS.
Odoo's current documentation states that Bluetooth receipt printers are not compatible with Odoo.
Hardware procurement teams should therefore confirm compatibility before buying large quantities of inexpensive mobile printers.
The correct question is not:
“Can the tablet connect to this printer?”
It is:
“Can Odoo POS communicate with this exact printer model through a supported integration method?”
Receipt Configuration in Odoo POS
Hardware integration determines whether the receipt can physically print but the actual receipt content is configured separately.
Odoo receipts can include elements such as the company logo, order number, cashier, customer information, order lines, discounts, payment methods and optional invoice-generation information. Automatic receipt printing can also be enabled from POS settings.
Businesses can configure:
Automatic receipt printing.
Custom receipt header.
Custom receipt footer.
Basic receipt format.
Electronic receipt options.
Invoice-related QR code or URL options.
Retailers should test receipt width and formatting with the actual production printer rather than relying only on a browser preview.
Cash Drawer Integration in Odoo POS
Cash drawers are relatively simple devices but their connection architecture is often misunderstood.
In Odoo's supported POS IoT configuration, the cash drawer is connected to the receipt printer using an RJ25 cable.
This means the printer usually acts as the hardware controller for the drawer.
When the POS sends the appropriate printer command, the printer triggers the cash drawer to open.
A typical retail setup therefore needs:
Compatible cash drawer.
Compatible receipt printer.
Correct RJ25 connection.
Proper printer configuration.
Odoo IoT setup when required.
Cash payment method configuration.
Buying a USB cash drawer without understanding this architecture can create unnecessary implementation problems.
Why the Printer-Cash Drawer Relationship Matters
Retailers sometimes troubleshoot the cash drawer as though it were an independent Odoo device. In many configurations the correct troubleshooting order should begin with the printer.
If the printer is not connected correctly, Odoo may also be unable to trigger the cash drawer connected to it.
Common checks include:
Is the printer online?
Is Odoo sending receipts successfully?
Is the cash drawer connected to the correct printer port?
Is the RJ25 cable working?
Is the drawer physically unlocked?
Is the correct POS printer assigned?
This simple dependency should be documented for store-support teams.
Customer Displays and Other POS Hardware
Barcode scanners, printers and cash drawers are the most common devices but larger retail installations may require additional hardware.
Odoo POS currently supports integration categories including:
Customer-facing displays.
Electronic scales.
Payment terminals.
Electronic shelf labels.
Cash-handling machines.
Preparation printers for restaurants.
A customer display can show the current POS order to the customer while a compatible weighing scale can send product weight directly into POS. Scale integration requires an IoT system.
These peripherals should be evaluated according to the retailer's business process rather than installed simply because they are available.
Network Design Is Part of POS Hardware Integration
Many POS hardware failures are actually network failures.
Network receipt printers need reliable communication with the POS device or IoT system. An unstable Wi-Fi connection can cause intermittent printing while changing IP addresses can make printers appear offline.
A stronger retail hardware environment should consider:
Stable wired Ethernet for fixed printers where practical.
Static IP addresses for directly connected ePOS printers.
Reliable store Wi-Fi for mobile POS devices.
Separate guest and business networks.
Stable DNS and internet connectivity.
Router configuration that allows required local communication.
Backup network options for critical stores.
Hardware integration should therefore involve both the Odoo team and whoever manages store networking.
Test POS Hardware Under Real Checkout Conditions
A scanner working once and a printer producing one test page are not enough to approve a production setup.
Testing should reproduce real retail transactions.
A practical hardware test plan should include:
Scan 50–100 different products.
Scan the same product several times quickly.
Test discount barcode rules.
Process cash transactions.
Verify automatic drawer opening.
Process card transactions.
Print multiple receipts continuously.
Reprint historical receipts.
Restart POS and verify device reconnection.
Temporarily interrupt the network.
Test device recovery after connectivity returns.
Validate all equipment on every checkout station.
Odoo POS can continue operating during temporary network interruptions but hardware behavior still depends on local connectivity and device configuration.
Common POS Hardware Problems
Several issues appear repeatedly during retail deployments.
Barcode does nothing: Verify that the scanner sends an ENTER character and that the correct device is configured.
Barcode returns wrong characters: Check the scanner's keyboard layout.
Printer disappears: Verify its IP address and ensure a static network address is configured when required.
Blank receipt: Thermal paper may be installed incorrectly. Odoo specifically recommends checking the paper orientation when a receipt prints blank.
Printer cannot be reached from Chrome: Check Local Network Access permission.
Cash drawer does not open: Verify the printer first then check the RJ25 connection.
Device is visible but incorrectly classified: The device subtype can be adjusted in the Odoo IoT device configuration for supported printers.
Hardware Selection Checklist for Odoo POS
Before purchasing devices for several stores retailers should create a hardware standard.
The checklist should include:
| Area | What to Verify |
|---|---|
| Barcode Scanner | USB/HID behavior, ENTER suffix and barcode formats |
| Receipt Printer | Odoo-supported protocol and connection type |
| Cash Drawer | Printer compatibility and RJ25 connection |
| POS Computer | Supported modern browser and sufficient ports |
| Store Network | Stable Ethernet/Wi-Fi and static device IPs |
| IoT Requirement | Physical IoT Box or Windows Virtual IoT |
| Payment Terminal | Supported provider and country |
| Receipt Paper | Correct width and printer type |
| Backup Hardware | Spare scanner and printer for critical stores |
Standardizing equipment across locations makes support significantly easier than allowing every store to purchase its own hardware.
How BrowseInfo Can Help With Odoo POS Hardware Integration
Odoo provides the standard IoT and POS hardware framework but retail businesses often need additional implementation work around existing hardware, store networks and custom checkout requirements.
BrowseInfo's current IoT integration guidance includes retail hardware such as barcode scanners, POS devices, receipt printers and payment terminals. Its recommended migration approach includes hardware assessment, compatibility analysis, IoT configuration, workflow testing and user training.
For a retail implementation, BrowseInfo can help with:
Odoo POS configuration.
Barcode scanner setup.
Receipt printer integration.
Cash drawer setup.
Odoo IoT Box configuration.
Windows Virtual IoT setup.
Existing POS hardware assessment.
Multi-store hardware standardization.
Custom POS hardware integration where required.
Payment terminal and external-device integration.
Device testing and troubleshooting.
The goal should be to use Odoo's standard supported hardware architecture wherever possible then introduce custom development only when a required business device cannot be handled through standard configuration.
Common Odoo POS Hardware Integration Mistakes
One common mistake is purchasing hardware before checking Odoo compatibility. A cheap Bluetooth printer may work with a standalone Android application but still be unsuitable for Odoo POS.
Another mistake is treating network configuration as unrelated to POS implementation. Printers with changing IP addresses and blocked Local Network Access permissions can make a perfectly compatible device appear unreliable.
Retailers should also avoid configuring one checkout station then assuming every other store will behave identically. Different routers, operating systems, browser versions and printer models can change the result.
The strongest implementation approach is to standardize hardware models, document every connection and perform repeatable testing at each location.
Frequently Asked Questions
1. Can Odoo POS connect with barcode scanners?
Yes. Odoo POS supports barcode scanners for product selection, employee badges and certain barcode-based functions such as discount labels. Scanner configuration should ensure that the expected barcode and ENTER termination are sent correctly.
2. Does a barcode scanner require an Odoo IoT Box?
Not in every setup. Many scanners behave like keyboard devices and can work directly with the POS interface. An IoT system can also be used for supported scanner integration and device management.
3. Which receipt printers work with Odoo POS?
Odoo recommends Epson receipt printers. Compatible options include supported network ePOS printers while USB ePOS and ESC/POS printers can be connected through an IoT system. Bluetooth printers are not supported.
4. Does every Odoo receipt printer require an IoT Box?
No. Supported network Epson ePOS printers can connect directly to Odoo POS. Other printer categories including several USB and ESC/POS models require an Odoo IoT system.
5. How does a cash drawer connect with Odoo POS?
In Odoo's documented IoT POS configuration, the cash drawer connects to the receipt printer using an RJ25 cable. The printer is therefore an important part of the drawer-control setup.
6. Can Odoo POS automatically print receipts?
Yes. When a compatible printer is configured, automatic receipt printing can be enabled so the receipt prints after payment confirmation. Receipts can also be reprinted from previous paid orders.
7. What is the Odoo IoT Box used for in POS?
The Odoo IoT Box acts as a bridge between Odoo and supported physical hardware such as printers, barcode scanners, cash drawers, scales and other peripherals that require IoT connectivity.
8. Why does my Odoo POS printer keep disconnecting?
Common causes include an incorrect or changing printer IP address, local-network permission problems, Wi-Fi instability or incorrect printer configuration. Odoo recommends using a static IP for supported directly connected ePOS printers.
Conclusion
A successful Odoo POS implementation depends on both software and physical checkout hardware.
Barcode scanners improve transaction speed by identifying products immediately. Receipt printers provide automatic transaction documentation while cash drawers can be triggered as part of the payment process. Customer displays, payment terminals and scales can further extend the checkout environment.
The important technical decision is how those devices connect.
Some hardware can communicate directly with Odoo POS through supported browser and network integrations while other devices rely on an Odoo IoT Box or Windows Virtual IoT. Receipt-printer protocols, scanner suffix configuration, static IP addresses and local-network permissions all need to be verified before the equipment reaches production.
Hardware standardization is equally important.
A retailer operating 40 stores will find support much easier when each location uses a known scanner, printer and cash-drawer combination than when every branch uses different devices.
Businesses should therefore treat POS hardware as part of the Odoo architecture rather than a purchasing decision made after implementation.
When Odoo POS, barcode scanners, receipt printers, cash drawers, IoT connectivity and store networking are configured together, cashiers can process transactions faster while the business reduces manual entry, printing problems and device-related checkout delays.