User guide

WooCommerce Odoo Connector: User Guide for Setup and Daily Use

How to install, configure and use the KalvyAI WooCommerce Connector for Odoo 19 and 20: multi-store sync of orders, products, stock, customers and refunds, plus the Store Insights Dashboard.

KalvyAI Engineering · · 8 min read

WooCommerce Odoo Connector: User Guide for Setup and Daily Use (cover)

The WooCommerce Connector | Multi-Store Integration Hub (technical name ki_odoo_woocommerce_connecter) links one or more WooCommerce stores to a single Odoo database. This guide covers what it does, who it is for, how to install and configure it, and how to use each main feature day to day.

You can buy and install the app from the store page: WooCommerce Odoo Connector on the KalvyAI Store.

What the connector is for

The connector keeps WooCommerce and Odoo in sync so your team does not re-key orders, update stock in two places, or chase refunds manually. It uses the WooCommerce REST API v3 over HTTPS and webhooks verified with HMAC-SHA256.

It synchronizes:

  • Orders, from WooCommerce into Odoo sales orders
  • Simple and variable products, attributes, pricing, images and descriptions
  • Inventory, including per-warehouse allocation
  • Customers, with matching to avoid duplicates
  • Fulfillment and shipping status, pushed back to WooCommerce
  • Refunds, which become credit notes and inventory returns in Odoo

On top of the sync, it adds a Power BI-style Store Insights Dashboard inside Odoo and is compatible with KalvyAI ConnectIQ for AI-assisted error diagnosis.

Who it helps

  • Business owners running one or several WooCommerce shops who want orders, stock and accounting in one ERP.
  • Operations and warehouse teams who need to stop overselling across physical locations.
  • Finance teams who want refunds to produce credit notes automatically instead of by hand.
  • ERP admins and developers who need a sync that stays stable under high order volume and gives clear error information when something fails.

Requirements

Before you start, confirm you have:

  • Odoo 19.0 or 20.0 (Community or Enterprise), hosted on Odoo.sh or your own server
  • WooCommerce 5.0 or later on WordPress, with the REST API enabled
  • A WooCommerce Consumer Key and Consumer Secret with Read/Write permissions
  • The standard Odoo modules Sales (sale_management / sale), Invoicing (account) and Inventory (stock). The app specs also list eCommerce as a dependency. [CHECK: confirm whether the Odoo eCommerce module (website_sale) is a hard dependency]
  • For real-time webhooks: a publicly reachable HTTPS address for your Odoo server

Odoo Online (SaaS) is not supported, because it does not allow custom modules.

Installation and setup

Step 1: Install the module

  1. Get the app from the store page.
  2. Add the module to your Odoo addons path (on Odoo.sh, add it to your repository branch). [CHECK: delivery format and installation instructions after purchase]
  3. In Odoo, open Apps, update the apps list, search for ki_odoo_woocommerce_connecter and click Install.

Step 2: Create API keys in WooCommerce

  1. In WordPress admin, go to WooCommerce > Settings > Advanced > REST API.
  2. Click to add a new key.
  3. Give it a clear description (for example, Odoo connector - production), select a user, and set permissions to Read/Write.
  4. Generate the key and copy the Consumer Key and Consumer Secret. WooCommerce shows the secret only once, so store it somewhere safe.

You can confirm the keys work before touching Odoo. This uses the standard WooCommerce REST API v3 endpoint:

curl -u ck_your_consumer_key:cs_your_consumer_secret \
  https://your-store.example.com/wp-json/wc/v3/system_status

A JSON response means the API is enabled and the keys are valid. A 401 error usually means a wrong key or secret.

