Odoo Integration for WooCommerce

Plugin Banner

Odoo Integration for WooCommerce

by Niraj Gupta

Download
Description

Stop copying orders into Odoo by hand. Every order your customers place is typed, checked, and re-typed — or it just flows into Odoo on its own, seconds after checkout, with the customer, the products, the invoice, and the payment already in place. This plugin makes it the second one.

Odoo Integration for WooCommerce connects your store to your Odoo ERP through the OdooConnector cloud service. Set it up once, and your WooCommerce checkout becomes a direct feed into Odoo’s sales, invoicing, and accounting — no CSV exports, no double data entry, no missed orders at month-end.

Compatible with Odoo 16, 17, 18, and 19+ · classic and block (Gutenberg) checkout · WooCommerce HPOS · works with your existing Odoo products via SKU matching.

⚡ Sync WooCommerce orders to Odoo automatically

  • Export on checkout — the order is in Odoo before your customer sees the thank-you page, and you choose exactly which statuses qualify (Processing for paid orders, On hold for bank transfer / COD…)
  • Export on status change and one-click manual export, for full control
  • Your numbering, your rules — keep WooCommerce order numbers in Odoo (with optional prefix/suffix), create orders as quotations or confirmed sales orders, assign a default warehouse and sales team
  • Discounts, coupons, and shipping land on Odoo order lines the way your accountant expects
  • Flexible customer handling: real customer records, guest orders, or map everything to a single Odoo customer

💳 Odoo invoices and payments, created automatically

  • Odoo invoices created automatically at the order statuses you choose
  • Payments registered and invoices marked paid — with per-payment-gateway journal mapping, so Stripe money and COD money land in the right books
  • Refund in WooCommerce credit note in Odoo. Done.

🔄 Import Odoo sales orders into WooCommerce

  • Import Odoo sales orders into WooCommerce, scheduled or on demand
  • Imported orders arrive as WooCommerce guests — no surprise user accounts on your store

🛡 Built for stores that can’t afford sync surprises

  • Background queue with automatic retries — a slow Odoo server never blocks your checkout
  • Secure, authenticated webhook callbacks for every sync result
  • Human-readable logs: plain-language messages (“Odoo returned a temporary error — retrying automatically”), with the technical details one click away when you want them
  • Dashboard with sync statistics and order history at a glance
  • Live-chat support built into the settings pages — real help, also on the free plan

Every feature listed above is fully functional in this plugin — there is no license unlock, trialware gate, or disabled code path.

🚀 Ready in minutes

  1. Install and activate the plugin
  2. Enter your Odoo URL and credentials, click Test Connection
  3. Place a test order — watch it appear in Odoo

🧩 Product, customer and inventory sync built in

Product and customer sync are part of this plugin (no add-on needed):

  • Product sync in both directions — variations, attributes, categories, and images
  • Customer export to Odoo, including real-time export the moment an account changes
  • Inventory and price sync, scheduled or on demand, per warehouse (paid service plans)

The free OdooConnector service plan includes 10 orders, 10 products, and 10 customers synced per month; a paid plan removes the limits — and you can try it with a 14-day free trial (cancel anytime, first charge only after the trial). The Features tab shows a plain, honest comparison. All features are fully functional in the plugin itself — allowances are enforced by the service, never by disabled code.

Trademark notice

“Odoo” is a trademark of Odoo S.A. “WooCommerce” is a trademark of Automattic Inc. This plugin is an independent integration developed by ERP7 Solutions and is not affiliated with, endorsed by, or sponsored by Odoo S.A., Automattic Inc., or WooCommerce.

Requirements

  • WooCommerce 7.0 or higher
  • An Odoo instance (URL, database, username, password)
  • Network access to the OdooConnector service (see “External services” below)

External services

