Start a Project
AEO & GEO

Odoo Shopify Integration: Setup in 7 Steps

15 min read
Adam Khaled

Adam Khaled

Founder, Web25

Odoo Shopify integration: a glass key in a keyhole cut into a translucent wall, with chips for plan, connector and stock

Quick answer: An Odoo Shopify integration keeps orders, stock, customers and shipping in step between a Shopify store and Odoo. The connector can be an Odoo module, a Shopify app or custom code. Which of those you can use depends on how your Odoo database is hosted and on your Odoo plan.

If you need the Shopify side or a custom API layer built, you can book a discovery call.

Table of contents

Which data moves between Shopify and Odoo, and who owns it?

Before you compare connectors, list the records you need to move, such as orders, customers, stock, shipping and refunds, and give each one a single owner. Connectors differ on direction, so choose the owner before you shortlist anything.

The Odoo Apps Store listing for Odoo IN Pvt Ltd’s Shopify module (release 19.0.4.0, dated October 16, 2026) shows one way to split it:

  • Shopify to Odoo: orders, customers, returns, refunds and products.
  • Odoo to Shopify: stock, pushed automatically after each order pull.
  • Both ways: fulfillments and tracking numbers.

Other connectors run products the other way (see the FAQ on products), so decide who owns products before you shortlist.

If your back office is NetSuite, read our Shopify NetSuite integration guide. If you only need the books, our QuickBooks Shopify integration guide fits better.

Should the connector live in Odoo or in Shopify?

It can live on either side, and each side meets a different Odoo rule. An Odoo module installs inside Odoo, while a Shopify App Store app or custom code calls Odoo from outside.

Odoo’s hosting page says “Odoo Online is not compatible with non-standard apps.” The pricing page describes the Standard plan as hosted on Odoo Online, “our cloud infrastructure to host databases without custom modules.”

A Shopify app that works through Odoo’s external API doesn’t need anything installed in Odoo. The TechMarbles listing on the Shopify App Store describes its app that way (“via JSON2 REST API and XML-RPC”), and that access has its own rule. The API page limits that access to Custom plans, and the pricing page lists External API under Custom. The listing also says it is compatible with Odoo Online, so ask the vendor which plan it expects. Our Odoo WooCommerce integration guide goes deeper on Odoo hosting.

RouteInstalls inOdoo OnlineOdoo.sh or on-premise
Odoo moduleOdooNo (hosting page, Odoo IN listing)Yes (Odoo IN and VentorTech listings)
Shopify appShopifyCustom plan only (API page, pricing page)Custom plan (pricing page)
Custom codeYour own serverCustom plan only (API page, pricing page)Custom plan (pricing page)

The same rules as a grid:

Odoo Shopify integration grid: Odoo module, Shopify app and custom code against Odoo Online and Odoo.sh or on-premise plans

These pages don’t say how they apply to Odoo Community or a partner-hosted database, so ask your Odoo partner.

What does Odoo IN’s Shopify module do and not do?

Odoo IN Pvt Ltd’s Shopify module is a third-party module for Odoo 19, and its listing is plain about its limits. This section describes that module, not every Odoo Shopify connector.

The listing says orders and deliveries sync every 10 minutes, and “NO webhook-based sync. All synchronization runs on a scheduled cron job.” Stock goes from Odoo to Shopify after each order pull. Stock coming back from Shopify is manual, through a Fetch Inventory button. Products flow “one-way only: Shopify → Odoo.”

Each Shopify variant becomes a standalone Odoo product, and Shopify metafields aren’t mapped.

That suits a store that can live with a 10-minute delay and manages products in Shopify. If your Odoo Shopify integration needs products managed in Odoo, or faster changes, check another connector’s direction and timing first.

How do you set up an Odoo Shopify integration in 7 steps?

This Odoo Shopify integration checklist runs in order, each step narrowing the next.

  1. 1. Note how Odoo is hosted and which plan you pay for. Write down whether your database is on Odoo Online, Odoo.sh or your own server, and whether the plan is Standard or Custom. The grid earlier in this guide shows which routes each combination leaves open.
  2. 2. Decide which system manages products. Pick Shopify or Odoo as the place where products are created and edited. Then read the connector’s listing for its direction, because Odoo IN’s module only pulls products from Shopify.
  3. 3. Create Shopify access the 2026 way. Shopify’s Help Center says “You create and manage custom apps using the Dev Dashboard.” Legacy custom apps created before January 1, 2026 can still be managed from the Shopify admin. Staff need the App development > Develop permission. Odoo IN’s module asks for OAuth on stores created on or after January 1, 2026. Grant only the scopes the sync needs.
  4. 4. Create a dedicated Odoo user and API key. This applies when your connector calls Odoo from outside, which is how a Shopify app or custom code works. Odoo’s API page says you can’t create keys that last more than three months, so set a replacement date now.
  5. 5. Pair each Odoo location with a Shopify location. Odoo IN’s listing says to align Odoo and Shopify inventory by hand before the first sync.
  6. 6. Match products by SKU before the first import. Odoo IN’s module links a Shopify SKU to an Odoo product’s Internal Reference. Fill every blank SKU and fix every duplicate in Shopify first. Its listing suggests building the Odoo catalog, with categories and taxes, before the first fetch.
  7. 7. Run one test order end to end, then watch the first week. Test on a duplicate of your Odoo database, plus a Shopify development store. Place an order, check the stock drop, ship it, confirm the tracking reaches Shopify, then refund one line. If custom code uses webhooks, plan for Shopify’s delivery rules. Shopify “retries failed webhook calls up to eight times in a four-hour period”, the app must answer within five seconds, and “if failures persist, the subscription is removed.” A job that runs on a schedule and compares order and stock counts in both systems catches what a removed subscription misses.

