Many Saudi retailers sell on Shopify while running accounting and inventory in Odoo. The friction shows up quickly: orders retyped by hand, stock that does not match what customers see online, and invoices and VAT that need daily checking. This guide explains the ways to connect Shopify with Odoo and what to check before you pick one.

What data moves between Shopify and Odoo?

Before choosing a tool, decide what you want to sync, in which direction, and which system is the master for each type of data. That decision matters more than the connector itself.

DataUsual directionWatch out for
Products and variantsFrom one master systemConsistent SKUs in both systems before any sync
Available stockUsually Odoo to ShopifyMultiple warehouses, reserved quantities, update timing
OrdersShopify to OdooDiscounts, shipping fees, tax-inclusive vs tax-exclusive prices
CustomersShopify to OdooDuplicates, VAT numbers for business customers
Payments and payoutsShopify or the gateway to OdooGateway fees and the amounts actually settled to your bank
Fulfilment and returnsEither way, depending on your processCredit notes for returns, delivery status

Three ways to integrate

1. A ready-made connector from the Odoo Apps store

The Odoo Apps store lists several Shopify connectors from different vendors, with different supported versions, sync scope and pricing. For example, the Odoo 19 listing by Odoo IN Pvt Ltd describes itself as a third-party app supported by Odoo, and states that orders are imported from Shopify on a scheduled job every 10 minutes, products are fetched from Shopify into Odoo only and never pushed back, and stock is updated from Odoo to Shopify after each order sync. The point is not this specific app: every connector has its own logic, and you need to read its page carefully.

  • Pros: faster to start, usually lower upfront cost, updates from the vendor.
  • Limits: sync may not be real time, directions are fixed, and anything outside the connector's scope needs extra development.

2. Middleware

Integration platforms move data between systems through flows that you or your provider build. They suit cases with several systems involved (store, courier, loyalty), but they add a monthly subscription and one more component to monitor when something fails.

3. A custom integration over the APIs

Shopify provides the GraphQL Admin API and webhooks for events such as new or updated orders. Shopify's documentation states that the REST Admin API has been legacy since 1 October 2024 and that new public apps must be built on GraphQL since 1 April 2025. Ask which API any older connector or development proposal relies on.

A custom integration makes sense when you have specific business rules: separate pricing for business buyers, routing orders to branches, or particular return handling. The trade-off is maintenance whenever the APIs change versions.

The point many miss: how Odoo is hosted

Most connectors in the Odoo Apps store are third-party modules, and custom modules cannot be installed on Odoo Online. Some listings say so explicitly, such as this one. Check the compatibility section: does it run on Odoo.sh or self-hosted only, which Odoo version does it need, and who updates it when you upgrade?

E-invoicing: which system issues the invoice?

In Saudi Arabia, getting orders into Odoo is not enough; you must know which system issues the customer's tax invoice. Odoo's Saudi localization documentation explains that business-to-business sales get a tax invoice that goes through clearance, while consumer sales get a simplified tax invoice that is reported to the Fatoora platform. If Odoo issues the invoice, it should be created from the imported order with the right tax settings, and no second invoice should be issued for the same sale from another system. What can be configured depends on your Odoo version and the e-invoicing phase that applies to your business; see Odoo Accounting and ZATCA e-invoicing and Phase 2 integration waves.

Checklist before choosing an approach

  1. Are SKUs consistent and clean in both systems?
  2. Which system is the master for prices, and which for stock?
  3. How many warehouses or branches fulfil online orders?
  4. Are Shopify prices tax-inclusive, and do they match Odoo's tax setup?
  5. How are gateway fees and bank settlements recorded? Do you offer cash on delivery?
  6. Who issues standard and simplified tax invoices?
  7. Which Odoo version do you run, and does your hosting allow extra modules?
  8. Who reviews sync errors every day, and how are they alerted?

Common mistakes

  • Starting the sync before cleaning product data, which creates duplicates in Odoo.
  • Ignoring variants, so stock is deducted from the wrong item.
  • Booking sales at the gross amount without separating gateway fees, so bank reconciliation never matches.
  • Running the integration on the live database without testing on a copy first.

FAQ

Is the sync real time?

It depends on the approach. Some connectors run scheduled jobs every few minutes; webhook-based integrations receive events as they happen but need proper handling of failures and retries.

What does a connector or a Shopify plan cost?

Prices are set by their owners and change over time; check Shopify pricing, the connector's page on the Odoo Apps store and Odoo pricing. Maham Pro's own prices are on our pricing page: systems integration starts from SAR 6,000, with the final cost depending on scope.

Can several stores connect to one Odoo database?

Some connectors mention multi-store support, with a warehouse and price list per store. Confirm this on the connector page before buying.

How Maham Pro can help

Maham Pro is an official Odoo partner at Ready Partner level. We can review your store and your Odoo setup, compare the available connectors with a custom integration, and explain what fits your case and the scope involved. See our Odoo ERP service, read Salla and Odoo integration if you are comparing platforms, and book a free 30-minute introductory session to discuss your setup.