Odoo Point of Sale (POS): Setup, Hardware and Daily Use
Odoo Point of Sale is the browser-based till for shops and restaurants. See how to set it up, which printers, scanners and card terminals it supports, how sessions and offline use work, and how sales reach stock and accounting.
DEBy DevMarket Editorial·Published: ·9 min read
On this page
Odoo Point of Sale, or Odoo POS, is the browser-based till that a shop, café or restaurant uses to take orders, accept payments and print receipts. Odoo's documentation says it runs on any device and keeps working through a temporary internet outage. Every sale lands in the same database as your stock and accounts. This guide follows the 19.0 documentation, so screens may differ in 20.0.
In short
Odoo POS suits shops and restaurants, runs in a browser and syncs orders taken offline when the connection returns.
A first setup needs products flagged for the POS, payment methods, a configured POS and an open register.
Network Epson ePOS printers need no IoT box. USB printers and scales do, and Bluetooth printers are not compatible.
Closing the register posts the accounting entries, so close it every day.
Confirm card terminal availability for your country before you buy hardware.
What does Odoo Point of Sale do?
Cashiers add products by tapping or scanning, apply discounts, take payments and hand over a printed or emailed receipt. Restaurants add floors, tables, kitchen orders, split bills and tips, and both can offer self-ordering on a kiosk or a customer's phone.
The daily cycle: open the register, sell, take payment, then close the register so the day is counted and the entries are posted.
Point of Sale appears among the Community apps in our Community vs Enterprise guide, and Odoo's documentation notes that it installs the Inventory app automatically.
How do you configure products, payment methods, taxes and receipts?
Products. Create them under Point of Sale ‣ Products ‣ Products with the Point of Sale box ticked, and group them with POS categories (Point of Sale ‣ Configuration ‣ PoS Product Categories). Once you use categories, a product without one is hidden in the register. Stock tracking needs the product type Goods (or Combo) with tracking on.
Payment methods. Create them under Point of Sale ‣ Configuration ‣ Payment Methods. Each has a journal, the POS where it applies and an Integration: None required for cash, Terminal, Bank App (QR Code) or Cash Machine. Odoo advises a dedicated cash journal and a Bank journal for terminals. With Accounting installed, an optional Intermediary Account routes a method to a chosen receivable account.
Taxes. The taxes assigned to a product apply directly to the POS order and change only through a fiscal position, as Odoo's taxes documentation states. Register retail prices with tax either included or excluded, not both, as Odoo's tax-included pricing page advises. The tax's Included in Price field controls which.
Receipts. The Bills & Receipts settings cover a header, a footer, automatic printing, SMS or WhatsApp sending and a QR code for invoice requests. Odoo's Saudi Arabia page adds a Gulf Cooperation Council Format option for Arabic as a second receipt language.
Epson TM-m30 i, ii and iii are recommended, other Epson ePOS models should work, no IoT system needed
USB ePOS or ESC/POS printer
IoT system
The Epson TM-T20 and TM-T88 families need one
Bluetooth printer
Not supported
Odoo states they are not compatible
Cash drawer
Cable to the printer
An RJ25 cable, in the IoT steps
Barcode scanner
USB, or the webcam icon
Match the keyboard layout, send Enter after each scan
Scale
IoT system
Mettler Toledo Ariva S recommended. In EU member states, certification is legally required
Customer display
USB-C, HDMI, IoT box screen or QR code
At least 6 inches diagonal
Do you need an IoT system?
Only for some devices. It is an IoT box, a plug-and-play micro-computer, or Odoo's Windows virtual IoT program, and Odoo recommends a physical one for scales. The IoT page says an IoT box subscription is required for production use, so ask Odoo or a partner what applies to your edition.
Which card terminals can you connect?
Odoo documents 13 providers: Adyen, DPO Pay, Ingenico, Mercado Pago, Mollie, Pine Labs, QFPay, Razorpay, SIX, Stripe, Tyro, Viva.com and Worldline, plus Cashdro, Cashmatic and Glory cash machines. Ingenico, SIX and Worldline need an IoT system, while Adyen, Mollie, Stripe and Viva.com need none. Coverage is limited: Tyro serves Australia, QFPay Hong Kong, Pine Labs Indian companies, and Ingenico and Worldline Belgium, the Netherlands and Luxembourg. The pages do not name the Gulf countries, so ask the provider and an Odoo partner before you buy.
How do sessions, cash control and offline use work?
Odoo 19.0 speaks of opening and closing the register, while reports say session.
Opening the register
On Point of Sale ‣ Dashboard, click Open Register on the POS card and confirm the Opening cash amount in the Opening Control popover. Cash moved without a sale goes through Cash In/Out in the register menu. With Log in with Employees, staff switch by PIN or badge, and closing the register needs advanced rights.
Closing the register
In the register menu, click Close Register. Odoo shows the orders, the total and the expected amount per payment method, you count coins and bills, and closing posts the accounting entries. A cash difference opens a Payments Difference window, and Proceed Anyway posts it to the cash difference journal. Set Maximum Difference makes a manager approve gaps above a limit you choose. A restaurant POS cannot close with draft orders. Past sessions: POS card menu ‣ View ‣ Sessions.
Does Odoo POS work offline?
Yes, for the core job. Products and customers load into the browser cache when a session starts, and offline orders stay there until the connection returns, so do not close, reload or clear the browser until they sync. Customer registration, real-time stock sync, payment terminals and on-demand data are unavailable offline, and invoices requested offline are generated after reconnection. Local printers and scales keep working if the network is unchanged.
What do restaurants and shops get beyond the basics?
Restaurant features
Tick Is a Bar/Restaurant for floor plans and tables, table transfers, courses, bill splitting and tips. Orders go to a kitchen printer or a preparation display, and presets such as Dine In and Takeout can carry their own pricelist and fiscal position. The UrbanPiper page lists delivery platforms by country, including HungerStation, Jahez, Mrsool, NoonFood and Talabat for Saudi Arabia. Check their commercial terms first.
Loyalty and discounts
The Pricing section offers global and line discounts, Price Control to restrict price changes, and Promotions, Coupons, Gift Card & Loyalty Program, configured under Point of Sale ‣ Products ‣ Discount & Loyalty. Promotions apply automatically, while cashiers add Buy X get Y and loyalty rewards. Points need a customer on the order.
How do POS sales reach inventory and accounting?
Odoo's accounting documentation says journal entries for point-of-sale orders are created automatically, and the register documentation says closing the register posts them. The POS settings' Accounting section holds the default journals for orders and invoices. Keep a dedicated cash method and journal per POS so entries stay traceable. An invoice needs a customer on the order, and a refund creates a credit note.
For Saudi shops, the Saudi Arabia page has a Point of sale section: install the Saudi Arabia - E-invoicing (Simplified) module, onboard the Invoices journal with a one-time password from the Fatoora portal, and assign a customer to each order before finalising it. Confirm your obligations with ZATCA or your accountant, and see Odoo for Saudi Arabia.
On the stock side, the Inventory app tracks the products you mark, and the optional Ship Later feature creates a delivery order. Odoo's POS pages do not spell out when each stock move is created, so test it: sell a tracked item, close the register, then check the Inventory moves history report and the journal entry. Our inventory guide and accounting guide cover both apps.
How do you do a first setup, step by step?
Prepare accounting in a test database: company, currency, taxes and Included in Price.
Install Point of Sale and create products with a POS category, price, tax and barcode.
Create the POS from a business-type card on a new Dashboard, or under Point of Sale ‣ Configuration ‣ Point of Sales. In Chrome, Odoo advises switching off Memory Saver for the tab.
Add payment methods and the receipt settings.
Connect hardware. Enter the printer's IP address under Connected Devices and print a test receipt.
Set staff rights with Log in with Employees.
Rehearse a day. Open, sell, refund, pay by every method, go offline briefly and close with a deliberate difference. Check the journal entry, the stock and the session report, then go live with real opening cash.
Mistakes to avoid
Skipping the daily close. Entries post at closing, so an open register leaves sales out of the books.
Sharing one cash method between tills. Odoo advises one per POS.
Guessing the accounts. Ask your accountant which journal and receivable account each payment method needs. A terminal method must use a Bank journal.
Forgetting POS categories, which hides products.
Buying the wrong printer: a Bluetooth model, or a TM-T20 or TM-T88 without an IoT system.
Frequently asked questions
Is Odoo POS free?
Our edition guide lists it among the Community apps, so it has no licence fee there. Hardware, card fees, hosting and setup still cost money, and the IoT box needs a subscription for production use. See how much Odoo costs.
Can I run Odoo POS on a tablet?
The documentation says it runs in a browser on any device, and an IoT box can drive a customer display for tablet setups.
Do I need an IoT box?
Not always. Network Epson ePOS printers and terminals such as Adyen, Mollie and Stripe work without one. USB printers, scales and Ingenico, SIX or Worldline terminals need an IoT system.
Can I run several shops or tills?
Yes. Create one POS per shop or till, each with its own payment methods and cash journal.
Next steps
Rehearse a full day in a test database before you open. If a standard feature is missing, how to choose an Odoo module shows how to judge an add-on, and you can browse Odoo modules.
Compare the three Odoo hosting options from Odoo documentation: what each allows, who runs what, which editions fit, where data sits, what costs to expect and how to move between them.
An Odoo implementation is a project, not an installation. Follow the phases from scope to go-live, see who does what, decide between a partner and doing it yourself, and use a go-live checklist.
Odoo Studio changes Odoo without code; custom modules add code. See what each can do, which edition and hosting allow them, what upgrades mean for both, and how to decide by need.
·9 min read
Find the right software for the job
Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.