How does stock stay right across Shopify locations and Odoo?

Each Shopify location holds its own count of each item it stocks, so the connector has to decide which Odoo quantity feeds which location. Shopify’s inventory documentation says “Inventory levels connect one inventory item to one location.”

Each level holds quantities in states, and on_hand equals the sum of available, committed, reserved, damaged, safety_stock and quality_control. Shopify also says quantities in the committed state “are managed by Shopify” through actions such as creating and fulfilling orders.

Odoo IN’s listing pushes “the free quantity (on-hand minus reserved) at the mapped Odoo location” to the matching Shopify location after each order pull. Between two pulls, Shopify itself still moves quantities into committed as orders arrive. The listing also warns that if inventory tracking is off in Shopify for a product or location, the sync for that product fails.

Decide what happens to stock in an Odoo location with no Shopify partner.

When does custom code make sense for Odoo and Shopify?

Custom code makes sense for an Odoo Shopify integration when no connector’s direction, timing or fields fit your process.

Typical triggers are a need for changes faster than a 10-minute schedule, products managed in Odoo while your module only pulls from Shopify, several stores or companies with their own rules, and custom Odoo fields.

On the Odoo side, the API page describes JSON-2, where you post a JSON object to /json/2/<model>/<method> with a bearer API key. The same page lists the older XML-RPC and JSON-RPC endpoints for removal with Odoo 22 in fall 2028, and with Odoo Online 21.1 in winter 2027.

Ask any Shopify app vendor which Odoo API it uses, since the TechMarbles listing names both JSON2 and XML-RPC. The general build method lives in custom API integration services, and API integration cost covers the budget.

How Web25 helps

Web25 wrote this guide and sells custom API work, so weigh what it says about that work the way you’d weigh any vendor’s pitch. It doesn’t take on Odoo integration work, so the Odoo side belongs with an Odoo partner or the connector vendor.

The backend and API service page describes custom links from an online store to the systems behind it. There is no public Shopify project to point to. The nearest public project is the Mirael3D case study, a WooCommerce store connected to POHODA, not to Shopify or Odoo. If you’re still deciding whether to connect Shopify at all, ERP website integration lays out the other routes.

Each source was opened on October 22, 2026. Most of them carry no date of their own, so if a page has changed since, its current wording wins.

FAQ

Odoo IN Pvt Ltd’s Shopify module on the Odoo Apps Store carries a “Third Party” tag and calls itself “The only third-party Shopify app supported by Odoo.” That is the listing’s own wording. Ask Odoo or your partner to confirm support terms before you buy.

Odoo’s API page limits external API access to Custom plans and names the One App Free and Standard plans as excluded. Its hosting page says “Odoo Online is not compatible with non-standard apps.” Going by those two pages, a direct connection needs the Custom plan. Confirm your plan with Odoo first.

That varies by connector. Odoo IN’s module has no webhooks and syncs orders and deliveries every 10 minutes on a cron job. The TechMarbles listing says data stays accurate on both platforms “in real time.” Check the listing of the connector you choose.

Not with Odoo IN’s module, whose listing says “Product data is never pushed from Odoo to Shopify.” The VentorTech page lists exporting products from Odoo to Shopify, and TechMarbles lists two-way product sync. Choose the connector by the direction you need.

Odoo IN’s listing says multiple Shopify stores can be connected under one or more Odoo companies, and each store needs its own account configuration in Odoo. Each extra store means one more configuration to set up and test. Check any other connector’s listing for its own limits.

Odoo eCommerce is an option if you’d rather run the store inside Odoo, but moving a working Shopify store takes planning of its own. ERP website integration compares building inside the ERP with connecting an existing site, so read it before you decide.

What to do next

Before you start your Odoo Shopify integration, note your Odoo hosting and plan, then read the listing for the route that plan allows. If you need the Shopify side or a custom API layer built, book a discovery call.


Written by Adam Khaled, Founder, Web25. Published October 22, 2026. Last updated October 22, 2026.

More from the blog