Skip to main content
iVentureTeam
Odoo Integration

Odoo Salla Integration: Sync Orders, Stock and ZATCA Invoices

Odoo Salla integration guide for Saudi merchants: connector options, what to sync, Salla API limits, ZATCA e-invoicing in Odoo, setup steps and cost.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
October 26, 202612 min read1 view
Odoo Salla Integration: Sync Orders, Stock and ZATCA Invoices cover

Most Salla merchants reach the same point: orders are re-typed into accounting, stock on the store disagrees with the warehouse, and month-end takes days. Our Odoo integration services connect Salla to Odoo so each order flows once.

This guide is for Saudi store owners, finance leads and operations managers comparing Odoo Salla connector options before they buy. If you are still deciding how Odoo handles APIs in general, start with our guide to Odoo API and third-party integration.

What does an Odoo Salla integration do?

An Odoo Salla integration links your Salla store to Odoo so orders, stock, products and customers move automatically instead of by hand. Salla stays the shop window, and Odoo becomes the back office.

Salla handles the storefront, checkout, payment and shipping labels. It is not built for purchasing, multi-warehouse stock or full accounting. Odoo covers those.

In practice, the integration does four jobs:

  • Order intake: every paid or cash-on-delivery Salla order becomes an Odoo sales order, ready to pick and invoice.
  • Stock truth: Odoo pushes available quantities back to Salla, so the store stops selling stock you do not have.
  • Catalog control: products, prices and variants are maintained in one place instead of two.
  • Finance: payments, refunds and VAT land in Odoo Accounting, where ZATCA invoices and reports are produced.

What data should sync between Salla and Odoo?

Odoo Salla Integration: What syncs, and which way?

Sync only the records your team actually uses, and give each one a single owner and direction. Two-way sync on every field sounds attractive but causes overwrites and loops.

RecordOwnerDirectionTypical trigger
Products and variantsOdooOdoo to SallaOn change or scheduled
Stock quantitiesOdooOdoo to SallaOn stock move or every few minutes
OrdersSallaSalla to OdooOrder webhook, plus a scheduled catch-up
CustomersSallaSalla to OdooWith the first order
Order status and shippingOdooOdoo to SallaOn delivery or cancellation
Refunds and returnsSallaSalla to OdooRefund webhook, then credit note in Odoo

Prices deserve a decision of their own. Some connectors let you import orders at the Salla price or the Odoo price. Pick the Salla price for orders, because that is what the customer paid, and push list prices from Odoo.

Which Odoo Salla connector options are available?

You can buy a ready-made Odoo Salla connector, use a Salla-side app run by an implementer, or build a custom connector on the Salla API. Each path trades cost against control.

OptionExampleWhat the listing says it syncsWatch for
Apps Store moduleWeblytic Labs Salla Connector, US$75.30Imports products, customers, categories; exports orders, brandsStock and invoices not mentioned
Apps Store moduleBrowseInfo Salla Odoo Integration, US$116.74Products, customers, orders, status both ways; scheduled inventory importManual token refresh button
Apps Store moduleWebkul Salla Odoo Connector, US$129.01Orders, products, categories; stock and order status back to SallaNeeds Webkul's Salla app subscription; up to three stores
Apps Store moduleArabia HQ Salla Odoo Connector, US$22.45Products, customers, orders two-way via webhooksSingle 18.0 release listed
Custom connectorBuilt on Salla's Merchant APIExactly the fields and rules you defineHigher build cost, needs ongoing support

Prices are Apps Store list prices seen on 26 October 2026. Several listings mix "real-time" claims with scheduled jobs, and most skip partial shipments and refunds.

A ready-made module suits a single store with standard products. A custom connector suits stores with bundles, several warehouses, wholesale price lists or special COD rules. Our note on the hidden cost of third-party Odoo modules explains what to check before you buy.

Does an Odoo Salla connector work on Odoo Online?

Usually not, because Odoo states that Odoo Online is incompatible with custom modules and Apps Store modules. A Salla connector installed as an Odoo module needs Odoo.sh or on-premise hosting.

Several Apps Store listings tick "Odoo Online" as available, but Odoo's own Odoo Online documentation says otherwise. One BrowseInfo listing even contradicts itself in its FAQ. Trust the Odoo documentation.

That has a licence effect. On the Odoo pricing page, Odoo.sh and on-premise hosting come with the Custom plan, US$61.00 per user a month billed yearly in the US, against US$31.10 for Standard. Our hosting comparison walks through the trade-off.

If you must stay on Odoo Online, the alternative is middleware outside Odoo that calls the Odoo external API. Plan that carefully: Odoo 20 deprecates XML-RPC and JSON-RPC in favor of the JSON-2 API, with removal of the remaining RPC services scheduled for Odoo 22.

How do Salla API limits, tokens and webhooks affect the sync?

Salla's API limits, 14-day tokens and three-attempt webhooks mean every Salla to Odoo order sync needs a fallback job and an alert. Connectors that rely on webhooks alone eventually miss orders.

