FrancodesystemsFrancodesystems
EcommerceCustom integration

How to connect Odoo with WooCommerce

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

By Juan Cantón Rodríguez · Updated

Request this integration
Odoo
↔
WooCommerce

Implementation time · 7-15 business days

Diagnosis

The problem

Generic WooCommerce to Odoo plugins work until your operation stops being standard: several warehouses, variants by SKU, pricing rules or per-country tax nuances. You end up with stock out of sync between WooCommerce and the ERP, orders that do not map well to Odoo variants, and a team keying in by hand what should flow on its own.

Proposal

The solution

We connect your WooCommerce store (WordPress) to Odoo so every order comes in as a sales order, stock syncs both ways between channel and warehouses, 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 (Sales, Inventory, Accounting) via the external API (XML-RPC/JSON-RPC) or a custom module, without forcing a rigid connector and respecting your business rules.

Scope

What we automate

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

Typical use cases

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

Example 01

DTC brand on WooCommerce with several warehouses in Odoo

Before: The generic plugin could not handle multi-warehouse and caused overselling in the store.

After: Each warehouse reports its correct availability to WooCommerce and overselling is gone.

Example 02

Distributor with a broad variant catalog

Before: Variants mapped poorly and orders drew down the wrong SKU in the ERP.

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

Example 03

SMB invoicing from Odoo Accounting

Before: It copied WooCommerce orders by hand to invoice, with tax errors.

After: The order comes in and is invoiced in Accounting with the correct per-country tax, no re-keying.

Before / After

What changes exactly

✕

Without the integration

  • Stock out of sync between WooCommerce and Odoo.
  • Orders that do not map well to the ERP variants.
  • The generic plugin stuck on your real operation.
  • The team re-keying orders and adjusting stock by hand.
✓

With the integration

  • Stock synced both ways and multi-warehouse.
  • Variants mapped by SKU.
  • A tailored integration on top of your real Odoo 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 WooCommerce webhooks (WordPress REST API). We respect your existing modules and rules instead of imposing a closed connector, and we validate the SKU variant mapping before going to production.

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

What connectors exist for Odoo and WooCommerce?

Every option out there, not just ours. If an off-the-shelf app covers your case, use it: we would rather tell you here than on a call.

Official

Odoo has no WooCommerce connector of its own

Worth knowing before you go looking: Odoo pushes its own eCommerce app, so there is no first-party WooCommerce integration. Everything available is community, third-party or custom.

Where it falls short: It does not exist. Every option means software from outside Odoo.

Open sourceFree, open source

OCA connector-woocommerce

Open-source connector from the Odoo Community Association, two-way and free, with a published branch for Odoo 18.

Where it falls short: It is a small project with open issues. Check that the branch covers your exact Odoo and WooCommerce versions, and assume each major Odoo release can break it.

Third partyFrom €49.99 for Upevo Basic

Commercial connectors (Upevo and similar)

Paid modules ready to install, with support behind them and updates tracked per Odoo version.

Where it falls short: They cover the standard flow. Your own rules (bundles, customer price lists, taxes with nuances) usually fall outside the basic edition.

Custom

Custom integration

Against the WooCommerce REST API and the Odoo API, with a queue and retries. The route when you have several warehouses, variants that do not line up or per-country taxes.

What nobody tells you

What breaks when you connect Odoo and WooCommerce

The failures that actually show up, usually weeks after the integration was signed off.

  1. 01

    Community or Enterprise changes what you can install

    Not every module exists for both editions or behaves the same in each. It is the first question to settle, before choosing a connector, and almost nobody asks it in time.

  2. 02

    Variants are not modelled the same on both sides

    WooCommerce and Odoo understand attributes and variants differently. A catalogue with sizes and colours is where most automatic syncs fall apart.

  3. 03

    Taxes: mapping rates is not enough

    You have to decide which Odoo tax matches each WooCommerce rate, and what happens with cross-border EU sales and OSS. Left on the default mapping, your VAT return comes out wrong.

  4. 04

    Multi-warehouse stock

    WooCommerce has one stock figure per product and Odoo has locations. Deciding which warehouse feeds the store, and what to do with reservations, is a business decision no connector makes for you.

  5. 05

    Every major Odoo release is a migration

    Community modules lag behind new releases. Upgrading Odoo without first checking the connector has a branch for that version leaves the store disconnected.

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, which Odoo only opens on the Custom plan. We adapt to your edition.

Does it sync multi-warehouse stock?

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

How does it handle product variants?

We map WooCommerce variants to Odoo variants by SKU (or by attributes if there is no clean SKU), so every order draws down the correct variant with no manual work.

Does it replace my current WooCommerce plugin?

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

Shall we talk about your WooCommerce integration?

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