Odoo + WooCommerce documentation
What synchronises
How orders, products, customers, stock, invoices, payments and refunds move between WooCommerce and Odoo, and the rules that keep them safe.
Last updated
Pre-release documentation. For the full record-by-record table, including which items are tested and which are still being completed, see the product page.
Orders
Each WooCommerce order that reaches a status you choose (for example Processing) becomes one Odoo sales order.
- Product lines use the price the customer actually paid. Coupon discounts are already reflected in those prices, so they are shown as a note line and never applied twice.
- Shipping methods and fees become lines using service products you choose.
- After writing the order, the connector reads it back and compares the lines, the total and every tax amount. If anything differs, the order waits for review rather than being confirmed.
- Orders arrive as quotations by default, so you confirm them in Odoo. You can choose automatic confirmation instead.
- Once an order is confirmed, invoiced or delivered, later changes to its lines in WooCommerce are not copied; the order is flagged so you can decide what to do.
You can also choose to copy orders entered in Odoo into WooCommerce. These are created without charging payment, emailing the customer or reducing stock.
Order status
You set simple rules such as “when the Odoo order is fully delivered, mark the WooCommerce order Completed”. Rules can never invoice, take payment, refund or deliver, and an order is only cancelled in Odoo if nothing has been delivered or invoiced.
Products
For each group of details — identifiers, name, descriptions, images, categories, attributes and prices — you choose whether WooCommerce, Odoo or neither is the owner. Only the owner’s values are copied, so the two systems never overwrite each other back and forth. Products are matched by SKU or barcode.
Customers
Customers can be copied in either direction. Each customer can have their own Odoo contact, or all web orders can sit under one shared contact. Guest orders wait for review unless you choose to create a contact for them.
Stock
One system is the stock authority:
- Odoo as authority (most common): the shop shows Odoo’s free quantity, less WooCommerce orders that Odoo has not yet reserved, less any buffer you set. Several shops can share one warehouse without offering more than you have.
- WooCommerce as authority: manual stock changes in your shop are applied to Odoo as inventory adjustments.
Stock is changed safely: the connector only updates the shop’s stock if it is still the number it expects, so an order placed at the same moment is never lost.
Invoices, payments and refunds
All of these are off by default, and nothing financial happens until your finance settings are approved.
- Invoices can be created as drafts or posted, when the order is confirmed, paid or delivered. Posted invoices are never changed by the connector.
- Payments can be registered when the order reaches a status you accept as proof of payment.
- Refunds in WooCommerce can become draft or posted credit notes in Odoo. A refund can never credit more than what remains on the invoice.
- A credit note posted in Odoo can create the matching refund record in WooCommerce. This never moves money through your payment gateway and never restocks.
Ask the product team — and please never include passwords, API keys or customer records.