Shopify Odoo Integration
Two-way Shopify โ Odoo sync.
Shopify runs the storefront well, and Odoo runs the business behind it: stock, purchasing, accounting and fulfilment. Connecting the two turns the store into a sales channel rather than a separate island of data. Orders land in Odoo as sale orders, stock levels flow the other way from the warehouse, and fulfilment with its tracking number is written back to Shopify so the buyer gets the shipping email without anyone touching the admin.
What syncs between Shopify and Odoo
- โ Products and variants: Odoo to Shopify, one-way in most builds, so the ERP owns the catalogue. Two-way is possible where merchandising is done in Shopify.
- โ Inventory levels: Odoo to Shopify, one-way, per Shopify location mapped to an Odoo warehouse.
- โ Orders: Shopify to Odoo, one-way, created as sale orders with customer, lines, discounts, shipping and payment status.
- โ Customers: Shopify to Odoo, one-way, matched on email so repeat buyers do not create duplicate contacts.
- โ Fulfilment and tracking: Odoo to Shopify, one-way, when the delivery is validated.
- โ Refunds and cancellations: Shopify to Odoo, one-way, producing the matching credit note or cancelled order.
- โ Payouts: Shopify to Odoo, one-way, imported so gateway settlements reconcile against the bank.
How we implement it
- 1 Decide the system of record
Which system owns products, prices and stock. Nearly every failed connector project skipped this conversation.
- 2 Key mapping
Match on SKU, and clean the SKUs first. Fuzzy matching on names is where duplicate products come from.
- 3 Locations to warehouses
Map every Shopify location to an Odoo warehouse, and decide what happens to stock you do not want the store to sell.
- 4 Order flow rules
Paid against pending orders, discounts, gift cards, shipping lines and how each posts in Odoo.
- 5 Historical import
Backfill open orders and customers, with a cutover date, so the ledger does not start half empty.
- 6 Go-live and monitoring
A queue with retry and an error dashboard, because a store that quietly stops syncing at midnight is worse than one that shouts.
Services that cover this work
Odoo Customization
Custom modules built to match your exact workflow.
Odoo Integration
Connect Odoo with your stack and third-party APIs.
Odoo E-Commerce
High-conversion Odoo websites & shops.
Shopify and Odoo: common questions
Which system should own stock?
Odoo, in almost every case. It sees purchase orders, returns, transfers and manufacturing, so its number is the true one. Shopify then receives the available quantity per location.
How fast does stock update?
Near real time for changes triggered by orders, plus a periodic full reconciliation to catch anything missed. The reconciliation pass matters more than the speed of the fast path.
What about multiple Shopify stores?
Several stores can feed one Odoo database, each mapped to its own sales channel, price list, warehouse and journal, which keeps reporting per store intact.
Do refunds sync back?
Yes. A refund in Shopify creates the matching credit note in Odoo, and a return can restock the item if the flow is set up that way.
Will it work with Shopify POS as well?
Orders from Shopify POS arrive like any other order, mapped to the location they were sold at. Whether you keep Shopify POS or move to Odoo POS is a business decision, not a technical limit.
Other ecommerce integrations
Need a connector that is not on the list?
Custom REST, GraphQL, webhook, EDI and flat-file integrations, built with retry, idempotency and audit logging so a failed message is visible instead of lost.