Synchronisation bidirectionnelle complète entre votre boutique WooCommerce et Odoo 19.0. Commandes, clients, produits (y compris les produits variables), stock, catégories, poids, dimensions — tout est géré automatiquement.
Chaque commande WooCommerce crée ou met à jour une commande de vente Odoo en temps réel via un webhook. Les changements de statut sont gérés automatiquement.
La facture est créée, validée et envoyée par e-mail au client automatiquement en fonction du statut WooCommerce ( processing, completed).
Les contacts sont créés ou mis à jour à chaque commande par correspondance d'adresse e-mail. L'adresse de livraison est importée comme contact secondaire.
Vous souhaitez mettre à jour un produit dans Odoo ? Les modifications sont automatiquement répercutées sur WooCommerce (nom, prix, description courte, SKU, statut, poids, dimensions, catégorie).
Les produits variables WooCommerce (tailles, couleurs…) sont entièrement pris en charge dans les deux sens. Chaque variante Odoo est liée à sa variante WooCommerce par un identifiant.
Les stocks sont synchronisés automatiquement lors de la validation de chaque commande de livraison, avec une gestion par variante pour les produits variables.
Les stocks sont synchronisés automatiquement lors de la validation de chaque commande de livraison, avec une gestion par variante pour les produits variables.
Le poids (kg), la longueur, la largeur et la hauteur (cm) sont synchronisés dans les deux sens entre Odoo et WooCommerce.
L'image principale de chaque produit WooCommerce est téléchargée et stockée dans Odoo lors de l'importation. Téléchargement sécurisé avec validation du domaine et limite de 8 Mo.
Menu Ventes > WooCommerce > Configuration > Paramètres WooCommerce
| Champ | Description |
|---|---|
| URL de la boutique | https://mystore.com(sans barre oblique finale) |
| Clé du consommateur | Clé API WooCommerce ( ck_...) |
| Secret du consommateur | Secret de l’API WooCommerce ( cs_...) |
| Secret du webhook | Doit correspondre à la clé secrète définie dans chaque webhook WooCommerce (validation HMAC-SHA256) |
WooCommerce > Réglages > Avancé > Webhooks — créez 3 webhooks avec la même URL et le même secret :
| Sujet | URL de livraison |
|---|---|
order.created |
https://your-odoo.com/woocommerce/webhook |
order.updated |
https://your-odoo.com/woocommerce/webhook |
order.deleted |
https://your-odoo.com/woocommerce/webhook |
/products/{id}/variations/{variation_id}.status=draftdans WooCommerce (le produit disparaît de la boutique). La désarchivage rétablit son publishstatut. Cette fonctionnalité est opérationnelle même si la synchronisation automatique est désactivée.WooCommerce(Paiement en ligne : Stripe, PayPal…)order.created/ order.updatedsale.orderOdooaction_confirm()account.move(Facture)action_post()+ Modèle d’e-mailWooCommerce gère les paiements. Odoo est la source de référence pour les factures officielles, la TVA et la comptabilité.
| JSON WooCommerce | Odoo Field | Modèle |
|---|---|---|
id |
woo_order_id |
vente.commande |
number |
woo_order_number |
vente.commande |
status |
woo_order_status |
vente.commande |
date_created |
date_order |
vente.commande |
billing.email |
recherches/créationspartner_id |
partenaire de résidence |
shipping.* |
contact avec l’enfanttype=delivery |
partenaire de résidence |
line_items[].variation_id |
product_id(via woo_variation_id) |
ligne de commande de vente |
line_items[].product_id |
product_id(via woo_product_id) |
ligne de commande de vente |
line_items[].quantity |
product_uom_qty |
ligne de commande de vente |
line_items[].price |
price_unit |
ligne de commande de vente |
| JSON WooCommerce | Odoo Field |
|---|---|
id |
woo_product_id |
name |
name |
regular_price |
list_price |
short_description |
description_sale |
sku |
default_code |
status |
woo_product_status |
weight |
weight(kg) |
dimensions.length |
woo_length(cm) |
dimensions.width |
woo_width(cm) |
dimensions.height |
woo_height(cm) |
categories[0].name |
categ_id(créé si manquant) |
images[0].src |
image_1920(téléchargé, max 8 Mo) |
type=variable→/variations |
Attributs + variantesproduct.product |
| Odoo Field | JSON WooCommerce | Déclenchement |
|---|---|---|
name |
name |
Mise à jour automatique |
list_price |
regular_price |
Mise à jour automatique |
description_sale |
short_description |
Mise à jour automatique |
default_code |
sku |
Mise à jour automatique |
woo_product_status |
status |
Mise à jour automatique |
active=False |
status=draft |
Sauvegarde automatique |
weight |
weight |
Mise à jour automatique |
woo_length/width/height |
dimensions.{length,width,height} |
Mise à jour automatique |
categ_id.name |
categories[{id}] |
À chaque poussée |
qty_available |
stock_quantity |
Livraison automatique / cron |
Variantesproduct.product |
/products/{id}/variations |
À chaque poussée |
Chaque opération est enregistrée et accessible depuis Ventes > WooCommerce > Journal de synchronisation :
| Événement | Statut |
|---|---|
| Webhook reçu (à chaque appel) | Succès |
| Signature HMAC invalide | Erreur |
| Sujet de webhook non géré | Ignoré |
| Commande créée/mise à jour | Succès |
| Contact créé/mis à jour | Succès |
| Produit importé / poussé | Succès / Erreur |
| Stock synchronisé | Succès / Erreur |
| Composant | Version |
|---|---|
| Odoo | 19.0 |
| WooCommerce | 6.x, 7.x, 8.x, 9.x |
| Python | 3.10+ |
| Dépendance Python | requests |
| Modules Odoo requis | gestion des ventes, stock, produit |
| Fonctionnalité | Note |
|---|---|
| Images Odoo → WC | L’URL interne d’Odoo nécessite une authentification ; WooCommerce ne peut pas la télécharger directement. |
| Taxes / TVA | Cartographie complexe en fonction de la configuration fiscale |
| Frais d’expédition | shipping_lineschamp non mappé |
| Coupons / réductions | coupon_lineschamp non mappé |
Notre équipe d'experts Odoo est à votre service
Support téléphonique pour toutes vos questions techniques
| Cookie | Durée | Description |
|---|---|---|
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |