| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) • Inventory (stock) • Invoicing (account) • Purchase (purchase) • Sales (sale_management) |
| Community Apps Dependencies | Show |
| Lines of code | 11077 |
| Technical Name |
woo_commerce_cx_at |
| License | OPL-1 |
| Website | https://www.arure.tech |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) • Inventory (stock) • Invoicing (account) • Purchase (purchase) • Sales (sale_management) |
| Community Apps Dependencies | Show |
| Lines of code | 11077 |
| Technical Name |
woo_commerce_cx_at |
| License | OPL-1 |
| Website | https://www.arure.tech |
WooCommerce Connector for Odoo 19
Two-way real-time sync between WooCommerce and Odoo 19, with HMAC-SHA256 signed webhooks, no-code field mapping, and zero queue_job dependency. Verified end-to-end against a live WooCommerce store before publication.
Why this connector exists
WooCommerce + Odoo is the most common e-commerce stack in the SME market. If you're running both, you're either copying orders by hand, running stale hourly exports, or relying on a 17.x or 18.x port that quietly breaks on Odoo 19's RelaxNG-strict views and replaced ORM APIs.
This module is for the third case. It is written native for Odoo 19 from line one — <chatter/>, models.Constraint, @api.model_create_multi, Python-expression invisible="…" modifiers — and it ships verified against a live store, not a demo dataset.
At a glance
|
Sync
Bidirectional
Products, orders, customers, stock — both directions, with retries
|
Real-time
Signed webhooks
HMAC-SHA256 verified incoming POSTs for every store event
|
Lightweight
Zero queue deps
No queue_job, no Redis, no external Python deps to upgrade
|
Built for the people who actually run Odoo
Real businesses don't have vanilla data: SKU schemes drift, custom attributes accumulate, finance ops add their own meta fields. Most off-the-shelf connectors break the moment your schema diverges.
This module is built around configurability without code: every WooCommerce meta key is mappable to any Odoo field through a UI form, in either direction, without re-deploying. Add a new attribute on Monday, map it on Tuesday, sync it on Wednesday.
Switch to the Features tab for the full breakdown, or Screenshots for visual proof.
What you get on day one
Every feature listed here is verified working against a live WooCommerce store. No vapourware, no roadmap claims.
|
01
Two-way real-time sync
Products, orders, customers, stock — bidirectional. Imports run on a 15-minute cron by default; exports run on save. WooCommerce-side changes arrive via HMAC-signed webhooks within seconds, not minutes.
|
02
5-step onboarding wizard
Step 2 runs a real connection test against your store. The wizard refuses to advance unless your WooCommerce REST credentials authenticate. No fly-blind installs. Errors surface inline with the exact HTTP response.
|
|
03
No queue_job dependency
Runs on the free Connector Common companion module, which provides its own background job processor with exponential-backoff retries. One less moving part to upgrade across major Odoo versions. No external Python deps. No Redis.
|
04
No-code field mapping
Map any WooCommerce meta key (
_yoast_wpseo_title, attribute_pa_color, anything custom) to any Odoo field, in either direction. Click-and-save. No XML, no Python, no module reload. |
|
05
Smart Insights
Rule-based 0–100 performance score on configurable date ranges, with ranked recommendations, opportunity flags, and risk flags. Pure Odoo ORM. No external services, no LLM calls, no data leaves your instance.
|
06
Multi-warehouse stock aggregation
Configure one or more warehouses on the instance form. When the connector pushes inventory to WooCommerce, stock is the sum of free quantity across all configured warehouses. Leave empty to use only the default warehouse.
|
|
07
CRM lead automation
Toggle on the instance form: every imported WooCommerce order auto-creates a
crm.lead with the customer, total, and source. Skipped silently when the CRM module isn't installed. |
08
Tracking number push
Validate a
stock.picking with a carrier and tracking reference; the connector posts the number back to the matching WooCommerce order automatically. Customers see fulfilment status update in their order page. |
|
09
PDF reports
Three built-in reports: sync status, sync funnel, error summary. QWeb-driven, exportable to email. Filterable by instance and date range.
|
10
Role-based access
Three groups out of the box: Manager, User, Read-only. Designed for teams larger than one. Record-rules tighten visibility per instance for multi-store deployments.
|
Smart Insights, in detail
Set a date range, click Generate. The score combines five weighted factors and writes ranked recommendations, opportunities, and risk flags to the analysis record:
| Factor | Weight | Source |
|---|---|---|
| Sales volume | 25% | sale.order count + value |
| Customers | 20% | unique res.partner with sales |
| Products | 15% | distinct SKUs sold |
| Revenue | 20% | total amount_total |
| Conversion | 20% | orders / customer count |
All scoring rules are inspectable in models/woo_analytics.py. No black-box scoring.
See it running
Real screenshots from the test instance after a full sync against a live WooCommerce store. No mocked data.
Instance dashboard
Each WooCommerce store gets one instance. Connection status, last sync time, counters for products / orders / customers, and one-click "Sync All" are right on the form.
5-step onboarding wizard
Connection-failure gating means you cannot finish the wizard with broken credentials.
Smart Insights — analytics that recommend
Date range + click Generate. Score, recommendations, opportunities and risk flags are written to the analysis record.
Orders, kanban + graph
All synced WooCommerce orders land as native sale.order records — usable in every Odoo report you already have.
Background jobs & sync logs
Every API call, every job, every error is logged structurally. Failed jobs auto-retry with exponential backoff.
Webhook receiver
Two routes: by webhook id and by instance + topic. HMAC-SHA256 verified on every POST.
Field mapping
Pick entity, type WooCommerce meta key, pick Odoo target field, pick direction. Save.
Why "no queue_job" matters
queue_job is the de-facto OCA queue for Odoo connectors. On Odoo 19 it currently means: external Python dependencies, a Redis or PostgreSQL listener, a separate worker process per CPU core, and a known-pending series of upstream RelaxNG fixes. Many small Odoo deployments don't want that operational surface area — and they shouldn't have to.
The free Connector Common companion module ships an equivalent: structured background queue, retry with exponential backoff, audit log, role-based access — built using only Odoo's own ir.cron and ir.actions.server primitives. It installs in under a minute, has nothing to upgrade separately, and is shared across the rest of our connector portfolio (FedEx, BigQuery, Klaviyo).
Less to install. Less to maintain. Same async semantics.
Technical requirements
| Odoo | 19.0 — Community or Enterprise. Tested on .sh and on-premise. Not available on Odoo Online (SaaS) per Odoo's third-party-app policy. |
| PostgreSQL | 12 or later. No extensions required. |
| WooCommerce | 5.0 or later, with REST API enabled and a Read/Write key created. |
| Companion | The free Connector Common module (connector_common_at), also published by Arure Technologies. Install it first. |
| External services | None. No Redis. No Celery. No third-party SaaS. No telemetry. |
Install in five minutes
- Install Connector Common first (free, search the App Store).
- Install WooCommerce Connector.
- In WooCommerce admin: Settings → Advanced → REST API → Add Key. Set permissions to Read/Write; copy the Consumer Key + Secret.
- In Odoo: open the new WooCommerce top-bar menu, click Get started.
- Paste your store URL + credentials. The wizard runs a real connection test on step 2.
Full step-by-step instructions, screenshots, and troubleshooting are in the bundled README.md.
Risk-free trial: up to 90 days
Odoo's standard policy gives you a 60-day refund window with a 15-day vendor SLA to fix or refund. We extend that with our own 30-day no-questions-asked satisfaction guarantee on top.
Total: up to 90 days in which you can claim a full refund. Issue claims are acknowledged within 1 business day; fix-or-refund within 15 days.
See the bundled REFUND_POLICY.md for the full text and severity definitions.
Support channels
| Channel | For | Response SLA |
|---|---|---|
| support@arure.tech | Bug reports, refund requests, anything that needs an audit trail. | 1 business day |
| WhatsApp +1 858 463 4405 | Quick configuration questions, "is this expected" sanity checks, status updates. | Same business day, Mon–Fri 09–19 IST |
| Odoo App Store claims | Formal claims and refunds under Odoo's published policy. | Per Odoo 15-day SLA |
Both email and WhatsApp feed the same support queue. There is no phone hotline, no live chat overlay, and no 24/7 ops. Severity definitions and response times for S1–S4 are in the bundled SUPPORT.md.
Maintenance commitment
This module receives bug fixes and security patches:
- Until 12 months after Odoo 21 ships (currently estimated at September 2027 at earliest), or
- 18 months after the last paid purchase of v19, whichever is later.
If we discontinue maintenance, the announcement will appear in CHANGELOG.md and the module description at least 90 days in advance.
What’s included in the price
- Per-database license, source delivered with the App Store package.
- Email support for installation, configuration, and bug reports for the lifetime of v19.
- Patches for any defect that meets the bug definition in
REFUND_POLICY.md §4. - All minor version updates within v19.0.x.y.
- Bundled documentation:
README.md,SUPPORT.md,REFUND_POLICY.md,CHANGELOG.md,SANDBOX_SMOKE_TEST.md,TECHNICAL_GUIDE.md.
Frequently asked
SANDBOX_SMOKE_TEST.md walks through it. Email support before you start and we'll review your import plan.--update=woo_commerce_cx_at. Patch releases never break data; major version updates ship in a separate v20 SKU when Odoo 20 lands.woo.instance per store. Each instance has its own credentials, default warehouse, sync cron, and webhook secret. Record-rules tighten visibility per instance for multi-tenant access.v3 by default and will not auto-upgrade across major API versions.License
Odoo Proprietary License (OPL-1). Per-database license. Source code is delivered as part of the App Store package; it is not redistributable. Each customer receives one license per database. Multi-database deployments require one purchase per database.
Trademarks
WooCommerce is a registered trademark of Automattic Inc. WordPress is a registered trademark of the WordPress Foundation. Odoo is a registered trademark of Odoo S.A. This module is an independent integration developed by Arure Technologies and is not affiliated with, endorsed by, or sponsored by Automattic Inc., the WordPress Foundation, or Odoo S.A.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module