FrancodesystemsFrancodesystems
EcommerceCustom integration

How to connect Odoo with Shopify

Shopify and Odoo in sync: orders, stock and invoicing in your open-source ERP, tailored.

By Juan Cantón Rodríguez · Updated

Request this integration
Odoo
↔
Shopify

Implementation time · 7-15 business days

Diagnosis

The problem

Odoo is powerful, but its official Shopify connector falls short the moment your operation leaves the standard path: multiple warehouses, pricing rules, complex variants, or invoicing with per-country nuances. You end up with stock out of sync between channel and ERP, orders that do not map well to Odoo variants, and a team doing by hand what should flow on its own.

Proposal

The solution

We connect Shopify to Odoo so orders come in as sales, stock syncs both ways and invoicing is generated in the Accounting module. We lean on Odoo being open source and modular: we integrate with the modules you already run (Inventory, Sales, Accounting) instead of forcing a rigid connector, and we respect your business rules.

Scope

What we automate

  • Every Shopify order comes into Odoo as a sales order with its customer and lines.
  • Stock synced both ways, with conflict resolution and multi-warehouse.
  • Invoicing in the Odoo Accounting module with the correct tax.
  • Product variants mapped correctly between Shopify and Odoo.
  • Refunds and returns reflected in Odoo without breaking stock.
  • Idempotency: Shopify retries never duplicate orders or movements.
Who it fits

Typical use cases

Profiles where the Odoo ↔ Shopify integration usually fits and what changes with it. Illustrative examples, not specific clients.

Example 01

Manufacturer selling on Shopify with Odoo Manufacturing

Before: Finished-goods stock did not match across production, ERP and store.

After: Stock synced in real time; the store never sells what is not there.

Example 02

Retailer with several warehouses in Odoo

Before: The official connector could not handle multi-warehouse and caused overselling.

After: Each warehouse reports its correct availability to Shopify.

Example 03

Brand with a complex variant catalog

Before: Variants were mapped wrong and orders drew down the wrong stock.

After: Exact SKU mapping; every order draws down the correct variant.

Before / After

What changes exactly

✕

Without the integration

  • Stock out of sync between Shopify and Odoo.
  • Orders that do not map well to ERP variants.
  • The official connector stuck on your real operation.
  • The team adjusting by hand what should flow.
✓

With the integration

  • Stock synced both ways and multi-warehouse.
  • Variants mapped by SKU with no errors.
  • A tailored integration on top of your real modules.
  • Orders, invoices and stock flowing on their own.
Architecture

How we build it

We integrate via Odoo's external API (XML-RPC/JSON-RPC) or a custom module depending on the case, with an idempotent queue processing Shopify webhooks. We respect your existing modules and rules instead of imposing a closed connector.

flow.ts
webhook shopify.event
→ queue.enqueue(jobId)
→ worker.handle() // idempotent
→ odoo.api.call() // retries with backoff
→ log.emit({ status: 'ok' })
FAQ

Frequently asked questions

Odoo Online (SaaS), Community or Enterprise?

We work with all three. Self-hosted Community and Enterprise give us more room (custom modules); with Odoo Online we use the external API. We adapt to your edition.

Does it sync multi-warehouse stock?

Yes. If you run several warehouses in Odoo, we sync the correct availability to Shopify and apply the allocation rules you define.

What about product variants?

We map Shopify variants to Odoo variants by SKU or by attributes, so every order draws down the correct variant with no manual work.

Can it coexist with the official connector?

We usually replace it where it falls short and keep what already works. We audit first so we do not break what you have.

Shall we talk about your Shopify integration?

A 30-minute call, no strings. You leave with scope and a price.