Integration guide
An Odoo WooCommerce integration connects your WordPress store to Odoo, so store orders, buyers and payments arrive in Odoo by themselves, and Odoo sends products, prices, stock and the completed order status back to WooCommerce. The TeqStars WooCommerce Connector does this through the official WooCommerce REST API, for Odoo 17.0 to 20.0.
Managing your online store and your ERP separately slows operations down and adds manual work. With the TeqStars WooCommerce Odoo integration, your WooCommerce store and Odoo work as one system: orders, customers, products, stock and payments move between them instead of being typed twice.
The connector keeps products, orders, inventory, customers and payments in step, removing the retyping errors and the hours of manual effort that come with them. New orders and product changes arrive by webhook as they happen; stock, prices and order status move on the schedule you set or when you click.
What does an Odoo WooCommerce integration do?
It keeps WooCommerce as your storefront and makes Odoo the place where orders are fulfilled, stock is counted, invoices are posted and payments are recorded. Orders and buyers come into Odoo; products, prices, stock and the completed status go back to the store, each on the trigger that fits it.
WooCommerce handles your online sales, while Odoo manages the operations behind them: accounting, inventory, CRM and invoicing. When both systems work together, you get:
- One place to run the business, with the store as one sales channel in Odoo
- Stock figures in WooCommerce that come from your Odoo warehouse
- Orders that follow a set workflow instead of being keyed in by hand
- Invoices and payments posted in Odoo Accounting from each store order
- Buyers who get the right stock figures and a completed order without delay
Odoo has no built-in WooCommerce connector, so stores connect through an app installed in Odoo. TeqStars builds and supports the TeqStars WooCommerce Connector for growing stores, with a guided setup inside Odoo for Odoo 19 and later.
What does the TeqStars WooCommerce connector sync?
Seven areas, each with its own trigger. In short:
Order synchronization
WooCommerce orders become Odoo sales orders with their shipping, fee, discount and coupon lines. No more manual order entry: a new order arrives by webhook, and the scheduled import picks up the rest.
Products and categories
Import products from WooCommerce to Odoo, export new ones from Odoo with their variants, categories and tags, and manage pricing centrally from an Odoo pricelist.
Inventory
Odoo stock goes to WooCommerce on your schedule, to prevent overselling. Store quantities can also be imported into Odoo as an inventory adjustment.
Customer data
Billing, delivery and company contacts are created in Odoo from each order, and Import Customers brings in your registered store customers.
Payments and invoices
The order's payment gateway and paid status pick a workflow that can create and post the invoice and register the payment, which simplifies the accounting.
Several stores
Manage multiple WooCommerce stores from a single Odoo database, each with its own credentials, warehouse, pricelist and schedules.
Data flows both ways, but not every piece in both directions:
| Data | WooCommerce to Odoo | Odoo to WooCommerce |
|---|---|---|
| Orders | New orders by webhook; status changes, cancellations and completed orders with the scheduled import | Completed status after a full delivery; cancellations and refunds you start in Odoo |
| Products and variants | Simple and variable products, with images, categories, tags and attributes | New products and updates, published or as drafts |
| Stock | Store quantities as an inventory adjustment, when you run the stock import | The quantity your Stock Based On setting produces |
| Prices | Into the store's pricelist, when you ask for it during a product import | From the store's pricelist, skipping zero prices |
| Customers | From orders, or all registered customers | Not sent |
What happens to a WooCommerce order in Odoo?
It becomes an Odoo sales order and follows the workflow you chose for its payment gateway, then its completed status goes back to the store:
The order arrives
A new order triggers the store's webhook, or the scheduled import finds it. The scheduled import takes only the statuses you selected, Processing by default.
Odoo processes it
The order's payment gateway and paid status pick a workflow: confirm the order, create and post the invoice, register the payment.
The store is told
Once the delivery is fully validated, the order is set to Completed in WooCommerce, on the next scheduled run or when you click Update in Marketplace.
The order keeps its shipping, fee, discount and coupon lines, and coupon codes are stored on it. Amounts in another currency are converted to the pricelist currency at the order date's rate. When an order comes back from WooCommerce as completed, Odoo validates its delivery; when it comes back cancelled or refunded before anything shipped, Odoo cancels it.
How do WooCommerce payments reach Odoo accounting?
Through the order. WooCommerce does not send payments on their own; each order carries its payment gateway and whether it was paid, and the connector turns that into Odoo accounting with a workflow you set once per gateway.
Odoo counts an order as paid when it has a transaction ID, or when it is Processing with a paid date and was not paid cash on delivery. You then add one workflow line per payment gateway and financial status (paid, unpaid or any). The workflow decides whether Odoo confirms the order, creates and validates the invoice, and registers the payment in the journal you pick. An order whose gateway and status match no line is skipped and logged, so you can add the line and import it again.
| WooCommerce status | What it means | Typical Odoo workflow |
|---|---|---|
| Processing | Payment received and stock reduced | Confirm, invoice and register the payment |
| On hold | Awaiting payment confirmation, such as a bank transfer | Confirm, and invoice once the money arrives |
| Pending payment | No payment made yet | Usually left out of the import |
| Completed | Fulfilled and complete | Imported with its delivery already done, then invoiced |
Status meanings follow WooCommerce's order status documentation.
What to have ready before you connect WooCommerce to Odoo
- Odoo on Odoo.sh or your own server, since Odoo Online cannot install third-party apps
- A WooCommerce REST API key with Read/Write permission
- Pretty permalinks in WordPress, which the WooCommerce REST API needs
- HTTPS on your Odoo address, if new orders and product changes should arrive by webhook
- An Odoo address WooCommerce can reach, if you export product images
- A unique SKU on every product and variant, in both systems
How to connect WooCommerce to Odoo
Create an API key in WordPress, add the store in Odoo, decide how orders and stock behave, then confirm and start the jobs. The WooCommerce connector user guide covers every field.
-
Create a REST API key in WordPress
WooCommerce › Settings › Advanced › REST API
The key is how Odoo talks to your store through the official WooCommerce REST API, so no WordPress plugin is needed.
- Click Add key, give it a description and choose the user.
- Set Permissions to Read/Write: a read-only key cannot export products, update stock or push order status.
- Click Generate API key and copy the consumer key and consumer secret.
WooCommerce shows the consumer secret only once. If you lose it, revoke the key and create a new one.
-
Add the store in Odoo
Marketplaces › Configuration › Instance
- Create an instance, name it after the store and choose WooCommerce.
- On the Credentials tab, enter the Shop URL with https://, the Consumer Key and the Consumer Secret.
- Click Test Connection.
On Odoo 19 and later, a guided onboarding wizard walks through the same steps.
-
Decide how products, stock and orders behave
These settings shape every sync, so set them before the first import:
- Warehouse and Pricelist: where store stock is counted and which prices the store gets.
- Create Odoo Products?: leave it off when your catalog already lives in Odoo.
- Stock Based On: on hand, forecasted or free to use quantity.
- Order Status: the store statuses to import, Processing by default.
- Tax System: Odoo's product taxes, WooCommerce's taxes, or WooCommerce's taxes remapped by fiscal position.
- Weight Unit and Store Timezone, so weights and dates line up.
-
Add payment workflows and press Confirm
Add a workflow line for each payment gateway and financial status you accept. Then click Confirm: Odoo checks that the key can write, brings in the store currency, the weight unit and the enabled payment gateways, and sets the pricelist to the store currency.
With HTTPS on Odoo, the Webhook tab registers the store's create order, delete order and product create, update and delete events.
-
Import your catalog, then switch on the jobs
Marketplaces › Overview › Operations
Run Import Listings, Import Categories and Import Tags so Odoo knows your store, or export your Odoo products with Export Listings to WooCommerce. Import a few orders by date or number and check them. Then, on the Automatic Jobs tab, set each interval and switch on the jobs you need: they are created switched off.
New store orders appear in Odoo as sales orders, and WooCommerce shows your Odoo stock and marks shipped orders completed.
What does the integration change for your team?
- Less manual data entry, because orders and buyers no longer need typing
- Fewer human errors in addresses, quantities and prices
- Faster order processing, with each order following its workflow
- Better inventory control, with the store showing Odoo's stock
- Better business insight, with sales from every store in the same Odoo reports and a dashboard that compares your stores
- Room to grow: add a store as a new instance in the same database
Whether you are a start-up or an established brand, integrating WooCommerce with Odoo improves how efficiently the work behind the store gets done.
Keep WooCommerce where your customers shop. Run the work behind it in Odoo.
Why are WooCommerce orders not importing into Odoo?
Usually a setting or a switched-off job. Start with the check that matches what you see:
| What you see | Likely cause | What to do |
|---|---|---|
| No orders arrive at all | The Import Order job is still switched off, or the orders are older than Import Order After | Switch the job on in Automatic Jobs, or import by date or order number |
| Some orders never arrive | Their store status is not in the Order Status filter | Add the status, such as On hold, and import again |
| An order is skipped with a log line | No workflow line matches its payment gateway and financial status | Add the workflow line from the log, then retry the queue line |
| New orders only arrive on the schedule | Webhooks need HTTPS on Odoo, and WooCommerce disables a webhook after repeated failed deliveries | Check the webhook's status under WooCommerce › Settings › Advanced › Webhooks and reactivate it |
| Products stay unlinked | The SKU is missing or different in Odoo | Give the Odoo product the same internal reference, or enable Create Odoo Products? |
| Permission or 401 errors | The key is read-only or was revoked | Create a Read/Write key, paste it in and click Test Connection |
| Nothing reaches the store from a test copy | A neutralized database turns Go Live? off | Turn it on only in the database that should talk to the live store |
Webhook behavior follows WooCommerce's webhook documentation.
When is the WooCommerce connector a good fit?
A good fit when
- Your team retypes WooCommerce orders or stock figures in Odoo
- Odoo already runs your inventory, invoicing or accounting
- You run more than one WooCommerce store
- You want to publish products and prices from Odoo
Look at it again when
- Your database runs on Odoo Online, which cannot install apps
- Your catalog relies on grouped products, which are not imported
- Your products lack SKUs and cannot be given one
Why choose TeqStars for WooCommerce Odoo integration?
TeqStars Technologies specializes in Odoo integrations and marketplace automation, and builds and supports the connector itself. The integration is:
- Easy to configure, with a guided setup inside Odoo
- A secure, API-based connection through the official WooCommerce REST API
- Supported by the team that writes it, with 60 days of support included
- Customizable to how your business works, through our Odoo development team
We also provide demo environments, technical support and customization services. The connector is rated 5 out of 5 on the Odoo Apps Store in October 2026.
Frequently asked questions
Does WooCommerce integrate with Odoo?
Yes, through an app installed in Odoo. Odoo has no built-in WooCommerce connector, so stores connect with an app such as the TeqStars WooCommerce Connector, which imports orders, buyers and products and sends products, prices, stock and order status back. It runs on Odoo 17.0 to 20.0, on Odoo.sh or your own server.
Can WooCommerce payment gateways reach Odoo without a connector?
Not with standard Odoo. Odoo does not read WooCommerce orders or their payment gateways on its own, so without a connector you would build that link on the WooCommerce REST API yourself. The TeqStars connector reads each order's gateway and paid status and runs the workflow you chose, which can post the invoice and register the payment in the journal you pick.
Which WooCommerce order statuses count as paid in Odoo?
An order counts as paid when it has a transaction ID, or when it is Processing with a paid date and was not paid cash on delivery. That paid or unpaid status, together with the payment gateway, decides which Odoo workflow runs. The scheduled import takes only Processing orders by default; add On hold or Completed if you want those in Odoo too.
Is the WooCommerce to Odoo sync real time?
Partly. New orders and product changes reach Odoo by webhook as they happen, once Odoo runs on HTTPS. Order status changes, stock, prices and completed orders move with scheduled jobs whose intervals you set, or when you run them by hand. Space the jobs apart so the server does not run them all at once.
Do I need a WordPress plugin to connect WooCommerce to Odoo?
No. The connector uses the official WooCommerce REST API (v3), so all the store needs is a Read/Write API key created under WooCommerce, Settings, Advanced, REST API, and pretty permalinks, which the REST API requires. Everything else is installed and configured in Odoo.
Does stock sync both ways between WooCommerce and Odoo?
Yes, as two separate jobs. The export sends the quantity your Stock Based On setting produces for products with Manage Stock? enabled, and only for products whose stock moved since the last export. The import writes WooCommerce quantities into Odoo as an inventory adjustment, which replaces the Odoo figure, so import once when you connect the store and export from then on.
Can Odoo send tracking numbers to WooCommerce?
Odoo marks the order Completed once its delivery is fully validated. WooCommerce's own order fulfillment and tracking feature is still in beta, so tracking details travel as order fields you map under Custom Fields Mapping, for the tracking plugin your store uses to read and show them.
Can I use the WooCommerce connector on Odoo Online?
No. Odoo Online does not allow third-party apps, so the connector cannot be installed there. It runs on Odoo.sh and on your own server, with Odoo Community or Enterprise. If you are on Odoo Online today, moving to Odoo.sh is the step to settle first.
Selling on marketplaces as well as your own store?
WooCommerce is your own storefront, but many sellers run marketplace channels alongside it. If you also sell on a Mirakl-powered marketplace, Carrefour, Decathlon or Best Buy Canada among them, you can run those from the same Odoo database. See our guide to Odoo Mirakl integration, which covers any Mirakl-powered marketplace.