Home/Modules/
Point of Sale

Odoo Point of Sale

A point of sale that issues ZATCA simplified invoices, takes mada and keeps every branch's stock and books in sync, for Saudi retailers, cafes and restaurant chains.

Point of Sale
Capabilities

What this module handles

Saudi retailers and cafe chains typically run a standalone cashier system per branch, reconcile mada terminal reports by hand, and update stock and the accountant at the end of the day, which is when they discover the receipt was not a valid simplified e-invoice. Odoo Point of Sale runs in a browser or on a tablet, keeps selling when the internet drops, and posts every receipt to inventory and accounting as a ZATCA simplified invoice, with retail and restaurant modes managed from one back office by Naqlah, Odoo Gold Partner in Saudi Arabia.

  • Offline-capable checkout that queues receipts and syncs them the moment the connection returns
  • mada, cash, STC Pay, Apple Pay and split payments on one receipt, with terminal integration
  • Stock deducted per receipt at the branch, so the back office sees real availability all day
  • Multi-branch catalog with branch pricelists, promotions and product availability per location
  • Restaurant mode with floor plans, tables, kitchen printers or screens and bill splitting
  • Loyalty points, gift cards and eWallet balances usable across every branch and online
  • Session open and close with cash counts, differences and manager review per cashier
  • Customer VAT number capture at the counter for a standard tax invoice when a company buys
Saudi ready

Built for how business runs in Saudi Arabia

Every receipt is a simplified e-invoice with the ZATCA QR code, UUID and cryptographic stamp, reported to Fatoora within the required window through the Odoo Saudi localization, so a ZATCA inspector scanning a receipt in your Jeddah branch finds a valid invoice. Receipts print in Arabic and English with 15% VAT shown, each branch runs its own onboarded journal, and VAT, cash and margin report per branch and consolidated. For chains that keep Foodics at the counter, Naqlah's Foodics integration syncs sales, payments and stock consumption into Odoo, and Salla orders share the same catalog and stock pool as the branches.

Fatoora onboarding per branch journal
Each branch sales journal is onboarded with its own serial number and OTP, tested in simulation and then moved to production. Naqlah handles the sequence so no branch goes live with an unregistered device.

mada first
Terminals from PayTabs, Paymob or your bank are integrated so the amount is pushed to the device and the payment comes back confirmed. No retyping, no mismatch at session close, and STC Pay and Apple Pay sit beside it.

Branch reporting that matches the books
VAT by branch, cash by session, margin by product and shrinkage by location come from the same receipts that posted to accounting. The accountant stops exporting POS reports into Qoyod.

How it connects

What happens when a cashier closes a sale in Odoo POS?

1. Items scanned, payment taken on the terminal
The cashier scans barcodes or picks from the menu, applies loyalty or a promotion, and sends the amount to the mada terminal or records cash.

2. Receipt printed with the ZATCA QR
The simplified invoice prints in Arabic and English with the QR code, or a standard invoice if the customer gave a VAT number.

3. Stock deducted at the branch
Sold items leave branch stock in Odoo Inventory, recipes consume ingredients in restaurant mode, and reordering rules react to the day's sales.

4. Reported to Fatoora and posted to accounting
The invoice is reported to ZATCA, the sale and payment post to the journal, and the session close reconciles cash and terminal totals.

Implementation

What Naqlah configures in your implementation

  1. Company and branch journals for ZATCA. We set up one sales journal per branch with the company VAT details, then onboard each journal to Fatoora in simulation before production.
  2. Payment methods and terminals. mada terminals through PayTabs, Paymob or your bank, plus cash, STC Pay, Apple Pay and split payment rules.
  3. Products, barcodes and branch pricelists. Catalog loaded with Arabic and English names, barcodes, variants, promotions and prices per branch.
  4. Restaurant floors and kitchen printing. Floor plans, tables, kitchen printers or displays and bill splitting where you run cafes or restaurants.
  5. Loyalty, gift cards and customer capture. Chain-wide loyalty programs (native, or through the Bonat Odoo integration), gift cards and the VAT number field for corporate customers at the counter.
  6. Session control and training. Cash counts, manager approvals, and cashiers and branch managers trained on opening, closing and returns.

Timelines depend on the number of branches and the devices involved, and Naqlah gives you a clear roadmap in the first consultation.

Who it is for

Companies that get the most from this module

  • Multi-branch retailers. Fashion, electronics, perfume and oud stores needing one catalog, branch pricing and chain-wide loyalty.
  • Coffee shop and restaurant chains. Tables, kitchen printing, recipe consumption and Ramadan evening peaks handled per branch from one back office.
  • Bakeries and food producers with outlets. Daily production feeding retail counters, with expiry-tracked stock and branch-level waste reporting.
  • Pharmacies and beauty retailers. Lot and expiry tracking at the counter with simplified invoices on every sale.
  • Showrooms selling from stock. Furniture and appliance showrooms issuing standard invoices to companies and deliveries from the warehouse.
Before and after

Standalone cashier software vs Odoo POS

AreaBeforeWith Odoo via Naqlah
ReceiptsNon-compliant receipts or manual QR workaroundsZATCA simplified invoice with QR on every sale
PaymentsSeparate terminal, totals matched by hand at closeIntegrated mada, STC Pay and Apple Pay, reconciled per session
StockUpdated at day end or by the weekly countDeducted per receipt, recipes consumed in restaurant mode
BranchesSeparate databases and prices per branchOne back office with branch pricelists and availability
AccountingPOS report exported to Qoyod or Daftra monthlySales and payments posted automatically per journal
LoyaltyPoints valid in one branch onlyChain-wide points, gift cards and eWallet, online too
FAQ

Module questions, answered

Everything else, we cover in a free 30-minute consultation.

Does Odoo POS issue ZATCA simplified e-invoices?
Does Odoo POS work offline in Saudi Arabia?
Does Odoo POS accept mada and STC Pay?
Can we keep Foodics and connect it to Odoo?
Can one Odoo POS manage multiple branches with different prices?
Can a customer get a full tax invoice with their VAT number at the counter?
Related

Modules that work well together

Ready to run your business on one system?

Free consultation. Meet the team and get a clear roadmap in one call.

Book your consultation