Salla's developer documentation sets these rules for the Merchant API:

  • Rate limits: 120 requests a minute on the Plus plan, 360 on Pro and 720 on Special, with the customers endpoint capped at 500 requests per 10 minutes.
  • Access tokens: they expire after 14 days. Refresh tokens last one month and work only once; reusing one revokes access and can force a reinstall.
  • Authorization modes: Easy Mode is the only mode allowed for apps published on the Salla App Store; Custom Mode uses your own callback URL.
  • Salla webhooks: Salla waits about 30 seconds for a reply and tries an event three times, about five minutes apart.
  • Security: webhooks can be signed with a SHA256 signature in the X-Salla-Signature header, which your endpoint should verify.

Salla has no dedicated stock-change webhook, only events such as product.quantity.low, so Odoo should own stock and push it. A failed token refresh also silently stops the whole sync.

So ask any connector vendor three questions. How do you refresh tokens without manual clicks? What scheduled job catches orders a webhook missed? Who gets alerted when a sync fails? Our post on order flow risk during Odoo 20 upgrades covers the same failure points.

How should Salla orders flow into Odoo?

A Salla order should enter Odoo once, as a sales order that drives delivery, invoice and payment without anyone re-typing it. Map this flow before you configure any connector.

  1. Order created: the order.created webhook arrives, and Odoo creates a sales order with the Salla order number as its reference.
  2. Duplicate check: the connector matches on the Salla order ID, so a retried webhook does not create a second order.
  3. Customer and products: the customer is matched by mobile number or email; products are matched by SKU, never by name.
  4. Confirmation: paid orders confirm automatically; COD orders confirm but stay unpaid until the courier settles.
  5. Delivery: Odoo reserves stock, the warehouse picks and ships, and the status goes back to Salla.
  6. Invoice and payment: Odoo issues the tax invoice and reconciles the payment gateway or COD settlement.
  7. Refunds: a Salla refund creates a credit note and, if goods come back, a return receipt in Odoo.

Clean your SKUs before the first sync, because duplicate or blank SKUs create duplicate products in Odoo.

How do you handle ZATCA e-invoicing with Salla and Odoo?

Let Odoo issue the ZATCA e-invoice for each Salla order, and make sure Salla is not issuing a second legal tax invoice for the same sale. Two invoices for one sale is a VAT problem, not a sync problem.

Odoo's Saudi Arabia localization includes the l10n_sa_edi module for Phase 2. Under ZATCA rules, B2B tax invoices go through clearance, while B2C simplified tax invoices carry a QR code and are reported. Most Salla orders are B2C.

Salla can also create invoices on its side; its invoice.created event fires when an order is completed or restored. Agree with your accountant which system issues the legal invoice, then switch the other to a non-tax document or turn it off.

Odoo's ZATCA setup has its own checklist:

  • Company data: company name of 63 characters or fewer, full address with district and building number, VAT number and SAR currency.
  • Language: tax invoices and simplified tax invoices must be in Arabic, and can be bilingual with English.
  • Discounts: a global discount line needs the 15% tax so ZATCA accepts the invoice.
  • Onboarding: test in Sandbox, then Simulation on a duplicated database, then onboard the Production journal with the OTP from the Fatoora portal.

For the wider rules, see the ZATCA e-invoicing portal and our guide to Odoo VAT and e-invoicing in the GCC.

How do you set up an Odoo Salla integration step by step?

Set up the integration in a test copy of Odoo first, and only switch on live order import after a full order cycle passes. The typical sequence looks like this.

  1. Scope: list the records, owners and directions from the table above, plus COD, bundles and warehouse rules.
  2. Hosting: confirm Odoo.sh or on-premise if the connector is an Odoo module.
  3. Odoo base: install Sales, Inventory, Invoicing or Accounting and the Saudi localization, then set taxes and journals.
  4. Salla app: create or install the Salla app, authorize the store and store the client ID and secret safely.
  5. Mapping: match SKUs, categories, payment methods, shipping methods and order statuses.
  6. First sync: load products, then stock, then a small batch of past orders to test.
  7. Test cycle: run paid, COD, partial shipment, cancellation and refund orders end to end, including the ZATCA invoice.
  8. Go-live: switch on webhooks and the catch-up job, then watch the sync log daily for the first two weeks.

Our Odoo eCommerce development services team handles mapping and testing when the connector needs changes.

What does an Odoo Salla integration cost?

Budget for three things: the connector, the Odoo implementation behind it, and support after go-live. The connector is usually the smallest of the three.

Ready-made Apps Store connectors were listed from US$22.45 to US$129.01 when we checked. Add the Odoo Custom plan licence for Odoo.sh or on-premise hosting, plus any Salla app subscription the connector requires.

The bigger cost is the Odoo work. Our published Odoo implementation cost ranges are US$3k to US$9k for small projects (4 to 8 weeks) and US$9k to US$27k for mid-size projects (8 to 14 weeks). Data migration adds US$1.2k to US$9k depending on source and history.

