WooCommerce ↔ Odoo Sync

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.

Caractéristiques

📦

Commandes WC → Odoo

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.

🧾

Facturation automatique

La facture est créée, validée et envoyée par e-mail au client automatiquement en fonction du statut WooCommerce ( processing, completed).

👤

Toilettes clients → Odoo

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.

🛍️

Produits Odoo → WC

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).

🎨

Produits variables

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.

📊

Stock Odoo → WC

Les stocks sont synchronisés automatiquement lors de la validation de chaque commande de livraison, avec une gestion par variante pour les produits variables.

🗂️

Catégories

La catégorie principale est synchronisée dans les deux sens. Si elle est absente à destination, elle est créée automatiquement.

📦

Poids et dimensions

Le poids (kg), la longueur, la largeur et la hauteur (cm) sont synchronisés dans les deux sens entre Odoo et WooCommerce.

🖼️

Images WC → Odoo

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.

🔄

Cycle de vie du produit

Dans Odoo, l'archivage d'un produit le supprime draftde la boutique WooCommerce. Le désarchivage le republie. La suppression d'un produit dans Odoo n'a aucun impact sur WooCommerce.

🔁

Crons de rattrapage

Une tâche cron exécutée toutes les heures importe les commandes WooCommerce récemment modifiées, garantissant ainsi qu'aucune commande ne soit manquée même en cas de défaillance d'un webhook.

📋

Journal de synchronisation complet

Chaque opération est enregistrée : réception du webhook, synchronisation de la commande, envoi du produit, mise à jour du stock, erreurs de signature — avec un statut et un message détaillé.

Flux de traitement par statut WooCommerce

pending

Devis créé + e-mail de devis envoyé au client

on-hold

Devis créé (paiement en attente, pas d'e-mail)

processing

Commande confirmée + facture créée et envoyée + courriel de facturation

completed

Commande confirmée + facture créée et envoyée + courriel de facturation

cancelled/ refunded/failed

Commande Odoo annulée

Configuration

1. Dans Odoo

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)

2. Dans WooCommerce

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

Automatisations

  1. Synchronisation des stocks lors de la validation de la livraison – AUTO
    Dès qu’une commande de livraison est validée dans Odoo, les quantités sont transférées vers WooCommerce. Pour les produits variables, chaque variation est mise à jour individuellement via [méthode/fonction manquante] /products/{id}/variations/{variation_id}.
  2. Les produits se synchronisent lors de la mise à jour. – AUTO
    Modifier le prix, le nom, la description courte, la référence, le statut, le poids ou les dimensions d’un produit lié déclenche une synchronisation immédiate avec WooCommerce.
  3. Archiver / désarchiver – AUTO
    L’archivage d’un produit dans Odoo est immédiatement répercuté 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.
  4. Rattraper les commandes — tâche cron horaire – AUTO
    Récupère toutes les commandes WooCommerce modifiées au cours des 2 dernières heures. Garantit l’absence de commandes en cas de panne réseau ou de redémarrage du serveur.
  5. Synchronisation périodique des stocks — tâche planifiée de 6 heures – AUTO
    Mise à jour des stocks pour tous les produits liés. Filet de sécurité pour les ajustements d’inventaire qui ne font pas l’objet d’un ordre de livraison.
  6. Synchronisation manuelle – MANUEL
    Assistant disponible dans Ventes > WooCommerce > Synchronisation manuelle : importez les produits (avec variations), les clients, les commandes par période ou effectuez une initialisation complète. L’option « Nouveaux enregistrements uniquement » permet de préserver les données Odoo existantes.

Facturation à 100 % dans Odoo

WooCommerce(Paiement en ligne : Stripe, PayPal…)

↓ Webhook order.created/ order.updated

sale.orderOdoo

action_confirm()

account.move(Facture)

action_post()+ Modèle d’e-mail

 : E-mail de facture → Client

WooCommerce gère les paiements. Odoo est la source de référence pour les factures officielles, la TVA et la comptabilité.

Cartographie des données

Commande WooCommerce → Odoo

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

Produit WooCommerce → Odoo (importation)

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

Produit Odoo → WooCommerce

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

Journal de synchronisation

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

Compatibilité

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

Améliorations prévues

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é

⭐ Support offert le premier mois

Notre équipe d'experts Odoo est à votre service

Support téléphonique pour toutes vos questions techniques