FrancodesystemsFran<code>systems
EcommerceCustom integration

Odoo WooCommerce integration

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

Odoo
WooCommerce

Implementation time · 7-15 días laborables

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 uses it

Real use cases

These are the profiles that most ask us for the OdooWooCommerce integration and what they get in the end.

Case 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.

Case 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.

Case 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 without errors.
  • 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' })
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 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.