Most integrations do not fail loudly. They drift — a tax rounding here, an unmatched SKU there — until month end turns into an investigation.
Matching on product title works until someone edits a title. Matching on SKU works until two products share one. The durable approach is to store the Odoo id against the WooCommerce product the first time they are linked, and treat SKU as a fallback only.
If your connector re-matches by name on every run, expect duplicates the first time marketing rewrites a product title.
WooCommerce applies tax at checkout. If Odoo recalculates from its own rules, the totals land a few cents apart, and every synced order needs a manual correction.
Map each WooCommerce tax rate to a specific Odoo tax so the posted amount matches what the customer actually paid.
Publishing the total of every Odoo location oversells, because some of that stock is in transit or reserved for wholesale. Publishing one location strands inventory.
Decide explicitly which locations back the number on the storefront, and re-check it whenever a warehouse is added.
The dangerous failure is the silent one: an order that errored, was never retried, and is not in anyone's report. A connector that only shows a success count is hiding exactly the thing you need.
Insist on per-record job history with the error the ERP returned, and a way to re-run the affected records.
Bidirectional sync on everything sounds like a feature and behaves like a hazard. A storefront edit overwrites the warehouse count; an ERP import overwrites merchandising copy.
Set direction per resource. Most stores want inventory Odoo → Woo only, and catalogue in whichever system their team actually authors in.
Connect a store, map your fields, and watch the first orders land in Odoo.
Get started free