Skip to main content

Shopify Odoo Connector

Sync Shopify products, inventory and orders with Odoo using scheduled imports, processing queues and clear sync logs.

What it does

Shopify Odoo Connector links a Shopify store to Odoo 17, 18 or 19 and keeps the two in step. Products, variants, images, customers and orders come into Odoo through queues: each import is split into lines, processed in the background and logged, so one bad record fails on its own line with a readable reason instead of stopping the sync, and can be processed again once fixed. With webhooks switched on, new orders, products and customers arrive as Shopify sends them; scheduled jobs cover the rest — order imports, stock exports, shipped and cancelled orders, fulfilment updates and payout reports. Imported orders become ordinary Odoo sales orders, and an auto-workflow chosen per payment gateway and financial status can confirm them, create and validate the invoice and register the payment. Each store has its own warehouse, pricelist, sales team, tax and webhook settings, and one Odoo database can run several stores. Customer imports need Shopify's protected customer data access; without it, orders use a default customer you choose.

Key features

Webhooks for orders, products and customers, with scheduled imports as the backstop

Odoo stock exported to Shopify locations on a schedule or on demand

Shopify orders become Odoo sales orders, invoices, deliveries and payments

Customers matched by Shopify ID, email or phone before a new contact is created

What it syncs

Products
Products, variants, images, tags and categories, matched to Odoo by internal reference, barcode or either.
Customers
Contacts and addresses, optionally created as a company with the buyer as a contact under it.
Orders
Unshipped, shipped, cancelled and Buy with Prime orders, filtered by status and start date, with shipping, discount, tip, gift card and duty lines.
Stock
Odoo quantities exported to Shopify locations through a queue, on a schedule or on demand. Stock can also be imported.
Fulfilment
Shipment information, including tracking, sent back to Shopify so the order status updates there.
Refunds
Refunds and cancellations imported from Shopify, with credit notes and optional refund payments.
Payouts
Shopify payout reports imported and processed into bank statements.
Queues and logs
Every import runs through a queue with its own log, and failed lines show the reason and can be processed again.
Analytics
A dashboard with sales, fulfilment and sync-health figures for any period.

The details, covered.

Versions and compatibility
Odoo versions
17, 18, 19
Requires
Sales and Inventory (sale_management, stock_delivery)
Technical name
shopify_ept, with common_connector_library
Module version
19.0.1.3
Tested
38 backend checks per version, plus a run against a Shopify development store
Module version
19.0.1.3
Software licence
OPL-1

Frequently asked questions

Does it sync in real time?

Partly. With webhooks switched on, new orders, products and customers arrive as Shopify sends them. Stock exports, shipped and cancelled orders, fulfilment updates and payouts run as scheduled jobs whose timing you set.

Can one Odoo database connect to several Shopify stores?

Yes. Each store is its own instance with its own warehouse, pricelist, sales team, taxes and webhooks.

What happens when a record fails to import?

Only that queue line fails. The reason is logged on the line, and you can correct the data and process it again.

Why are customer imports failing?

Shopify only shares customer names and emails with apps that have protected customer data access. Without it the line fails with a clear message, and orders use the default customer you set.

Can orders be invoiced and paid automatically?

Yes. Map each payment gateway and financial status to an auto-workflow that confirms the order, creates and validates the invoice and registers the payment.

Which Odoo versions are supported?

Odoo 17, 18 and 19. The package includes a build for each.

A licence, not a subscription

Every module in the store is sold the same way — a one-off licence per database, with no renewals — so there is nothing to read between the lines.

One free update included

Every licence comes with one free update request on the module. Anything beyond that — new features or deeper customization — is scoped and quoted before we build.

Proven by real Odoo users

Every module here runs in live Odoo deployments and is verified daily by the people who actually use it. Nothing experimental or loosely defined makes this catalogue.

Numbers that hold up

Dashboards and reports are 100% accurate — tested repeatedly against real data and cross-checked calculations before release.

Invoice provided

An invoice comes with every order, using the billing details you provide.