Odoo 20 POS Hardware: What Still Works, What to Replace

Every Odoo upgrade raises the same anxious question at the counter: will the printer still print on Monday morning? Odoo 20 changes the POS hardware story more than most releases — the browser can now talk directly to supported network printers through Local Network Access (LNA), with no IoT box or SSL certificate in between. But “more direct” does not mean “everything works the way it did”. Some kit becomes simpler to run, some still needs an IoT gateway exactly as before, and one category — Bluetooth printers — was never supported and still is not. This article goes device class by device class, based on the Odoo 20.0 documentation, so you can audit your counters before you upgrade.

The big shift: Local Network Access

Local Network Access is a browser security feature that lets a web page send requests to devices on the local network, with the user's explicit permission. In Odoo 20, the POS uses LNA to communicate with compatible devices — principally ePOS printers — directly from the browser, without requiring an SSL certificate. The documentation spells out the conditions:

  • Browser: LNA is available in most Chromium-based browsers at version 142 or higher — Google Chrome, Brave, Microsoft Edge, Vivaldi, and Opera are named. A till running an older browser, or a non-Chromium browser, will not get the LNA path.
  • Enabled by default: LNA is on by default and used automatically for compatible devices when the Use Local Network Access checkbox is enabled on the printer form. To guarantee POS uses it over a secure connection, an administrator can set the system parameter point_of_sale.use_lna to True.
  • Static IP required: an ePOS printer used over LNA must have a static IP address, configured through the router — otherwise it may become unreachable when its address changes.
  • Permission prompt: Chrome asks the user to allow access to local network devices; if the prompt was dismissed, permission can be granted manually in the browser's site settings. Brief staff that this prompt is legitimate.
  • Status check: the POS register's menu includes a Local Network Access button showing the current LNA permission status — the first place to look when a printer “mysteriously” stops working.

Odoo also recommends LNA instead of the older alternative, generating a self-signed certificate for the printer — that route still exists in the documentation, but LNA is now the preferred way to get a browser and a printer talking securely.

Printers: the class that changed most

The Odoo 20.0 receipt-printer documentation divides printers into clear camps:

  • Directly supported, no IoT: the Epson TM-m30 i/ii/iii models, Wi-Fi or Ethernet only, are the recommended printers and are integrated with Odoo Point of Sale. Other Wi-Fi or Ethernet Epson models that support the ePOS protocol should also be compatible. The printer must be capable of operating in HTTP mode. Network ePOS printers such as the TM-m30 iii connect without an IoT system.
  • Android all-in-one terminals: iMin POS devices are network-based and do not require an IoT system; Odoo lists the Swan 2 and Falcon 2 as compatible (the Falcon 2 must be docked to print). One limit to note: iMin devices should not be used to print preparation orders.
  • IoT required: ePOS printers connected by USB, and ESC/POS printers over USB or network, still require an IoT connection. The documentation names two popular families as IoT-only: the Epson TM-T20 family and Epson TM-T88 family, both flagged as having incompatible ePOS software for direct connection.
  • Not compatible: Bluetooth printers are not compatible with Odoo. If a counter relies on one today through some workaround, Odoo 20 is the moment to replace it.

Odoo 20 also adds configuration refinements: a printer's paper size can be configured, and developer mode reveals a Connection Timeout field so print jobs on slow networks or older hardware do not fail prematurely. Separately, the release notes add that any label printer can now be connected directly via USB proxy — good news for shops printing labels at the till.

Everything else on the counter

Cash drawers. The established pattern is unchanged: the drawer connects to the receipt printer (with an RJ25 cable, per the IoT documentation), so the drawer's fate follows your printer decision. Keep a compatible printer path and the drawer keeps working; Odoo 20 also improves life for multi-drawer sites by letting one POS use multiple printers and choose which to print on.

Barcode scanners. Scanners remain the lowest-risk device class. For IoT-connected setups, the requirement is that the scanner end barcodes with an ENTER character (keycode 28) — the default configuration of most scanners — and scanners double as an employee login method at the POS. If yours scans products and logs staff in today, expect it to keep doing so.

