At the end of a shift the cashier counts the drawer and finds it SAR 10 short. Was a return recorded wrongly? Was cash taken out and not noted? Was a card payment counted as cash? If answering takes a sheet of paper and a phone call, the problem is bigger than the speed of the sales screen.
Odoo POS suits a shop that wants every sale to reach stock and accounting from one system, provided you test a complete shift on your own devices, payment methods and returns policy. At ToDoOps we build the evaluation around that shift, from opening to closing, because the right buying decision shows up there rather than in a screen demo. To get to know the solution and the team’s services, see how we implement Odoo for your business on the home page.
What do electronic payments change when choosing a POS?
According to SAMA (12 April 2026), reporting on 2025, electronic payments made up 85% of the number of retail payment transactions by individuals, compared with 79% in 2024, while total national electronic transaction volume reached 14.6 billion 1. The measure counts transactions, not sales value, and it describes the Kingdom as a whole rather than any one shop.
This market context makes payment reconciliation an important part of choosing a POS, based on the payment methods your customers use. Can your system keep cash apart from cards at closing? Can your accountant see the reference for each path in order to reconcile it? These questions separate a cashier that prints a receipt from a system that closes the day clearly.
What does a shift look like from opening to closing?
The Odoo 19 POS documentation describes the operating cycle: opening a session, selling, handling returns and closing 2. We ask for it to be run with the same employee and the same device you will depend on, and then we review the effect on stock and accounting. Before that, the catalogue is prepared with barcodes, variants, units and prices, along with payment methods and the receipt layout.
Because the sale creates its movement in the same database, the warehouse sees what went out and the accountant sees what came in, with no file passed between them at the end of the day. You can read about the other parts of the solution in Odoo apps, and if your business combines retail with wholesale or services, see the industries we serve.
For the wider retail picture of purchasing and branches, our retail operations guide covers it; this guide is about the checkout decision itself.
To see the path for yourself, try Odoo interactively. It is a guided simulation of a sales and inventory path with hypothetical data, not a demonstration of every operation in the sector; your devices and payment methods are tested within the project scope.
What happens when an item is returned?
A return shows that pressing a button is not enough. In Odoo, a return from a previous order lets staff choose a product and a quantity, while the backend “Return Products” route refunds the whole order 2. The difference matters to the customer and to the accountant: what happens to stock, to cash and to the document reference, and what is the state of the returned item? These questions are tested against your policy rather than assumed to be right because Refund was selected.
Who can apply a discount or change a price?
Employee login in Odoo offers three modes, Minimal, Basic and Advanced, with a PIN or badge to switch between employees 2. In Basic mode an employee can apply a manual discount, change a price and process a refund, and the documentation describes a Price Control setting that limits price changes to Administrators. So do not widen an employee’s rights because of a job title, and test the action that should be refused as well as the one that is allowed.
The discount ceiling and approval route you specifically need are defined with the shop, and then we see whether the configuration covers them or a different arrangement is needed. Checkout staff are not necessarily separate database users for licensing purposes, but your contract and plan settle that.
Does POS work without internet, and does it suit every device?
Some selling continues from cached browser data when the connection drops, and orders synchronise when it returns. Real-time stock, payment terminals, invoice generation and creating new customers depend on the server 2. The practical rule: do not close the browser, refresh the page or clear its data before synchronisation. We therefore run an outage-and-recovery test on the proposed version and devices, and write the team a clear procedure for a device or connection failure.
On hardware, compatibility depends on the model of each device and how it connects, as the hardware and network guide explains. We record the printer, scanner, scale and payment-terminal models, the connection method and who supports them, and test them in your environment. A payment method on the screen does not mean your terminal is connected to the bank; if the terminal is standalone, agree how the amount is entered and reconciled without presenting it as automatic confirmation.
How does a sale reach the accountant at closing?
A teaching example for a cash drawer only, in SAR and with illustrative assumptions: opening cash 400, cash sales 900 listed before a separate cash refund of 100, cash added to the drawer 50 and cash taken out 30. Expected cash = 400 + 900 − 100 + 50 − 30 = 1,220. The cashier counts 1,210, so the difference is −10.
Card sales (800 in this example) sit outside the cash drawer, and their settlement with the bank or payment provider is a separate path whose reference the accountant receives. What matters is that the difference appears, with a known cause and owner, rather than the figure being corrected without explanation. It is the difference for one shift; it is not an annual loss, theft or profit.
Saudi e-invoicing follows the same steps. The Odoo Saudi localisation documentation covers the invoicing and POS modules, their configuration and testing. We review with you the modules and document types that apply, test submission and correction, and name who follows up a rejected or pending document.
How much time do you gain by unifying daily collection and reconciliation?
An example with short assumptions: a branch spends 30 minutes a day collecting sales and matching payments and cash across separate files, and this falls to 10 minutes when the movements are gathered in one system. Assuming 300 trading days and an hourly value of SAR 35: 20 × 300 ÷ 60 = 100 hours, which is SAR 3,500 per branch.
| Number of branches | Hours available a year | Estimated annual value |
|---|---|---|
| 1 | 100 | SAR 3,500 |
| 3 | 300 | SAR 10,500 |
| 12 | 1,200 | SAR 42,000 |
| 40 | 4,000 | SAR 140,000 |
The result is the value of time that may become available to your team for other work; it is not an amount deducted automatically from expenses, and it has no connection to payment values or to the SAMA figures above. Replace the assumptions with your branches’ actual times, or use the time, savings and Odoo cost calculators for a first estimate.
How do you compare POS proposals?
Ask every vendor to run the same shift with the same cases, then compare:
| Test | What you confirm |
|---|---|
| Normal sale and discounted sale | Price, amount and receipt |
| Return from a previous order | Product, quantity, stock, amount and document reference |
| Restricted action by a standard employee | It is refused, and the person with the right is identified |
| Shift closing | Expected cash, counted cash, the difference and its causes |
| Card payment | Shown separately from the cash drawer |
| Connection lost and restored | Orders reconciled before and after synchronisation |
| Required invoice scenario | Sent, handled and corrected as agreed |
On price, separate equipment, subscription, payment services, data preparation, configuration, training and support, and do not count an item the implementation already includes. Our implementation cost guide explains the scope questions behind a quote.
Questions about Odoo POS
Will it work with my devices and current payment provider?
Check the model of each device, its connection method and the integration with the provider, then test printing, payment, returns and closing on them. The actual test settles it, not a general compatibility statement.
Can a cashier refund an amount or change a price?
It depends on the role and the configuration. Test the allowed action and the forbidden one, and define separately any discount limit or approval you need.
Do all operations continue without internet?
No single promise covers them. Some selling works from browser data, while real-time stock, payment terminals and invoices depend on the server. Agree the outage, recovery and reconciliation procedure.
Does a closing difference mean a loss?
It is a difference that needs an explanation. Review the count, the recording, returns and other cash movements, keep card settlements apart, and do not infer an annual loss from one shift’s figure.
How much does Odoo POS cost?
It is made up of the subscription, equipment, payment services, data preparation, configuration, training and support, and it varies with the number of branches, devices and the invoicing scope. We define it after understanding your shop’s cycle.
Implementing Odoo POS: where should you start?
Choose one shift that represents your shop’s day, including a return, a card payment and a closing, and ask every proposal to be run on it. Tell us where the process stalls, whether in selling, payment, returns or closing, so we can focus the assessment on what your shop needs. Discuss your shop’s cycle with ToDoOps, or explore the Odoo solution and our services on the home page, or estimate the impact and budget first with the calculators.
Sources and references
[1] SAMA — electronic payments in 2025. Official announcement, 12 April 2026, reporting the electronic share of the number of retail payment transactions by individuals and the comparison with 2024.
[2] Odoo — official documentation, version 19.0. POS operation, employee permissions, hardware and network, and Saudi localisation.
