Odoo Development Company in Saudi Arabia (KSA)
Odoo partner in Riyadh, Jeddah, Dammam. ZATCA Phase 2 certified.
- Reporting currency
- SAR
- Locale code
- ar-SA
- Cities covered
- 8
- Odoo versions
- v12 to v19
Odoo localization in Saudi Arabia (KSA)
A Saudi Arabia deployment is not a stock Odoo install with the currency swapped. Tax handling, invoice layout, payroll rules, and the reports your accountant actually files all have to line up before go-live. These are the Saudi Arabia items we configure and test as part of the build:
- โ ZATCA Phase 2 e-invoicing (Fatoorah)
- โ Arabic RTL & bilingual interfaces
- โ Saudi labor law & GOSI payroll
- โ VAT 15%
- โ Saudization (Nitaqat) tracking
Checked Localization notes on this page checked on 22 August 2026.
Rates, filing formats, thresholds, and submission windows change. We configure against the rules in force at build time and confirm every figure with your accountant or tax advisor before sign-off. If a rule moves after go-live, it is a support ticket, not a rebuild. Read more on our Odoo localization service.
E-invoicing in Saudi Arabia
The scheme, who it binds, and what it makes your system do.
Fatoora (ูุงุชูุฑุฉ) - ZATCA E-Invoicing
Authority: Zakat, Tax and Customs Authority (ZATCA), ููุฆุฉ ุงูุฒูุงุฉ ูุงูุถุฑูุจุฉ ูุงูุฌู ุงุฑู
Phase 1 (generation) has applied since 4 December 2021 and Phase 2 (integration with the Fatoora platform) since 1 January 2023, rolled out wave by wave. Wave 25 is the latest announced: taxpayers whose VAT-taxable revenue exceeded SAR 187,500 in 2022, 2023, 2024 or 2025 must integrate by 1 February 2027.
- Standard tax invoices (B2B and B2G): clearance. The invoice is sent to ZATCA's Fatoora platform and validated before it is a valid invoice.
- Simplified tax invoices (B2C): reporting. You issue to the customer, then report to Fatoora within 24 hours.
Tax in Saudi Arabia
What the tax configuration has to get right before go-live.
-
VAT is 15%. The rate was raised from 5% to 15% on 1 July 2020 and has not moved since.
-
VAT returns are quarterly if annual supplies do not exceed SAR 40 million and monthly above that. The return is due by the end of the month following the tax period: ZATCA set 30 April 2026 as the deadline for the Q1 2026 return.
-
Corporate income tax is 20% of net adjusted profits and falls on the non-Saudi, non-GCC ownership share. Zakat is 2.5% of the Zakat base and falls on the Saudi and GCC share. A mixed-ownership company is split between the two.
-
Withholding tax applies to payments from a resident or a permanent establishment to a non-resident: 5% on dividends, 5% on interest, 15% on royalties, and 5%, 15% or 20% on services depending on the type. It must be paid within the first ten days of the month following the month of payment, so it needs to come off the vendor payment run, not the year-end close.
-
The corporate income tax or Zakat return is due to ZATCA within 120 days of the taxpayer's year end.
Payroll in Saudi Arabia
What payroll has to calculate, withhold, and file.
-
GOSI for Saudi employees totals 21.5% of covered wages: 9.75% from the employee and 11.75% from the employer. For non-Saudi employees it is 2%, paid by the employer.
-
Odoo's Saudi payroll localization (l10n_sa_hr_payroll) sets GOSI deduction rates by employee nationality, handles end of service, and produces WPS reports. Employee bank records must carry an IBAN in line with WPS rules, so bank data quality is a go-live blocker, not a nice-to-have.
-
Saudi Arabia is one of the twelve countries with an official Odoo payroll localization, so payroll does not have to be built from scratch. The others are Australia, Belgium, Egypt, Hong Kong, India, Jordan, Kenya, Mexico, Turkiye, the United Arab Emirates and the United States.
Accounting in Saudi Arabia
The reporting framework your books sit inside.
-
IFRS Accounting Standards as endorsed by SOCPA are required for all publicly accountable entities. SOCPA runs a technical, Sharia and legal review before endorsing each standard, so the endorsed text can differ from the IASB text.
-
SMEs apply IFRS for SMEs as endorsed in Saudi Arabia, or full endorsed IFRS if they apply it in full rather than picking standards selectively.
-
Companies owned by Saudis, or by Saudis and non-Saudis, must file audited financial statements with the tax return.
Payment gateways in Saudi Arabia
The providers a checkout in Saudi Arabia actually needs, and how each one reaches Odoo.
mada is the national debit scheme operated by Saudi Payments under the Saudi Central Bank and it is the card most Saudi shoppers carry. An Odoo shop that only offers Visa and Mastercard will lose orders, so mada has to be switched on at whichever gateway the store connects to.
APS is established in Dubai, processes for Saudi merchants and carries mada and STC Pay on a Saudi account. It ships as a payment provider in Odoo 19, so it is the shortest route to Saudi local methods without buying a connector.
Odoo's own documentation states Paymob operates in Egypt, Oman, Saudi Arabia and the United Arab Emirates, and Paymob ships as a provider in Odoo 19. Methods are enabled in the Paymob dashboard and then activated in Odoo, with no module purchase.
STC Pay is the phone wallet Saudi shoppers reach for and it settles in SAR only, with an OTP step at checkout. Amazon Payment Services carries it, and the Moyasar and HyperPay connectors on the Odoo apps store list it as a checkout method.
Apple lists Saudi Arabia as an Apple Pay country and Saudi mada, Visa and Mastercard cards load into the wallet. In Odoo it arrives through the gateway, so choose one that already supports it such as Moyasar, HyperPay or Checkout.com.
Moyasar is a Saudi gateway under Saudi Central Bank supervision that carries mada, Visa, Mastercard, American Express, Apple Pay, Samsung Pay and STC Pay from one account. Nine paid Odoo 19 connectors are listed, so a Saudi store can go live without custom work.
HyperPay is headquartered in Riyadh, holds a licence from the Saudi Central Bank and also serves the UAE, Jordan, Oman, Qatar, Iraq, Lebanon and Bahrain. The Odoo apps store carries both website and POS connectors for it, including one built specifically around mada.
Geidea Technology Company operates under the supervision of the Saudi Central Bank and is common both on Saudi shop counters and online. Odoo 19 modules cover the online gateway and the PAX terminals used in Saudi retail, which matters if the same company runs a shop and a website.
PayTabs covers Saudi Arabia alongside the UAE, Egypt, Iraq, Jordan, Kuwait, Oman and Morocco, and lists mada, STC Pay, Apple Pay, Samsung Pay, Tabby and Tamara among the methods it carries. Seven paid Odoo 19 connectors are on the apps store.
Telr operates in Saudi Arabia and the UAE and lists mada, Apple Pay, Samsung Pay and the international card brands. Telr does not publish its own Odoo plugin, so the link comes from a paid Odoo 19 module.
Tap operates across the GCC under SAMA and other regional regulators and carries mada in Saudi Arabia alongside KNET, Benefit, OmanNet and NAPS. That single account matters for a Saudi store that also sells into Kuwait, Bahrain, Oman and Qatar.
Checkout.com states it brought mada and Apple Pay to merchants across the UAE and Saudi Arabia and also carries Tamara, Tabby and STC Pay. It is not in Odoo's shipped provider list, so a Saudi build has to budget a paid connector.
MyFatoorah is a GCC gateway used by Saudi merchants who also invoice customers in Kuwait, Bahrain and Qatar. Cybrosys publishes a free MyFatoorah module for Odoo 19, with eleven paid alternatives if refunds or POS support are needed.
Tamara Finance Company is a Saudi joint stock company under the supervision of the Saudi Central Bank, licence 95/A Sh/202502, and splits a basket into instalments with a Sharia compliant structure. Saudi shoppers look for it at checkout, and Odoo 19 connectors exist for both the website and the point of sale.
Tabby is headquartered in Riyadh, graduated from the SAMA sandbox and took consumer and SME finance licences from the Saudi Central Bank in June 2026, so it now covers longer plans on larger baskets as well as four instalments. Twelve Odoo 19 connectors are listed, covering website, POS and auto fulfilment.
sarie is the Saudi Central Bank transfer rail between local banks, live since February 2021, running around the clock and accepting a mobile number in place of an IBAN. There is no sarie API connector for Odoo, so stores take it as a bank transfer and confirm the sales order once the money lands.
Saudi B2B buyers routinely settle invoices by bank transfer rather than by card. Odoo 19 ships the Wire Transfer method out of the box, showing your IBAN and a payment reference and holding the order until you confirm receipt.
Paying the courier in cash is still a normal way to buy online in Saudi Arabia, and Odoo 19 ships cash on delivery as an in person payment method with nothing to buy. It changes the configuration though, because the order is confirmed unpaid and the courier collects and remits the money.
Stripe ships with Odoo 19, but Stripe's own country list does not include Saudi Arabia, so a Saudi registered business cannot open a Stripe account to act as its acquirer. This is the most common surprise on a Saudi Odoo project, and the answer is a SAMA licensed gateway instead.
Shipping and couriers in Saudi Arabia
The carriers that move volume here, and what it takes to rate, label, and track them from Odoo.
SPL is the national postal and logistics operator with more than 450 branches, Express, Express Plus and Economy products, and the National Address system that Saudi delivery addresses are built on. No SPL connector exists on the Odoo 19 apps store, so rates, labels and the address lookup are a build against SPL's API.
SMSA is a Saudi courier operating since 1994 with hundreds of retail points in the Kingdom, handling cash on delivery and e-commerce returns. Odoo does not ship a connector for it, so expect a paid apps store module, of which at least six exist for Odoo 19.
Naqel is a Riyadh headquartered operator running time definite domestic express plus e-fulfilment, order management and warehousing, and it publishes an API. Two paid Odoo 19 connectors are listed, so the licence cost belongs in the project budget.
Aramex runs domestic and cross border delivery inside Saudi Arabia with cash on delivery and returns for e-commerce sellers. Odoo ships no Aramex connector and the OCA delivery-carrier repository does not contain one either, so it is always a paid apps store module.
AJEX is a Riyadh based express operator formed by Ajlan Group and SF International, covering Saudi Arabia, the UAE and Bahrain with domestic, next day, same day and cash on delivery express. Two paid Odoo 19 connectors are on the apps store.
iMile started in Dubai in 2017 and built its Saudi and regional business around cash on delivery parcels for online stores, with tracking and returns. One paid Odoo 19 connector is listed.
J&T runs last mile delivery in Saudi Arabia and is common on marketplace and social commerce orders. One paid Odoo 19 connector is listed, so it can be wired to delivery orders without a custom build.
Zajil is a Riyadh based private courier operating since 1999 with a Dammam to Riyadh to Jeddah express route and outlets across the Kingdom. Nothing on the Odoo 19 apps store covers it, so rates and labels need a custom carrier.
Barq is a Saudi last mile operator built for fast hyperlocal delivery inside cities, used where a store promises same day arrival. No Odoo 19 module exists for it, so the delivery carrier has to be written.
DHL Express ships as a delivery connector in Odoo 19 and runs express service into and out of Saudi Arabia, with coverage down to Dammam, Khobar, Dhahran, Najran and Al Jubail. It is the usual choice for outbound international parcels from a Saudi store.
FedEx ships as a delivery connector in Odoo 19 and operates in Saudi Arabia, where shipments require the receiver's short address or national address code. That field has to be captured on the Odoo delivery address or labels will fail.
UPS ships as a delivery connector in Odoo 19 and covers all regions for rating and labels, though its street level address validation only applies to the United States and Puerto Rico. Use the current UPS provider in Odoo, not the archived UPS Legacy one.
Torod is a Saudi shipping aggregator that lets a store compare couriers, book shipments and handle returns from one account. A paid Odoo 19 module exists, and the Torod account plus its per shipment fees are a required dependency on top of that module.
OTO is a Riyadh based multi carrier shipping platform connected to a long carrier list including Saudi Post, Aramex, DHL, UPS and FedEx, with cash on delivery reconciliation. No Odoo 19 module is listed for it, so the connection is a build against the OTO API on top of an OTO subscription.
Carriyo is a delivery management platform that lists more than eighteen Saudi carriers behind one integration, including SMSA, Naqel, Saudi Post, Zajil, AJEX, Barq and SAB Express. There is no Odoo 19 module for it, so reaching those carriers through Carriyo means a custom connector plus the Carriyo subscription.
AfterShip is a multi carrier shipping and tracking aggregator, and paid Odoo 19 connectors exist for it. Any carrier reached this way depends on an AfterShip account and its fees on top of the module licence, so check the carrier list covers your Saudi couriers before committing.
What Odoo covers out of the box in Saudi Arabia
The question behind every quote: how much of this is configuration and how much is a build. The first list ships with Odoo. The second is a paid connector, a community module, or work we scope and price up front.
l10n_sa l10n_sa_reports l10n_sa_edi l10n_sa_edi_pos l10n_sa_pos l10n_sa_withholding_tax l10n_sa_hr_payroll l10n_sa_hr_payroll_account - Chart of accounts, VAT setup and Phase 1 QR code on invoices (l10n_sa).
- Local accounting reports (l10n_sa_reports).
- ZATCA Phase 2 API integration: clearance and reporting, ZATCA-compliant XML for tax invoices, simplified tax invoices, credit notes and debit notes, plus storage of the XML, QR codes and ZATCA responses (l10n_sa_edi).
- Simplified invoices raised through Point of Sale (l10n_sa_edi_pos and l10n_sa_pos).
- Down payments, retention and debit and credit notes through the e-invoicing flow.
- Withholding tax applied at payment (l10n_sa_withholding_tax).
- Payments. Stripe, the default Odoo answer everywhere else, is not available for Saudi businesses. Amazon Payment Services and Paymob both ship with Odoo 19 and both cover Saudi Arabia; mada, STC Pay and BNPL come from paid apps-store connectors.
- Couriers. SMSA, Naqel and Aramex are all outside Odoo's native carrier list and need paid connectors or a build. Only DHL Express, FedEx and UPS are native for this market.
- ZATCA's specifications are versioned documents on the developer portal: the data dictionary, the XML implementation standard and the security features standard. Budget for re-testing against each ZATCA release, not just at go-live.
- Odoo's own e-invoicing documentation states it is an overview and not legal advice. Compliance sign-off stays with your tax adviser.
Everything under "Needs work" is quoted as scope, not discovered mid-project. Bring your own module list to a scoping call and we will mark it up the same way against Saudi Arabia.
Odoo services in Saudi Arabia
We work as an Odoo development company and Odoo implementation partner for businesses in Saudi Arabia. That covers the whole engagement: consulting on whether Odoo fits, configuring it, writing the custom modules that fit requires, connecting it to the systems you already run, and supporting it afterwards. Our Odoo developers and consultants deliver remotely, and travel for discovery, training and go-live week.
If you are moving off spreadsheets or replacing older ERP software, an ERP migration is the shape of the project and the Saudi Arabia items on this page decide how hard it is. As ERP consultants we will say when Odoo is the right ERP solution for you and when it is not. We work on Odoo 17, 18 and 19, on Odoo Community and Odoo Enterprise, and on Odoo cloud hosting or your own servers. Odoo customization, an Odoo upgrade from an older release, and Odoo AMC and support contracts are all in scope. We will say plainly when the edition you run is the wrong one, and what the Enterprise license would change.
Odoo pricing and what an Odoo project costs in Saudi Arabia and the Odoo modules we publish
How we deliver in Saudi Arabia
Delivery is remote-first. We do not claim a branch office in every city we serve, and we do not price one into your project. We travel on-site for discovery workshops, user training, and go-live week when the work calls for people in the room. What you get either way is senior engineers on the build.
- 1 Timezone overlap. Our teams shift to hold working-hour overlap with local office hours, so Riyadh gets live hours, not overnight email.
- 2 English delivery, multilingual team. Documentation and training are in English. Our project teams also work in Arabic and Urdu.
- 3 Bilingual output. Odoo runs multi-language and right-to-left, so bilingual invoices and interfaces are a configuration step rather than a custom build.
- 4 Visible progress. Daily stand-ups, weekly demos, and a written weekly report. You see the build as it happens, not at handover.
- 5 Test-database sign-off. Your team runs the Saudi Arabia configuration in a test environment and approves it before cutover, with a rollback plan in writing.
- 6 Support after go-live. SLA-backed contracts with 2h, 4h, or 8h response tiers, 24/7 monitoring, verified backups, and security patching.
Odoo services we run in Saudi Arabia
Ordered by what the Saudi Arabia scope above usually needs first.
Country-specific compliance out of the box.
ZATCA Phase 2, UBL 2.1, PEPPOL, SDI, IRN.
Country-specific payroll configuration.
End-to-end Odoo deployment, from discovery to go-live.
Custom modules built to match your exact workflow.
Upgrade safely from older Odoo versions.
24/7 monitoring, bug fixes, performance tuning.
Connect Odoo with your stack and third-party APIs.
Dedicated developers by the week or month.
Industry builds for Saudi Arabia
Industries where we have delivered client work in or near Saudi Arabia appear first.
Patient records, OPD/IPD, pharmacy, billing, insurance.
Batch, expiry, narcotic control, POS.
Front desk, housekeeping, F&B, revenue.
Project costing, subcontractors, progress billing.
Appointments, prescriptions, billing for clinics.
Treatment plans, procedures, imaging.
Way4Tech modules for Saudi Arabia projects
Modules we build and maintain ourselves, ordered by how closely each one matches the Saudi Arabia scope above. They ship as part of an implementation or drop into an Odoo instance you already run.
Country-agnostic payroll engine with rule versioning.
Employee loans with amortization schedule.
Employee dashboard, approval engine, HR foundation.
Turn your server into a multi-tenant Odoo SaaS.
OWL dashboard for Sales with 10 KPI tiles and charts.
Vendor spend, RFQ, and PO analytics.
Client work close to Saudi Arabia
Projects nearest to Saudi Arabia are listed first. Each card names the country the project ran in.
42 stores live with ZATCA Phase 2 clearance in 4 months.
Multi-project BOQ, subcontractors, progress billing at scale.
14-property roll-out in 9 months with central reporting.
Cities and regions we serve in Saudi Arabia
We deliver Odoo projects remotely and on-site across Saudi Arabia. The places below are the ones we cover for on-site work. Books run in SAR, with multi-currency switched on where you trade across borders.
Not on the list? Remote delivery is the default anyway, so location inside Saudi Arabia rarely changes the plan or the price.
Odoo in Saudi Arabia
Straight answers on scope, cost, and how a build in Saudi Arabia actually runs. Still stuck? Ask us directly.
Do we need to be in Riyadh to work with you? +
No. Odoo projects are delivered remotely by default, and location inside Saudi Arabia rarely changes the plan or the price. We travel on-site for discovery workshops, user training, and go-live week when the work calls for it. Cities we cover for on-site visits: Riyadh, Jeddah, Dammam, Khobar, Makkah, Madinah, Jubail, Tabuk. Regions we cover: Riyadh Province, Makkah Province, Eastern Province.
Which timezone and language does a project in Saudi Arabia run in? +
Delivery, documentation, and training run in English. Our teams also work in Arabic and Urdu. We hold working-hour overlap with your own office hours, with daily stand-ups and a written weekly report, so progress never depends on one call landing.
Can Odoo run in SAR for an entity registered in Saudi Arabia? +
Yes. Odoo is multi-company and multi-currency, so your books can run in SAR while you buy or sell in other currencies. The locale code we set up for this market is ar-SA, and Odoo supports multi-language and right-to-left layouts where a deployment needs them.
How long does an Odoo implementation in Saudi Arabia take? +
Single-module projects run 3-4 weeks. Multi-module rollouts run 8-12 weeks. Multi-company or multi-country programmes run 4-9 months with phased go-lives. The Saudi Arabia localization items above are configured inside that build, not after it.
What does an Odoo project in Saudi Arabia cost? +
From $4,900 for a Starter scope (Up to 2 modules, 10 users, Discovery + config + training). From $14,900 for a Growth rollout (Up to 6 modules, 50 users, Custom modules + reports). Larger multi-company programmes are priced on scope after discovery. Localization work is scoped and priced up front, not added later.
Do you work with Odoo Community or Enterprise in Saudi Arabia? +
Both, and we migrate in either direction. The choice comes down to how technical your team is and whether you need Studio, IoT, or MRP II. The Saudi Arabia configuration described on this page is done in whichever edition you run.
Which Odoo versions do you work on? +
Current releases, including Odoo 17, Odoo 18 and Odoo 19, on Community and on Enterprise. If you are on an older version the first question is whether to upgrade before or after the Saudi Arabia work, and that depends on how much of what you need already ships in the newer release.
Can we see an Odoo demo before committing? +
Yes. We set up an Odoo demo on your own data rather than a generic one, because the Saudi Arabia specifics are the part worth seeing. Ask and we will scope what to load.
We are replacing spreadsheets or an older ERP system. Where does that start? +
With the data, not the software. An ERP implementation in Saudi Arabia usually stalls on master data quality rather than configuration, so the first phase is deciding what comes across, what gets cleaned, and what stays behind.
Scope your Saudi Arabia Odoo project.
A 30-minute call: your current stack, the Saudi Arabia items above, and what a realistic first phase looks like. You leave with a written scope. No obligation, no sales script.