Scales. Scales have two routes in Odoo 20: connect directly via USB using the POS's Connect USB Scale option, or through an IoT system. The recommended device is the Mettler Toledo Ariva S using protocol 8217. In EU member states, certification is legally required for an integrated scale, and the documentation describes a compliance indicator in the POS that flags a non-compliant database and can apply the necessary settings changes.

Customer displays. The display can run on a second screen connected by USB-C or HDMI, through an IoT box (especially useful for tablet tills), or wirelessly — the cashier can show a QR code that any internet-connected device scans to open the display. Both displays should be at least 6 inches diagonally. No replacement pressure here; the QR option can even rescue a spare tablet into display duty.

Payment terminals. Terminal support continues through the IoT route where a direct IP connection is not possible: the gateway bridges devices that cannot connect to the database directly and manages their SSL/TLS certificates. One hard rule: Worldline and Axepta BNP Paribas terminals require an IoT connection and must be connected to their own IoT gateway. Budget a dedicated gateway for those terminals in any redesign.

The IoT system itself. LNA shrinks the IoT box's job; it does not eliminate it. Odoo's guidance for 20: prefer a physical IoT gateway over a virtual one for reliability, prefer Ethernet over Wi-Fi, and enable Local Network Access so Odoo can reach the gateway on the local network. Electronic shelf labels via the Pricer platform also remain part of the 20.0 hardware documentation.

Hardware status at a glance

Hardware classStatus in Odoo 20Action
Epson TM-m30 i/ii/iii receipt printers (Wi-Fi/Ethernet)Directly supported via Local Network Access, no IoTKeep — set a static IP and enable LNA
Other network Epson ePOS printers (Wi-Fi/Ethernet)Should be compatible directly, if ePOS and HTTP mode are supportedKeep — test before upgrade day
iMin Swan 2 / Falcon 2 terminalsCompatible, network-based, no IoT requiredKeep — not for preparation printing
USB ePOS printersWork via IoT connectionKeep with an IoT gateway
ESC/POS printers (USB or network)Work via IoT connectionKeep with an IoT gateway
Epson TM-T20 / TM-T88 familiesIoT connection required (ePOS software incompatible with direct connection)Keep with IoT, or replace with TM-m30 class to go direct
Bluetooth printersNot compatible with OdooReplace
Label printersAny label printer can connect directly via USB proxy (new in 20)Keep — simpler than before
Cash drawersWork, connected through the receipt printerKeep — follows your printer decision
Barcode scannersWork; must end barcodes with ENTER (keycode 28)Keep
Scales (e.g. Mettler Toledo Ariva S, protocol 8217)Work via direct USB or IoT systemKeep — check EU certification where applicable
Customer displaysWork via USB-C/HDMI second screen, IoT box, or QR codeKeep
Worldline / Axepta BNP Paribas terminalsRequire an IoT connection on their own IoT gatewayKeep — reserve a dedicated gateway
Till browser older than Chromium 142, or non-ChromiumNo Local Network AccessUpdate/replace the browser, or keep using IoT/self-signed certificates

A pre-upgrade hardware audit

  1. Inventory every device per till: printer model and interface, drawer, scanner, scale, display, terminal, and the browser and its version on the till itself.
  2. Sort printers into the three camps — direct ePOS, IoT-required, Bluetooth — and price replacements for the last group and for any TM-T20/T88 sites where you want to retire the IoT box.
  3. Fix the network basics: reserve static IPs for LNA printers in the router, and prefer wired Ethernet for IoT gateways.
  4. Update till browsers to a Chromium-based release at version 142 or higher, and brief staff on the local-network permission prompt and where the LNA status button lives in the register.
  5. Test on one till first, including a scale weighing, a drawer kick through the printer, a terminal payment, and a label print — then roll the verified template out to the other counters.

The honest summary for Odoo 20: most of a typical counter survives intact. Network Epson ePOS printers get simpler, scales and displays gain flexible connection options, and the IoT box remains the bridge for USB, ESC/POS, and specialist terminals. The genuine replacement list is short — Bluetooth printers, and any till whose browser cannot run a current Chromium — which makes this the cheapest hardware transition in several Odoo generations, provided the audit happens before the upgrade.

Further reading

Leave a Comment