A custom connector, ZATCA onboarding and several warehouses push you toward the mid-size range. For a number based on your own scope, try our free Odoo project estimate tool.

Odoo Saudi eCommerce by industry

The right Odoo Saudi eCommerce setup depends on what you sell, because each category stresses a different part of the sync. The table shows where we usually focus.

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
Fashion and apparelMany size and color variants, high returnsProduct variants, return receipts, credit notesMap Salla variants to Odoo SKUs
Perfume and cosmeticsBatches and expiry datesLots and expiry tracking in InventorySet FEFO picking and stock rules
ElectronicsSerial numbers and warranty claimsSerial tracking on delivery and returnsLink serials to Salla orders
Grocery and FMCGCOD settlement and fast stock turnsAutomated reordering and payment reconciliationBuild COD reconciliation and reorder rules
Home and furnitureBulky delivery and installationDelivery routes and field serviceConnect order status back to Salla

Retailers with physical branches as well as a Salla store can run Point of Sale on the same stock. See our work on Odoo ERP for retail.

How iVentureTeam helps with Odoo Salla integration

Connecting Salla? Price Odoo first

iVentureTeam scopes, builds and supports Odoo Salla integration so your store and your books agree every day. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.

  • Sync design: record owners, directions, duplicate rules and failure alerts agreed before any build.
  • Connector choice: we test Apps Store modules against your scope, or extend one through our Odoo customization services.
  • ZATCA setup: Saudi localization, Arabic invoices, Sandbox to Production onboarding.
  • Odoo back office: inventory, purchasing, COD reconciliation and reporting.
  • Support: token, webhook and sync monitoring after go-live, plus Odoo 20 API changes.

Odoo eCommerce integration case study: Lightspeed retailer

A North American online retailer kept its Lightspeed eCommerce storefront and moved its back office to Odoo, the same pattern a Salla merchant follows. The connector removed double data entry between the two systems.

Before the project, every product, order and customer existed twice. Web orders were re-typed into the ERP, and online stock drifted from the warehouse, which risked overselling.

We delivered a scheduled, bidirectional connector in 6 weeks, configured from the Odoo back end with no external middleware. It imports 9 record types from Lightspeed, including products, taxes, customers and orders, and exports 3 data streams: prices, inventory and order and shipment status.

Web orders now land in Odoo ready to fulfill, and online stock mirrors the warehouse. Read the Lightspeed and Odoo eCommerce integration case study.

The bottom line on Odoo Salla integration

An Odoo Salla integration is worth it once re-typing orders, stock errors or ZATCA invoicing cost you more than the connector and setup. Single-store merchants with low volume can wait.

Decide record ownership, host Odoo where a connector can run, let Odoo issue the ZATCA invoice, and insist on a catch-up job and alerts.

Ready to connect your Salla store to Odoo?

Plan my Salla integration

Get a sync plan and a cost range before you buy a connector. Talk to our team about your Salla and Odoo setup, call +91-90235-15208, or email business@iventureteam.com.

Frequently Asked Questions

Can Odoo integrate with Salla?

+

Yes. Odoo connects to Salla through a connector module from the Odoo Apps Store, a Salla-side app, or a custom connector built on the Salla Merchant API. Orders, products, stock and customers can sync between the two.

Is there an official Odoo Salla connector?

+

Odoo does not ship a Salla connector in its standard apps. Connectors come from third-party developers on the Odoo Apps Store or from implementers, so check versions, scope and support terms before you buy.

Does the Salla connector work on Odoo Online?

+

Usually not. Odoo says Odoo Online is incompatible with custom modules and Apps Store modules, so a connector module needs Odoo.sh or on-premise hosting, which come with the Custom plan.

How much does an Odoo Salla connector cost?

+

Apps Store listings we checked ranged from US$22.45 to US$129.01. Add the Odoo licence, any Salla app subscription and the setup work, which is usually the largest cost.

Does stock sync in real time between Salla and Odoo?

+

It can be near real time if Odoo pushes stock on every move. Salla has no dedicated stock-change webhook, so let Odoo own stock and add a scheduled job as a safety net.

Which system should issue the ZATCA e-invoice?

+

One system only. We usually recommend Odoo, as its Saudi localization handles Phase 2 clearance and reporting. Make sure Salla does not issue a second legal tax invoice for the same order.

How long does an Odoo Salla integration take?

+

A ready-made connector on an existing Odoo setup can go live in a few weeks. A new Odoo implementation with ZATCA and a custom connector usually follows our 4 to 14 week ranges, depending on size.

What happens if a Salla webhook fails?

+

Salla tries each webhook three times, about five minutes apart. After that, the event is lost unless a scheduled job pulls missed orders, so always run a catch-up job and alert on failures.

Ready to put this into action?

Talk to iVentureTeam about Odoo, AI automation, or custom development — get a free, no-obligation consultation.