Shopify Integration for Odoo
Shopify sends orders, refunds, customers, and product updates to Odoo Sales, Inventory, and Accounting in real time — Odoo sends the product catalogue, stock by location, pricing, and fulfilment status back to Shopify — and every online order generates a ZATCA Phase-2 compliant e-invoice inside Odoo automatically.
Key Highlights
Core Features
- Real-Time Order Sync via Webhooks
- Multi-Location Stock Synchronisation
- ZATCA Phase-2 E-Invoice per Shopify Order
- Product Catalogue & Variant Pricing Sync
Shopify for the Storefront, Odoo for the Back Office
Saudi merchants choose Shopify for the storefront — the speed, the theme ecosystem, the checkout experience — but running Shopify without an ERP integration means every order has to be exported, re-keyed into accounting, manually posted against stock, and a separate ZATCA-compliant invoice raised by hand. As order volumes grow, the daily reconciliation between Shopify's dashboard and the accounting ledger consumes hours, stock discrepancies lead to oversells across warehouse locations, and the ZATCA Phase-2 obligation — which requires a cleared e-invoice for every taxable sale — cannot be met from Shopify alone.
The integration connects Shopify to Odoo Sales, Inventory, and Accounting so that every Shopify order — including its customer, products, variants, quantities, shipping method, and payment status — lands in Odoo the moment the webhook fires. Odoo then allocates stock against the appropriate warehouse, confirms the delivery, and issues the ZATCA Phase-2 compliant tax invoice automatically, stored against the Odoo sales order. On the reverse path, Odoo pushes the product catalogue, variant pricing, stock quantity per Shopify location, and the fulfilment and tracking confirmation back to Shopify — so the storefront always shows what is actually available and customers see their tracking numbers without staff switching between systems.
For Saudi retailers, the integration addresses obligations that go beyond operational convenience. ZATCA Phase-2 mandates cleared B2B and simplified B2C e-invoices for every taxable supply — Shopify does not generate these; Odoo does, and the integration ties each Shopify order to its compliant invoice inside Odoo. Stock managed across multiple KSA warehouses — Riyadh, Jeddah, and Dammam — is allocated per Shopify location, so a sale draws from the right warehouse and the correct stock figure reflects back to the storefront. Merchants running Shopify alongside Salla or a physical POS share the same Odoo inventory, eliminating the oversell risk that comes from maintaining separate stock figures in multiple systems. SAR settlement, Arabic product titles, and right-to-left invoice PDFs are all handled within Odoo's Saudi localisation.
A fashion retailer in Riyadh ran Shopify for direct-to-consumer sales and kept accounting in a separate system. Every evening an operations staff member downloaded the Shopify order CSV, re-keyed orders into the accounting system, manually adjusted stock, and created invoices one by one — the ZATCA compliance status of those invoices was uncertain. When peak-season order volumes doubled, the process broke: stock was oversold, invoices were delayed by days, and the Shopify dashboard disagreed with what finance reported. After iWesabe connected Shopify to Odoo, orders landed in Odoo the moment they were placed, stock decremented instantly across all locations, ZATCA Phase-2 invoices were issued the same day, and fulfilment status wrote back to the Shopify order automatically. The operations staff shifted from data entry to exception management.
What the Shopify–Odoo Connector Delivers
Real-Time Order Sync via Webhooks
Shopify fires a webhook the moment an order is placed, updated, or cancelled — Odoo receives it, creates the sales order, and allocates stock without any delay or manual trigger. Refunds and partial cancellations sync the same way, keeping both systems in step at every stage.
Multi-Location Stock Synchronisation
Odoo allocates stock against the correct KSA warehouse (Riyadh, Jeddah, Dammam) for each Shopify order and writes the updated on-hand quantity back to the corresponding Shopify location, so what customers see available always matches what is physically in each fulfilment point.
ZATCA Phase-2 E-Invoice per Shopify Order
Every Shopify order that lands in Odoo triggers a ZATCA Phase-2 compliant tax invoice — B2B clearance or simplified B2C, QR code, Arabic right-to-left layout, 15% Saudi VAT, SAR settlement — issued and stored against the Odoo sales order without any manual step.
Product Catalogue & Variant Pricing Sync
Products, variants, images, and pricelists are managed in Odoo and pushed to Shopify, so the storefront always reflects the current catalogue and pricing without duplicate maintenance in two systems. Updates in Odoo appear in Shopify on the next sync without any re-entry in the Shopify admin.
Fulfilment & Tracking Write-Back
When Odoo confirms a delivery and generates a tracking reference, the status and tracking number are written back to the Shopify order and the customer fulfilment notification is sent — without staff switching between Shopify and Odoo.
Refund & Cancellation Handling
Shopify refunds and order cancellations flow into Odoo as credit notes or order cancellations, stock is reversed to the originating warehouse, and the accounting entry is posted automatically — so the ledger stays accurate without any manual journal entries.
Why Saudi Retailers Run Shopify with Odoo
- ZATCA Phase-2 e-invoicing for every Shopify order — Odoo issues the cleared B2B or simplified B2C tax invoice with QR code, Arabic right-to-left layout, and 15% Saudi VAT automatically for each sale that arrives from Shopify
- Multi-warehouse stock across Riyadh, Jeddah, and Dammam — Odoo allocates fulfilment from the correct KSA warehouse and writes the updated stock figure back to the corresponding Shopify location, so the storefront never oversells
- SAR settlement and Saudi VAT reconciliation — Shopify payments in SAR are posted against the Odoo sales order and the accounting ledger with 15% VAT correctly split and tracked per transaction
- Arabic product catalogue and right-to-left invoice rendering — Odoo supports Arabic product titles, descriptions, and RTL-formatted ZATCA invoice PDFs for the Saudi market without requiring any configuration on the Shopify side
- Multi-channel coexistence — the same Odoo inventory feeds Shopify, Salla, and physical POS locations simultaneously, so no SKU can be oversold across channels regardless of where the sale originates
Supported Markets
Saudi Arabia
SAR • ZATCA compliant
United Arab Emirates
AED
Bahrain
BHD
+ Kuwait, Oman, Qatar & more
Business Outcomes After Go-Live
No more daily order exports and re-keying
Orders land in Odoo the moment they are placed on Shopify — with customer, products, variants, and payment status already mapped — so the operations team stops downloading CSVs and re-entering data by hand from the first day.
ZATCA-compliant from the first sale
Every Shopify order issues a ZATCA Phase-2 cleared e-invoice from Odoo automatically, so the business meets its e-invoicing obligations without a separate manual invoicing workflow alongside the store.
Stock accuracy across every channel
Shopify, Salla, and physical POS all draw from the same Odoo inventory, so the on-hand quantity is always correct and oversells across channels are structurally impossible.
Faster fulfilment with automatic tracking write-back
Odoo confirmation and tracking information reach the Shopify order and the customer without a staff member copying details between systems — fulfilment time shortens and customer communication improves.
Accurate margins per channel
With Shopify revenue, Odoo cost-of-goods, and accounting all on the same database, the margin per order — by channel, product, and warehouse — is visible in real time without spreadsheet consolidation.
One product catalogue, one price list
Products and pricing are managed in Odoo once and reflect in Shopify immediately — no duplicate entry, no price discrepancy between the ERP and the storefront.
Shopify Integration Steps with iWesabe
Prerequisite check — confirm the Shopify plan and API access tier, the Odoo edition and version, and the modules — Sales, Inventory, Accounting — to be connected, plus the Shopify locations, currencies, and tax settings in scope
Deploy the Odoo connector — install and configure the appropriate Odoo connector to establish the webhook subscriptions and API credentials that link Shopify to Odoo
Configure credentials and sync rules — connect the Shopify store to Odoo securely, set the sync direction and frequency per object, and define how Shopify locations map to Odoo warehouses and stock locations
Map products, customers, and tax — align Shopify product variants and SKUs with Odoo product templates, map Shopify customer records to Odoo partners, and configure ZATCA tax codes and VAT account mapping for Saudi orders
Test with sample orders — place test orders in Shopify, confirm they appear in Odoo with correct stock allocation, trigger a ZATCA invoice, test a refund, and verify that stock and tracking write back to Shopify correctly
Go live with monitoring — enable the live connection and run iWesabe's monitoring across the first trading week so any mapping, stock allocation, or ZATCA invoice issue is identified and resolved before it affects customers
Saudi Sectors Running Shopify with Odoo
Why iWesabe for Shopify–Odoo Integration
Years Experience
Since 2012
Odoo Gold Partner
Certified by Odoo SA
Implementations
Across KSA & GCC
Delivery Locations
KSA · UAE · Bahrain · India
- Odoo Gold Partner with hands-on Shopify–Odoo integrations across Saudi fashion, beauty, and lifestyle direct-to-consumer brands — orders, stock, and ZATCA invoices wired as one automated workflow
- ZATCA Phase-2 done properly — every Shopify order issues a cleared B2B or simplified B2C e-invoice from Odoo, with QR code, Arabic right-to-left layout, and 15% Saudi VAT, configured from day one
- Multi-location stock and warehouse mapping — iWesabe configures Odoo to serve multiple KSA fulfilment points and keep Shopify locations current without oversell risk
- Bilingual delivery and post-go-live support across the first full trading week, so the operations and finance teams confirm accurate orders, invoices, and stock before iWesabe steps back
iWesabe has connected Shopify to Odoo for fashion retailers, beauty brands, grocery businesses, and lifestyle merchants across Saudi Arabia. Every integration includes ZATCA invoice verification, VAT mapping, multi-location stock testing, and a first-week monitoring period — so the storefront, the warehouse, and the ledger stay in step from day one.
Shopify–Odoo Questions from Saudi Businesses
It connects Shopify and Odoo so that orders, customers, refunds, and product updates sync automatically in both directions. Shopify sends each order to Odoo the moment it is placed — Odoo allocates stock, issues the ZATCA Phase-2 compliant e-invoice, confirms fulfilment, and writes the tracking status back to the Shopify order. The product catalogue, stock quantities, and pricing flow from Odoo to Shopify so both systems always reflect the same data without manual maintenance in each.
The integration works with Shopify plans that include API access (Basic and above). On the Odoo side, it is compatible with Odoo 16 and Odoo 17 Enterprise and Community editions, covering the Sales, Inventory, and Accounting modules. iWesabe confirms version compatibility during the prerequisite check at the start of every project.
Yes. Shopify sends orders, refunds, customer updates, and product changes to Odoo via webhooks the moment they occur — there is no polling delay. Odoo sends stock quantities, product catalogue updates, and fulfilment and tracking confirmations back to Shopify on a defined schedule or in response to Odoo warehouse actions. Both directions are active simultaneously.
Every order that arrives in Odoo from Shopify triggers a ZATCA Phase-2 compliant tax invoice inside Odoo — B2B clearance via the ZATCA portal, or a simplified B2C invoice, depending on the customer type. The invoice carries a QR code, the correct 15% Saudi VAT, Arabic right-to-left layout, and SAR settlement. This all happens in Odoo automatically; nothing needs to change on the Shopify side.
Odoo is the single inventory system of record. Whether a sale happens on Shopify, Salla, or at a physical POS, every transaction decrements the same Odoo stock. Odoo then writes the updated on-hand quantity back to each connected channel — including each Shopify location — so what a customer sees available is always what is physically in stock, across all channels simultaneously.
A Shopify refund or order cancellation fires a webhook that reaches Odoo, where the corresponding credit note or cancellation is created, stock is reversed to the originating warehouse, and the accounting entry is posted. The Odoo ledger stays accurate without any manual journal entry, and the Shopify refund and the Odoo credit note agree automatically.
A standard setup covering order sync, stock synchronisation, ZATCA invoicing, and basic product catalogue sync is typically live within one to two weeks. More complex setups — multiple Shopify locations mapped to distinct Odoo warehouses, multi-currency, or simultaneous Salla integration — usually take two to three weeks. iWesabe runs a test trading period before go-live.
Explore More Solutions
Discover our full suite of industry-leading ERP tools built for every business sector.
WooCommerce Integration for Odoo
WooCommerce sends orders, customers, payments, and refunds to Odoo Sales, Inventory, and Accounting in real time — Odoo sends the product catalogue, stock levels, pricing, and fulfilment status back to your WordPress store — and every online order generates a ZATCA Phase-2 compliant e-invoice inside Odoo automatically.
ExploreMagento Integration for Odoo
Magento sends multi-store orders, customer groups, invoices, and credit memos to Odoo Sales, Inventory, and Accounting — Odoo sends the product catalogue, multi-source stock, customer-group pricing, and order status back to Magento — and every online order generates a ZATCA Phase-2 compliant e-invoice inside Odoo automatically.
ExplorePrestaShop Integration for Odoo
PrestaShop sends orders, customers, multi-language products, invoices, and credit slips to Odoo Sales, Inventory, and Accounting — Odoo sends the bilingual product catalogue, stock, pricing, and order status back to PrestaShop — and every online order generates a ZATCA Phase-2 compliant e-invoice inside Odoo automatically.
ExploreOpenCart Integration for Odoo
OpenCart sends orders, customers, products, and payments to Odoo Sales, Inventory, and Accounting — Odoo sends the product catalogue, stock levels, pricing, and order status back to your OpenCart store — and every online order generates a ZATCA Phase-2 compliant e-invoice inside Odoo automatically.
ExploreeBay Marketplace Integration for Odoo
eBay sends marketplace orders, buyer details, and order updates to Odoo Sales, Inventory, and Accounting — Odoo sends listing-level stock updates, end-listing triggers when sold out, and fulfilment + tracking back to eBay — keeping inventory accurate across eBay and every other channel while the Saudi entity's books stay ZATCA-compliant.
ExploreEducation ERP & School Management
Manage students, fees, attendance, grades, and staff in one unified platform — reduce administrative burden, improve parent engagement, and run a more efficient institution.
ExploreReady to Connect Shopify to Odoo?
Talk to iWesabe about syncing Shopify with Odoo Sales, Inventory, and Accounting — with real-time order sync, ZATCA Phase-2 e-invoicing, multi-location stock, and one consistent record across both systems.