Shopify runs the storefront. Odoo runs stock, purchasing, shipping and accounting. When the two are not connected, someone re-types every order into Odoo and every price or stock change back into Shopify.
This guide covers the integration itself: what data moves, in which direction, how often, and what to settle before you connect a store. Odoo does not ship a standard Shopify connector in most versions, so the connector is a third-party module or a custom build. If you want that scoped for your store, our Odoo integration services team does the implementation and the testing.
A connector is worth it when Shopify is the sales channel but Odoo is where the business is actually run. The gains are practical:
If your storefront is Odoo itself rather than Shopify, start with Odoo for ecommerce instead; there is nothing to connect.
The exact field map belongs to the connector you buy, not to Odoo. The table below is the pattern most Shopify–Odoo modules follow; check the directions against the seller's documentation before you commit, because some modules only push, some only pull, and some do both.
| Data | Typical direction | Typical frequency |
|---|---|---|
| Products, variants, images, prices | Odoo → Shopify | On save, or queued in batches |
| Stock levels | Odoo → Shopify | After a stock move, throttled by the connector |
| Orders, with payment and shipping details | Shopify → Odoo | On order creation, or every few minutes |
| Customers | Shopify → Odoo | With the order, matched on email |
| Tracking numbers | Odoo → Shopify | When the delivery is validated |
| Refunds and cancellations | Shopify → Odoo | When the refund is recorded in Shopify |
Two rows cause most of the support tickets. Stock is a one-way push in most modules: overselling still happens if Shopify keeps its own inventory and the connector lags. Customers are matched on email, so guest checkouts and shared inboxes create duplicate contacts unless someone sets the rule up front.
Frequency is a connector setting, not an Odoo feature. There are three common patterns:
Ask the seller two questions before you buy: how often stock is pushed, and what happens to an order that fails mid-sync. A connector that logs failures and can replay them is worth more than one that promises "instant" updates.
One Odoo database can serve several Shopify stores, but only if the connector supports it. Each store needs its own mapping so the data does not mix:
Operating several Shopify stores—such as separate storefronts for retail B2C, wholesale B2B, or regional international markets—is common as brands scale. With Odoo's advanced pricelist engine, you can maintain distinct pricing structures across several connected Shopify stores within a single database. Each store maps to its own Odoo pricelist, allowing you to configure channel-specific base prices, currency conversions, volume-tier discounts, and promotional campaigns without duplicating your product catalog. When an order imports from a specific storefront, Odoo applies that store's assigned pricelist and local tax rules automatically, keeping profit margins consistent and multi-store reporting clean.
If you also sell on marketplaces, the same logic applies to the Odoo Amazon connector and the Odoo eBay connector: one Odoo, several channels, each with its own mapping.
The accounting side is where a connector earns its money, and where a careless setup creates cleanup work:
How Shopify orders and payouts post to Odoo Accounting determines how much time your finance team spends reconciling transactions at month end. With automated posting configured, every online sale, tax liability, and gateway fee lands directly in the right general ledger accounts.
Get your accountant to sign off on that mapping before go-live. Changing it after a few hundred orders means reworking journal entries. If you are planning a multi-store setup or need custom accounting workflows, our Odoo integration services team can manage the configuration.
Odoo has no standard Shopify app in most versions. That leaves two routes:
On most projects the connector is a third-party module rather than a product O2B publishes. We implement and configure it, test the sync against your catalog, and support the result; where a module falls short, we build the custom pieces. Hosting matters too: a third-party module can be installed on Odoo.sh or a self-hosted database, while Odoo Online restricts custom modules, so confirm that before you choose a plan. The sync interval itself is a setting in whichever module you use; see How Often Data Syncs above for the realistic options.
Let's sync them.
Does Odoo have a built-in Shopify connector?
Not as a standard app in most Odoo versions. You need a connector module, either a third-party one from the Odoo Apps Store or a custom build that uses the Shopify Admin API and Odoo's API.
Can I run several Shopify stores with one Odoo?
Yes. A connector that supports multi-store lets you map each Shopify store to its own price list and warehouse, so orders, stock and reporting stay separated by store inside one Odoo database.
Does stock update instantly between Odoo and Shopify?
It depends on the connector. Many connectors push stock changes on a schedule, every few minutes, rather than instantly. Ask the seller what the sync interval is and how conflicts are handled before you rely on it.