This plugin relies on OdooConnector (https://odooconnector.cloud), a cloud middleware service operated by the plugin author, to perform synchronization between WooCommerce and Odoo. The plugin does not sync to Odoo without it.

What the service does: it receives sync requests from your store, connects to your Odoo instance on your behalf, and executes the operations you request.

Free plan scope: without a paid OdooConnector plan, the service processes up to 10 order syncs, 10 product syncs, and 10 customer syncs per calendar month (each counted separately; invoice and payment handling is included with each order), and may reject further requests with a quota error until the next month. Paid service plans remove these limits and enable inventory/stock sync. This plugin does not disable its own sync functions when a service limit is reached.

Subscription billing for the service is processed by Stripe.

What the service needs from your store — and why:

The service only receives what is necessary to run the synchronization you set up. Everything travels over an encrypted (HTTPS) connection and is used solely to provide the service, as described in the privacy policy below.

  • Your site URL — identifies your store to the service and checks your plan status. This is the only thing sent before you configure anything.
  • Your Odoo connection details (Odoo URL, database name, username, password) — this is how the service connects to your Odoo on your behalf to perform syncs. Sent and stored only after you enter them and save/test the connection.
  • A webhook secret — a random key generated by your store that protects you: it ensures only genuine sync results from the service are accepted by your site.
  • Your WordPress admin email — only if you subscribe to a paid plan, and only for billing receipts and service notifications.
  • The order data you choose to sync (orders and their customer details) — this is the plugin doing its job; nothing is sent until you connect and start syncing.

In short: no data leaves your store until you act — activating sends only your site URL, and everything else follows from steps you take yourself (saving the connection, subscribing, syncing). By taking those steps you consent to the corresponding data being processed by the OdooConnector service.

  • Service website: https://odooconnector.cloud
  • Terms of Use: https://odooconnector.cloud/terms
  • Privacy policy: https://odooconnector.cloud/privacy

Live support chat: available on the plugin’s own settings pages, powered by Zoho SalesIQ (privacy policy: https://www.zoho.com/privacy.html).

  1. Upload the plugin folder to /wp-content/plugins/erp7-solutions-sync-for-odoo-and-woocommerce/ (or install via WordPress admin)
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Navigate to WooCommerce ERP7 Sync and enter your Odoo URL, database, username, and password, then test the connection
  4. Configure sync preferences and save
  5. Optionally subscribe to the OdooConnector service from the Features tab for unlimited middleware order sync
  1. Dashboard — sync statistics and recent WooCommerce → Odoo order syncs at a glance

    Dashboard — sync statistics and recent WooCommerce → Odoo order syncs at a glance

  2. Order sync settings — export orders to Odoo on checkout, with invoice creation and per-gateway payment journal mapping

    Order sync settings — export orders to Odoo on checkout, with invoice creation and per-gateway payment journal mapping

  3. Product sync — import your Odoo catalog into WooCommerce or export products to Odoo, with live progress

    Product sync — import your Odoo catalog into WooCommerce or export products to Odoo, with live progress

  4. Plans — an active Pro subscription with unlimited order, product, customer and inventory sync, billing dates, and one-click cancellation

    Plans — an active Pro subscription with unlimited order, product, customer and inventory sync, billing dates, and one-click cancellation

  5. Sync logs — human-readable log entries with filters, so you always know what synced and why

    Sync logs — human-readable log entries with filters, so you always know what synced and why

  6. WooCommerce order screen — the Odoo sale order and invoice linked directly from the order

    WooCommerce order screen — the Odoo sale order and invoice linked directly from the order

Is this plugin free? Does it require a paid service?

The plugin is free and every feature in it is fully functional. Synchronization runs through the OdooConnector cloud service, whose free plan includes 10 order, 10 product, and 10 customer syncs per calendar month — enough to run a small store or evaluate everything. Paid service plans remove the limits and add inventory/price sync, and come with a 14-day free trial.

How do I sync WooCommerce orders to Odoo?

Install the plugin, enter your Odoo URL and credentials, and enable “Export on checkout”. From then on every order is created in Odoo automatically — customer, order lines, invoice, and payment included. You can also export on specific status changes or with one click from the Orders tab.

Can I import products from Odoo to WooCommerce?

Yes. Product sync works in both directions: import your Odoo catalog into WooCommerce (variations, attributes, categories, and images included) or export WooCommerce products to Odoo, manually or on a schedule.

Are any features locked behind a paid upgrade in the plugin?

No — everything is built into this one plugin, with no license check, feature gate, or add-on to install. Here is what each plan of the OdooConnector service provides:

Free:

  • Order export to Odoo — automatic on checkout, on status change, and manual
  • Order import from Odoo, invoice creation, payment registration, and refund sync (credit notes)
  • Product import and export, customer export
  • 10 orders, 10 products, and 10 customers synced per month
  • Dashboard, sync logs, and live-chat support

Paid:

  • Everything in Free, with unlimited syncs
  • Inventory and price sync (scheduled and on-demand, per warehouse)
  • Scheduled automation with background processing
  • Priority email support
  • 14-day free trial — cancel anytime

The Plans tab in the plugin shows the full comparison.

Does it work with Odoo Online (odoo.com) and Odoo.sh?

Yes. Any Odoo instance the OdooConnector service can reach over the internet works: Odoo Online (odoo.com), Odoo.sh, and self-hosted Odoo Community or Enterprise.

Which Odoo versions are supported?

Odoo 16 and later are supported. For Odoo 16–18 the service communicates with your Odoo instance over XML-RPC; for Odoo 19 and later it uses Odoo’s modern JSON-2 API. Your Odoo version is detected automatically when you connect — there is nothing to select or configure, and the detected version is shown in the API Connection bar.

How do I create an Odoo API key?

In Odoo, open Preferences Account Security New API Key, copy the generated key, and paste it into the Password / API Key field on the API Settings tab. The key is shown only once. An API key is required on Odoo 19 and later; on Odoo 16–18 your account password also works. Full step-by-step guide, including where to find your server URL, database name and username: https://odooconnector.cloud/docs/odoo-api-credentials

Is HPOS supported?

Yes, this plugin is fully compatible with WooCommerce High-Performance Order Storage (HPOS).

Top-notch Odoo Connector

By seanholyfields on August 19, 2026

Easily one of the best connector plugins on the market. It covers all the features required for a solid integration and functions flawlessly. Special thanks to the support team, who went above and beyond to help me configure everything quickly. Highly recommended!

Simple Setup, Powerful Automation

By davidgalletly on August 12, 2026

We run a mid-sized WooCommerce store and use Odoo 19 for inventory and accounting. Before installing this, our team spent the first hour of every workday manually copying order details and matching Stripe/PayPal transactions to our Odoo bank journals.
Setup took about 15 minutes with our API credentials. Orders now push straight into Odoo Sales within seconds of checkout, customer records are created cleanly without duplicates, and invoices match up with the right payment journals automatically. The dashboard inside WP is refreshingly clean and simple.

Excellent support and feature rich

By chsssolutions on July 31, 2026

So far, the support provided by the team has been absolutely excellent. They went above and beyond to help me properly configure the plugin and smoothly set up all of our integration flows. Aside from the stellar service, the plugin itself is fantastic—it comes packed with almost all the essential features required for a seamless Odoo-WordPress integration. Highly recommended!

2.2.5

  • Added – Odoo’s eCommerce description and product media can now be imported into WooCommerce; both are opt-in on the Product Sync tab and require the eCommerce (Website Sale) module in Odoo. The media becomes the WooCommerce product gallery, in Odoo’s own order, and the featured image is unchanged
  • Added – Sales team is chosen from the teams that exist in Odoo instead of typing the name by hand
  • Added – A progress row for the media import, so a large catalogue shows what is still to come
  • Fixed – Top-level WooCommerce categories were filed under whichever Odoo category happened to be read first (often “Deliveries”) rather than being created as top-level categories in Odoo
  • Fixed – Nested WooCommerce categories exported flat, because each category was created before its parent existed
  • Fixed – A category left in the wrong place stayed there on re-export, and a duplicate was created alongside it; the existing category is now moved to the correct parent
  • Fixed – Images taken from Odoo were always saved with a .jpg name even when the file was WebP or PNG, which broke image optimisers, CDNs and WordPress’s own file checks
  • Changed – Product categories and the featured image are exported on their own queue after the product itself, so image uploads no longer hold up a catalogue export
  • Improved – The media import checks a whole batch of products in one request instead of two requests per product, so catalogues where few products have media finish in seconds rather than minutes

2.2.4

  • Fixed – Variations of a variable product all took the parent’s price in Odoo, so only the cheapest variation was priced correctly; each variation now carries its own price
  • Fixed – Product import returned no usable data, so inventory runs reported every product as failed and updated nothing
  • Fixed – Importing overwrote variation prices in WooCommerce even with Price Sync switched off; the setting is now respected for variations as it always was for simple products
  • Fixed – Products mapped to Odoo by variant reference could not be imported at all
  • Fixed – A temporary network or Odoo error during import was reported as “not a valid product ID”, so the product was dropped instead of retried
  • Fixed – Progress showed 0% for an entire run, or opened at 100% with the previous run’s result, when a new sync was started
  • Added – Product export now writes a per-product line to the Logs tab, as product import already did, including the Odoo record each product landed in
  • Changed – Product export and inventory sync ask Odoo for variant data in batches, roughly halving the number of requests a catalogue sync makes

2.2.3

  • Fixed – Variations exported to Odoo stored the wrong Odoo variant reference, which could send stock and price updates to the wrong Odoo record; affected variations are cleared on update and re-linked on the next sync

2.2.2

  • Added – Live progress, a per-item log and a Stop button on the Products, Orders and Customers tabs — including syncs started on a schedule
  • Added – Readable sync log (“Order import SUCCESS: Odoo sale order 466 to WooCommerce #16241”) without turning on debug logging
  • Added – Refresh button on the Logs tab
  • Added – Setup checklist on the dashboard collapses once every sync area is switched on
  • Fixed – Fatal error (“Call to private method”) that could take the site down while sync work was being queued
  • Fixed – Progress and the Stop button disappearing part-way through a sync that was still running
  • Fixed – Progress totals counted earlier runs as well as the current one
  • Fixed – Odoo product names could be rendered as HTML in the sync log (security fix)
  • Changed – “Select Fiscal Position” is hidden unless fiscal positions are enabled
  • Changed – Settings screens, including the order status mapping table, now work on phones and small windows
  • Changed – Repeated internal warnings are summarised instead of filling the log

2.2.1

  • Fixed – Odoo 19 and newer no longer ask for a username; those versions sign in with the API key alone, and the field is marked “Not required”
  • Fixed – Saving connection details now tests them, so a wrong database or password is reported straight away instead of the plugin still showing “Connected”
  • Fixed – Connection errors now appear in the Odoo Connection form itself, next to the field that needs correcting
  • Added – A wrong database name is now matched against your Odoo address, and the suggested name can be applied in one click
  • Added – Dashboard setup checklist showing which of product, order and customer sync are switched on, with a link to each; it collapses once all three are on
  • Added – Support email and call-booking links in the API settings card
  • Changed – Saving your connection now takes you to the configuration page, and saving configuration takes you to the dashboard
  • Changed – Product, order and customer setup tabs move to the end once your store is connected
  • Fixed – Queued work now retries on the correct schedule on stores not set to UTC; some stores retried immediately and others waited hours
  • Fixed – Large imports and exports now drain many times faster; queued items were only being processed once a minute regardless of backlog
  • Fixed – Rate-limited Odoo instances now back off and resume instead of failing repeatedly
  • Fixed – Server version now shows “-” when it is unknown, instead of incorrectly reporting 14.0

2.2.0

  • Added – Product, customer, inventory and real-time sync are now built into this plugin (the separate Pro add-on is retired and no longer needed)
  • Added – Free service plan now includes 10 orders, 10 products and 10 customers synced per month; paid plans remove the limits
  • Added – Usage banner on the plugin settings pages showing your remaining free allowance
  • Added – Running imports and exports now show a progress card on every admin screen, with a Stop button for each sync
  • Fixed – Stopping a sync no longer pauses other syncs that are still running
  • Fixed – Stopping a real-time product import now cancels its queued items instead of leaving them to run
  • Fixed – Customer export can now be stopped while it is running
  • Fixed – Product export and queue-clearing code paths that previously required the add-on

2.1.4

  • Added – Dashboard now lists recent order syncs (successes and failures) with links to the WooCommerce order and the Odoo sale order
  • Added – Odoo order and invoice IDs on the order screen link directly to the record in Odoo
  • Added – Odoo server version is detected automatically — the manual version selection was removed
  • Improved – Configuration refresh buttons fetch fresh data from Odoo instead of the stored cache
  • Improved – Order export and import write clear success entries and per-run summaries to the logs
  • Improved – Scheduled order export settings with per-run result totals
  • Fixed – Subscription state display when the service ends a subscription

2.1.3

  • Fixed – Various bug fixes and stability improvements
  • Improved – Settings, logs, and subscription user interface

2.1.2

  • Changed – Pro download and Support links now point at the service domain (wp.odooconnector.cloud)

2.1.1

  • Changed – Plugin scope clarified: this plugin focuses on complete order sync (export, import, invoices, payments, refunds); product/customer/inventory sync moved to the separate Pro add-on
  • Fixed – Order export on checkout: sync classes now load on front-end requests, so checkout hooks (classic and block checkout) fire reliably
  • Fixed – Queue cleanup failed on strict-mode MySQL (invalid DATETIME comparison)
  • Fixed – Order import progress counts included deferred webhook rows, so totals no longer fluctuate
  • Fixed – Invoice ID extraction handles all Odoo response shapes; refunds fall back to an amount-only credit note line when products are unmapped
  • Improved – Settings screens reorganized into cards; dashboard icon alignment; stale progress panels auto-hide
  • Improved – Subscription state reconciles from the service (stale local subscriptions are purged)

1.0.0

  • Initial public release as ERP7 Solutions Sync for Odoo and WooCommerce
  • Order sync through OdooConnector
  • WordPress.org compliance: no trialware or plugin-side feature locks
  • Mandatory webhook secret (hash_equals); guest orders on import
  • Text domain aligned to plugin slug erp7-solutions-sync-for-odoo-and-woocommerce
  • Dashboard, logging, HPOS-compatible order handling
Back to top