Which e-commerce platform should a Saudi business use? If you want the online store, stock, accounting and ZATCA e-invoicing in one system, Odoo eCommerce is a strong fit. If you already sell on Salla or Zid and like their storefront and app market, keep it and connect it to Odoo, so orders, stock and invoices flow into your ERP.
Odoo eCommerce is the online-store app of Odoo. It is built on the Odoo Website app and shares one database with Sales, Inventory, Accounting and the Saudi localization. A Saudi store on Odoo can run in Arabic and English, show prices in SAR with VAT included, take card payments through a built-in provider such as Amazon Payment Services (which offers mada in Saudi Arabia), create delivery orders automatically and issue invoices that Odoo can submit to ZATCA under Phase 2. The alternative is a Saudi storefront platform such as Salla or Zid, linked to Odoo by a connector. The storefront handles the shop, checkout and its own app market, while Odoo runs stock, purchasing, accounting and e-invoicing. Choose Odoo eCommerce when you want one system and fewer integrations. Choose Salla or Zid plus Odoo when storefront apps, local checkout options and an existing customer base on that platform matter more than a single system.
What a Saudi online store needs from its platform
For most Saudi retailers and distributors, the platform has to deliver this on day one:
- Arabic and English storefront, with Arabic shown right to left and product names, descriptions and checkout translated.
- Prices in SAR that include VAT for consumers, and VAT-exclusive prices for business buyers if you sell B2B.
- Local payment methods, above all mada debit cards, plus the wallets and card schemes your customers use.
- Shipping with the couriers you actually use, and clear delivery fees at checkout.
- Live stock, so you do not sell what is not on the shelf.
- ZATCA-compliant invoices for every sale, including simplified tax invoices for consumers.
- A path to other channels: shops, marketplaces and wholesale customers.
Most storefront platforms cover the first four points well. The last three are where the back office matters, and that is where an ERP such as Odoo comes in.
Odoo eCommerce: what you get
Odoo eCommerce adds a shop, product pages, a cart and checkout to the Odoo Website builder. Because it sits inside Odoo, the product you sell online is the same product record your warehouse picks and your accountant reports on.
Storefront and catalog
You design pages with drag-and-drop blocks, then set up categories, variants (size, color, volume) and product pages. The Odoo eCommerce documentation covers catalog design, checkout steps, delivery methods, customer accounts and B2B or B2C access.
Arabic, English and right-to-left layout
You install Arabic and English in the website settings, and a language selector appears in the header and footer. Arabic in Odoo is set up as a right-to-left language, so the layout flips for Arabic visitors. Translated pages get a language prefix in the URL (for example /ar/shop/…), which also helps search engines index both versions. Plan time for translation: product names, descriptions, categories and SEO titles all need an Arabic version, and custom theme blocks should be checked in both directions.
Order flow
When a customer pays online, the quotation becomes a confirmed sales order and Odoo creates the delivery order automatically (with the Inventory app installed). If you sell in shops too, the same customers and stock are shared with Odoo Point of Sale, which we cover in our guide to POS systems in Saudi Arabia.
SAR pricing and VAT-inclusive prices
The standard VAT rate in Saudi Arabia is 15%, and consumers expect the price on the product page to be the final price. In Odoo you control this per website: under Website › Configuration › Settings, the Display Product Prices option is set to Tax Included or Tax Excluded.
For a mixed B2C and B2B business, the usual setup is:
| Need | How Odoo handles it |
|---|---|
| Consumer shop shows SAR prices with 15% VAT included | Website set to Tax Included; sales tax configured as included in price, or a B2C pricelist with a fiscal position |
| Trade customers see prices before VAT | Separate website or pricelist assigned to B2B customers, tax shown at the order summary |
| Promotions and volume prices | Pricelists by period, quantity or customer group, plus promo codes |
| Correct VAT on the invoice | Taxes come from the Saudi chart of accounts and tax setup in the localization |
Decide early whether you store prices with or without VAT. Mixing the two across products causes rounding differences of a halala here and there, which shows up when you reconcile payouts.
Payment providers for Saudi online stores
Here is what we can confirm for Saudi Arabia.
- Amazon Payment Services is one of the payment providers built into Odoo. The customer is redirected to the provider’s payment page and returns to your shop after paying. Amazon Payment Services states that merchants can accept mada cards in Saudi Arabia, and it also offers the STC Pay wallet for Saudi merchants. Which methods you get depends on your merchant agreement.
- Wire transfer is built in. Orders paid this way are not confirmed automatically; your team confirms them once the money arrives, and stock is reserved only then.
- Other built-in providers, such as Adyen, operate internationally. Confirm with the provider that it can onboard your Saudi entity, settle in SAR and support mada before you plan around it.
- Saudi gateways without a built-in Odoo provider can be added through third-party modules or custom development. Check that the module supports your Odoo version and who maintains it. Custom modules need Odoo.sh or your own server; they cannot be installed on Odoo Online.
If you offer cash on delivery, agree with your courier how cash is collected and paid out, and plan how those payouts are reconciled against invoices in Odoo Accounting. Our Odoo accounting guide for Saudi Arabia explains the reconciliation side.
Shipping and stock sync
Odoo lets you offer one or several delivery methods at checkout: fixed price, rules based on weight, zone or order value, or rates fetched from a carrier. Odoo’s built-in carrier connectors include DHL Express, FedEx and UPS, which Odoo lists for all regions. Saudi domestic couriers are not in Odoo’s built-in list, so they are connected through a third-party module, the courier’s API, or an aggregator.
Stock is where an Odoo store has a natural advantage. The shop reads the same on-hand quantity as the warehouse, so you can show availability and stop sales when a product runs out. Setting the delivery operation’s reservation method to At Confirmation reserves stock as soon as an order is confirmed, which prevents two customers buying the last unit.
If your storefront is Salla or Zid, stock lives in Odoo and the connector pushes quantities to the store. How often that happens (webhook or schedule) decides how close to real time your stock is.
ZATCA e-invoices from online orders
Every online sale by a VAT-registered business needs a compliant tax invoice. Under ZATCA’s Phase 2, standard tax invoices for business customers are cleared by ZATCA before they are final, and simplified tax invoices for consumers are reported to ZATCA within 24 hours. ZATCA brings taxpayers into Phase 2 in waves, so check whether and when your business has been notified.
In Odoo the flow works like this:
- The Automatic Invoice setting in the website’s eCommerce settings creates the invoice when the online payment is confirmed.
- The Saudi localization (the l10n_sa_edi module for Phase 2) sends the invoice to ZATCA from the sales journal you onboarded. Odoo treats it as simplified or standard based on the customer, so collect a VAT number and company details at checkout for B2B buyers.
- ZATCA’s response shows in the invoice chatter: accepted, accepted with warnings or rejected. A rejected invoice is not legally valid until you fix it and retry.
- Refunds and returns need a credit note with a ZATCA-approved reason.
Odoo’s Saudi Arabia localization documentation covers onboarding, and our Odoo ZATCA e-invoicing guide explains the steps in plain language. The point for e-commerce is simple: if orders reach Odoo, whether from your Odoo shop or from Salla, the invoice can be issued and reported from one place.
Marketplaces and other sales channels
Many Saudi sellers also list on marketplaces. Be realistic about what is built in. Odoo’s Amazon connector syncs orders and stock for listed Amazon marketplaces in North America and Europe; Amazon.sa is not on that list in Odoo’s documentation. Other regional marketplaces are connected through third-party connectors, the marketplace’s own API, or a storefront platform that already integrates with them. Odoo 19 also documents a Google Merchant Center integration for listing products on Google Shopping.
Whatever the channel, aim for one rule: each order lands in Odoo as a sales order, with the channel recorded, so stock, delivery and the ZATCA invoice follow the same process. Our Odoo integration services cover marketplace and courier connectors.
Odoo eCommerce vs Salla or Zid with Odoo integration
Salla and Zid are Saudi storefront platforms with Arabic-first themes, local checkout options and their own app markets. Odoo eCommerce is part of an ERP. Neither choice is wrong; they suit different businesses.
| Area | Odoo eCommerce | Salla or Zid + Odoo |
|---|---|---|
| Storefront and themes | Odoo Website builder; design work for a polished Arabic shop | Ready-made Arabic-first themes and mobile shop experience |
| Payments and checkout | Built-in providers (e.g. Amazon Payment Services) or added modules | Platform’s own checkout and local payment options |
| Marketing apps | Odoo Email Marketing, promotions, SEO tools | Platform app market for marketing and storefront add-ons |
| Stock and purchasing | Native; one stock figure for shop, warehouse and POS | In Odoo; stock pushed to the store by the connector |
| Accounting and ZATCA | Native; invoice created from the paid order | In Odoo, from orders imported by the connector |
| Moving parts | One system | Two systems and a connector to monitor |
| Odoo plan | Standard plan works on Odoo Online | A custom connector needs Odoo.sh or self-hosting (Custom plan) |
| Best fit | B2B and B2C sellers who want one system and tight stock control | Consumer brands already trading on Salla or Zid, or relying on its apps |
With our Odoo Salla integration, Salla orders arrive in Odoo as sales orders with the Salla order ID, customer, payment method and tracking details. Order status drives delivery and invoicing in Odoo, and stock can be pushed back to Salla to avoid overselling. A Zid store follows the same pattern with its own connector.
What it costs
Odoo’s subscription is per user, not per order or per product. At the time of writing, November 2026, Odoo’s pricing page lists the following (SAR converted at the fixed rate of SAR 3.75 per US$1):
| Plan | Billed yearly | Billed monthly | Relevant to e-commerce |
|---|---|---|---|
| Standard | US$16.90 (about SAR 63.38) per user/month | US$21.10 (about SAR 79.13) | All apps on Odoo Online, including Website and eCommerce |
| Custom | US$32.00 (about SAR 120.00) per user/month | US$40.00 (about SAR 150.00) | Adds Odoo.sh or on-premise, Studio, multi-company and external API; needed for custom connectors |
Online shoppers are not Odoo users, so a five-person team running a busy store pays for five users. Odoo’s first-year discount applies to initial users only.
Implementation is separate. As an indicative market range, not a quote: setting up an Odoo eCommerce store (bilingual theme, catalog import, one payment provider, delivery methods, ZATCA onboarding) typically falls within SAR 25,000–80,000 for a small to mid-size catalog, and each extra integration such as a Salla store, a local courier or a marketplace adds roughly SAR 8,000–30,000. See our Odoo implementation cost guide for Saudi Arabia or try the Odoo implementation price calculator.
How to launch an Odoo-backed online store
- Choose the storefront. Odoo eCommerce, or Salla or Zid with a connector, using the table above.
- Clean the catalog. One SKU per sellable item, barcodes, Arabic and English names, weights for shipping rules and VAT treatment.
- Onboard ZATCA. Complete company data, run the sandbox and simulation steps, then switch the journal to production. Production cannot be switched back.
- Sign the payment agreement. Confirm mada and any wallets in writing with your provider before go-live.
- Connect shipping. Set delivery methods and courier integrations, and test labels and tracking.
- Test end to end. Place orders as a consumer and as a business buyer, refund one, and check the invoice, the ZATCA response, stock and the payout.
- Go live and watch the first weeks. Review rejected e-invoices, failed payments and stock errors daily.
Our Odoo implementation services in Saudi Arabia follow these steps, and the multi-branch perfume retail case study shows how we have set up Odoo for a Saudi retailer. If you are still choosing an ERP, start with our guide to ERP software in Saudi Arabia.
OzonLayer is an official Odoo Silver Partner with three Odoo 18 certified consultants and an office in Riyadh. If you want a clear view of whether Odoo eCommerce or a Salla connector fits your business, book a free consultation and we will walk through your catalog, payments and ZATCA setup with you.
Frequently asked questions
Is Odoo eCommerce suitable for Saudi online stores?
Yes. Odoo eCommerce runs in Arabic and English with a right-to-left Arabic layout, shows SAR prices with or without VAT, and shares one database with stock, accounting and the Saudi localization. That means each paid online order can become a ZATCA-compliant invoice without re-entry. It suits sellers who want one system rather than a storefront plus a separate ERP.
Can Odoo eCommerce accept mada payments?
Odoo includes Amazon Payment Services as a built-in payment provider, and Amazon Payment Services states that merchants can accept mada cards in Saudi Arabia. The methods you get depend on your merchant agreement, so confirm mada and any wallets with the provider before go-live. Other Saudi gateways can be added through third-party modules or custom development.
How do I show VAT-inclusive prices on an Odoo website?
In Website, Configuration, Settings, set Display Product Prices to Tax Included for your consumer website. Make sure the 15% sales tax is configured to match, either as included in price or through a B2C pricelist and fiscal position. Trade customers can see VAT-exclusive prices through a separate website or pricelist.
Do online orders in Odoo create ZATCA e-invoices?
Yes, when the Saudi Phase 2 localization is set up. The Automatic Invoice setting creates the invoice when online payment is confirmed, and Odoo submits it to ZATCA from the onboarded journal. Consumer invoices are simplified invoices reported to ZATCA, and business invoices are standard invoices cleared by ZATCA. The ZATCA response appears on the invoice.
Should I use Salla or Odoo eCommerce?
Use Odoo eCommerce if you want one system for the shop, stock, accounting and e-invoicing, especially if you also sell B2B or through shops. Keep Salla and connect it to Odoo if you already trade there, rely on its themes and apps, or want its checkout. In that case orders flow into Odoo and stock is pushed back to Salla.
Does Odoo connect to Saudi couriers?
Odoo's built-in carrier connectors include DHL Express, FedEx and UPS, which Odoo lists for all regions. Saudi domestic couriers are not in the built-in list, so they are connected through a third-party module, the courier's API or an aggregator. You can also use fixed-price or rule-based delivery methods by weight, zone or order value.
How much does an Odoo online store cost in Saudi Arabia?
At the time of writing, November 2026, Odoo's Standard plan is US$16.90 (about SAR 63.38) per user per month billed yearly, and the Custom plan is US$32.00 (about SAR 120). Shoppers are not users. Implementation is an indicative market range, not a quote: about SAR 25,000 to 80,000 for a store, plus SAR 8,000 to 30,000 per integration.
Can I connect Odoo to Amazon.sa or other marketplaces?
Odoo's built-in Amazon connector covers listed marketplaces in North America and Europe, and Amazon.sa is not on that list in Odoo's documentation. Regional marketplaces are usually connected through third-party connectors, the marketplace API or a storefront platform that already integrates with them. The aim is that every order lands in Odoo as a sales order.