Step 3: Configure the WooCommerce instance in Odoo

  1. In Odoo, go to WooCommerce > Instances > Create.
  2. Paste your store URL (use the https:// address).
  3. Paste the Consumer Key and Consumer Secret.
  4. Set the store-level options such as currency, warehouse, pricelist and accounting settings. [CHECK: exact field names on the instance form]
  5. Click Test Connection. Fix any error before moving on.

Repeat this step for each WooCommerce store you want to connect. There is no limit on the number of store instances.

Step 4: Run the initial sync

  1. Open the Sync Wizard. [CHECK: menu path for the Sync Wizard]
  2. Choose the store instance.
  3. Import products first, then stock, then orders. Importing products first lets orders link to existing products by SKU.
  4. Review the imported records in Odoo before going live.

Step 5: Enable webhooks for real-time sync

  1. Make sure your Odoo server is reachable over public HTTPS.
  2. Enable webhooks on the instance. [CHECK: whether the connector registers WooCommerce webhooks automatically or the admin creates them manually, and the webhook URL format]
  3. Place a test order in WooCommerce and confirm it appears in Odoo.

A quick reachability check from outside your network:

curl -I https://your-odoo-domain.example.com/web/login

If this does not return a response from the public internet, WooCommerce cannot deliver webhooks to Odoo either.

Using the main features

Store Insights Dashboard

The dashboard is built into Odoo and styled like a Power BI report. It shows live revenue, average order value, order volumes, order status distribution, customer acquisition, fulfillment rates, top product variations and sync health.

  1. Open the dashboard. [CHECK: menu path for Store Insights Dashboard]
  2. Filter by store instance and date range. [CHECK: available filters]
  3. Watch the sync health section daily. A rise in failed jobs is your early warning that something needs attention.

Note: this is a dashboard inside Odoo. It does not require a Microsoft Power BI licence. [CHECK: confirm there is no Power BI export or connection]

Bi-directional catalog and variation sync

Products are matched by SKU and barcode, so existing items are linked instead of duplicated.

  1. Make sure every product and variation has a unique SKU in both systems before the first sync.
  2. Run a product import from the Sync Wizard, or export products from Odoo to WooCommerce. [CHECK: where to trigger product export from Odoo]
  3. Check that WooCommerce attributes (for example, size and colour) appear as Odoo product attributes, and each variation appears as an Odoo variant with its own SKU.
  4. After the initial match, changes to pricing, images and descriptions sync in both directions. [CHECK: conflict rule when the same field is edited in both systems]

Real-time order and fulfillment tracking

  1. A customer places an order in WooCommerce.
  2. The webhook delivers it to Odoo, where it is created as a sales order.
  3. Your team processes the delivery in Odoo as usual.
  4. When the delivery is done, the shipping status is pushed back to WooCommerce so the customer sees the update.

If webhooks are not enabled, orders arrive through the Sync Wizard or scheduled sync instead. [CHECK: default scheduled sync interval]

Multi-location warehouse inventory

  1. On each store instance, assign the Odoo warehouse that should supply that store.
  2. Stock reserved in Odoo on new orders is reflected back to WooCommerce, in real time or through the scheduled sync.
  3. For example, a UK store can draw only from a UK warehouse while an EU store draws from an EU warehouse, so one location's stock is never sold twice.

Asynchronous job queue

Sync work runs as background jobs, and incoming data lands in a staging feed before processing. This keeps Odoo responsive during flash sales and stops a burst of orders from causing server timeouts. You do not need to do anything for this to work, but you should review failed jobs regularly. [CHECK: menu path for the job queue and staging feed]

Webhook listener (HMAC-SHA256)

Each incoming webhook is checked against a shared secret using HMAC-SHA256 before Odoo accepts it. This covers new orders, cancellations and customer updates. Requests with an invalid signature are rejected, so third parties cannot inject fake orders.

Automated refunds and credit notes

  1. Process the refund (full or per line) in WooCommerce.
  2. The connector creates a credit note in Odoo against the original order.
  3. Items are returned to stock based on your restocking policy. [CHECK: where the restocking policy is configured]
  4. Finance reviews and posts the credit note as normal. [CHECK: whether credit notes are created as draft or posted]

AI error diagnostics with ConnectIQ

The connector is compatible with KalvyAI ConnectIQ, which uses Gemini AI to explain why a sync failed, suggest the root cause, and offer a one-click retry once the issue is fixed. [CHECK: whether ConnectIQ is a separate app or subscription]

  1. Open a failed sync job.
  2. Review the AI diagnosis.
  3. Fix the underlying cause (for example, a missing SKU or a tax mapping).
  4. Use the retry action to reprocess the job.

Tips

  • Clean SKUs first. Duplicate or empty SKUs are the most common reason for duplicate products. Fix them before the first sync.
  • Test on staging. Connect a staging WooCommerce site to an Odoo staging database before going live.
  • One API key per environment. Use separate keys for staging and production so you can revoke one without affecting the other.
  • Import in order: products, then stock, then orders.
  • Monitor sync health on the dashboard after promotions or catalog changes.

Limitations

  • Odoo Online (SaaS) is not supported. Use Odoo.sh or a self-hosted server.
  • Real-time webhooks need a publicly accessible HTTPS address for Odoo. Without it, you rely on manual or scheduled sync.
  • WooCommerce must be version 5.0 or later with the REST API enabled.

FAQ

Can I connect multiple WooCommerce stores to one Odoo database?

Yes. You can connect multiple WooCommerce websites, each with its own currency, warehouse, pricelist and accounting settings. There is no limit on store instances.

How does product variation synchronization work?

WooCommerce attributes, sizes, colours and variation SKUs map to Odoo product template attributes and variants.

Are inventory quantities updated automatically when an order is placed?

Yes. Stock is reserved in Odoo and updated to WooCommerce in real time or via scheduled sync.

Does the connector support refunds and returns?

Yes. When a refund is issued in WooCommerce, Odoo creates a credit note and restocks items based on your policy.

Does it work with Odoo Community?

Yes. It supports Community and Enterprise on Odoo 19.0 and 20.0, hosted on Odoo.sh or on-premise.

How much does it cost?

See the store page for current pricing and licence terms.

How KalvyAI can help

We build and connect Odoo, ERPNext and Shopify systems, and we wrote this connector. If you want help with installation, SKU clean-up before the first sync, multi-warehouse mapping, or adding AI agents that work inside Odoo with approvals, budgets and an audit trail, contact us.

  • User guide
  • Odoo
  • WooCommerce
  • Odoo Connector
  • Multi-Store
  • Inventory Sync
  • User Guide

KalvyAI Engineering · Engineering team

The engineers who build, connect and fix business systems at KalvyAI: Odoo, ERPNext, Shopify and AI agents that work inside them with approvals, budgets and an audit trail.

Comments

No comments yet. Questions and corrections are welcome.

Rate this post or leave a comment

Your rating (optional)
Not rated

Comments appear after an editor approves them. See our privacy notice.