Le cas
Une boutique de bricolage vend sur sa propre boutique Shopify, sur Leroy Merlin et sur Cdiscount, et expédie avec Correos Express. Elle n'a pas d'ERP : chaque canal a son propre back-office et les colis sont enregistrés sur le site du transporteur.
Voici à quoi ressemble une commande ordinaire :
- La commande arrive dans l'un des trois back-offices.
- Quelqu'un copie le nom, l'adresse et le téléphone de l'acheteur sur le site de Correos Express et choisit le service.
- Il imprime l'étiquette et la colle sur le carton.
- Il copie le numéro de suivi donné par le transporteur.
- Il retourne dans le back-office de la boutique, retrouve la commande et colle le numéro.
- Sur Leroy Merlin, il marque en plus la commande comme expédiée.
Avec peu de commandes, cela reste supportable. Le problème apparaît quand les commandes s'accumulent en fin de journée, quand celui qui prépare n'est pas celui qui facture, ou quand un numéro est collé sur la mauvaise commande.

Ce que demande chaque boutique
| Boutique | Ce qu'elle attend | Source |
|---|---|---|
| Shopify | Que vous marquiez les articles comme préparés dès qu'ils sont prêts à partir, avec les données de suivi et l'indication d'un éventuel avis au client | Documentation de l'API Shopify (fulfillmentCreate) |
| Leroy Merlin et Decathlon (Mirakl) | Le suivi dès que vous avez le numéro du transporteur, et la validation de l'expédition à chaque saisie | Documentation de l'API Mirakl (OR23 et OR24) |
| Cdiscount | Une confirmation d'expédition portant le numéro de suivi | Conditions de Cdiscount pour les vendeurs |
Chez Cdiscount, l'expédition est en outre mesurée. Le vendeur s'engage à un taux d'expédition de 97,5 % ou plus, et s'il ne signale pas l'envoi après la validation de la commande par l'acheteur, la commande est annulée automatiquement et ce taux se dégrade. Un numéro qui n'est jamais collé n'est pas un oubli mineur.
Et en toile de fond il y a le délai avec le client. Selon la directive européenne sur les droits des consommateurs, sauf autre date convenue, le professionnel livre sans retard injustifié et au plus tard dans un délai de 30 jours. S'il ne livre pas, le consommateur peut fixer un délai supplémentaire et, si celui-ci passe aussi, résoudre le contrat et récupérer tout ce qu'il a payé.

La même commande avec Odoo
Dans Odoo 17, 18, 19 et 20, lorsque vous validez une livraison sortante avec un transporteur intégré, Odoo lui transmet l'envoi. Les opérations sortantes l'ont activé par défaut.
Avec le connecteur Correos Express, cet envoi est enregistré chez Correos Express et le connecteur laisse sur le bon de livraison :
- L'étiquette en PDF, à imprimer directement depuis là.
- Le numéro de suivi et le lien public de suivi de Correos Express.
- L'état de l'envoi : Pendiente, Enviado, Etiqueta OK ou Error CEX.
La tâche « CEX - Sincronizar tracking API » met à jour le suivi toutes les 30 minutes.
Il reste le chemin du retour, du bon de livraison vers la boutique. C'est là qu'interviennent les connecteurs de chaque canal, chacun avec son propre interrupteur :
- Shopify : avec l'option d'envoyer l'exécution à la validation activée pour la boutique, Odoo la transmet avec son suivi. Elle est décochée par défaut.
- Leroy Merlin et Decathlon : avec le profil opérateur, la validation de la livraison fait envoyer le suivi par Odoo et marque la commande comme expédiée dans Mirakl, sans autre réglage.
- Cdiscount : avec « Push Tracking on Delivery Validation » cochée sur le compte Octopia, Odoo déclare l'expédition à la validation. Elle est également décochée par défaut.
La procédure détaillée de chacun figure dans ses guides : le suivi Shopify, la déclaration d'expédition Cdiscount et le profil Leroy Merlin et Decathlon.

Ce qui change dans l'entrepôt
Celui qui prépare la commande valide la livraison et imprime l'étiquette depuis le bon de livraison. Plus personne ne copie d'adresses ni de numéros, et la boutique reçoit le suivi sans que quiconque ouvre son back-office. En cas d'échec, c'est noté sur le bon de livraison ou dans le journal du connecteur, au lieu de le découvrir quand le client pose la question.
Comment nous le mettons en place
Chez FlexigoTech, nous déployons Odoo 17, 18, 19 ou 20 avec nos connecteurs de boutiques et de transporteurs, pour que vos boutiques travaillent connectées. Odoo Online n'accepte pas les modules tiers, nous travaillons donc sur Odoo.sh ou sur un serveur propre. Chaque connecteur peut être essayé 14 jours depuis Odoo, gratuitement et sans carte bancaire, et la formule Connecteur commence à 49 € par mois, HT. Ce qui doit être développé sur mesure fait l'objet d'un devis après une analyse de périmètre gratuite, et rien n'est facturé sans votre accord écrit.
Écrivez-nous à comercial@flexigobe.com, laissez vos coordonnées sur la page contact ou réservez un appel et nous regarderons cela avec une semaine de vos expéditions sous les yeux.
À lire aussi
Vérifié dans le code du connecteur (version 17.0, 18.0, 19.0 et 20.0) et dans les sources citées
Sources
- developer.mirakl.com/content/product/mmp/rest/seller/openapi3/orders/or23.md
- developer.mirakl.com/content/product/mmp/rest/seller/openapi3/orders/or24.md
- shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentCreate
- marketplace.cdiscount.com/wp-content/uploads/2025/08/2025.08.25-CGMAD-FR.pdf
- publications.europa.eu/resource/cellar/6c8e7593-7a75-4b58-b709-542f06ee7a28.0012.03/DOC_1
- github.com/odoo/odoo/blob/20.0/addons/stock_delivery/models/stock_picking.py
- Code du module : flexigobe_correos_express · 17.0 56f6f9f · 18.0 7fcdd81 · 19.0 edec9c0 · 20.0 24075e3: models/delivery_carrier.py (cex_send_shipping, _cex_create_shipment, _cex_fetch_and_store_label, cex_get_tracking_link), models/stock_picking.py, data/cex_cron_data.xml
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/stock_picking.py, models/shopify_instance.py, views/shopify_instance_views.xml
- Code du module : flexigobe_mirakl_connector · 17.0 f10058e · 18.0 0d42567 · 19.0 9939dcd · 20.0 5c53911: models/stock_picking.py (button_validate, _mirakl_sync_sale_shipping_contacts, action_mirakl_push_tracking), models/mirakl_instance.py (_mirakl_auto_push_tracking_on_validate), views/stock_picking_views.xml; proveedores Leroy Merlin y Decathlon: _mirakl_auto_push_tracking_on_validate y _mirakl_repair_shipping_before_validate devuelven True
- Code du module : flexigobe_octopia_connector · 17.0 6c9bfab · 18.0 aff6741 · 19.0 d15e273 · 20.0 27d9c64: models/octopia_account.py (auto_push_tracking), models/octopia_order_actions.py (button_validate, _declare_for_picking)
- flexigotech.com/precios.html
- flexigotech.com/services.html
- flexigotech.com/en/services.html
- flexigotech.com/services/desarrollo-a-medida.html
