Aller au contenu principal
Octopia (Cdiscount)

Comment déclarer à Cdiscount l'expédition d'une commande depuis Odoo

Avec le connecteur Octopia, l'expédition d'une commande Cdiscount se déclare automatiquement à la validation de la livraison dans Odoo, à condition d'activer « Push Tracking on Delivery Validation » sur le compte. Odoo transmet le colis avec le numéro de suivi et le transporteur, et la commande passe à Shipped. Si la commande part dans plusieurs cartons, le bouton « Declare to Octopia » de la livraison vous permet de déclarer chaque colis manuellement.

FlexigoTech · Responsable : Víctor Gómez · Mis à jour le 5 novembre 2026

L'essentiel

Versions
Odoo 17, 18, 19 et 20
Vérifié
dans le code du connecteur, version 17.0, 18.0, 19.0 et 20.0 · dans les sources citées à la fin
Lecture
4 min

Les conditions de Cdiscount exigent que la confirmation d'expédition comporte le numéro de suivi. Et l'expédition est mesurée : le vendeur s'engage sur un taux d'expédition de 97,5 % ou plus, et si le vendeur n'informe pas de l'expédition après la validation de la commande par l'acheteur, la commande est annulée automatiquement et ce taux se dégrade. C'est pourquoi la déclaration doit partir avec la livraison plutôt que de dépendre de la mémoire de quelqu'un.

Activer la déclaration à la validation

  1. Ouvrez votre compte sous Octopia › Configuration › Accounts.
  2. Dans l'onglet Automation, groupe Outbound Pushes, cochez « Push Tracking on Delivery Validation ». Elle est décochée par défaut.
  3. Enregistrez. À partir de là, chaque livraison sortante d'une commande Octopia que vous validez est déclarée à Octopia.
Onglet Automation d'un compte Octopia dans Odoo avec la case Push Tracking on Delivery Validation
L'onglet Automation du compte : « Push Tracking on Delivery Validation » se trouve dans le groupe Outbound Pushes et reste décochée ici, comme à l'origine. Capture d'écran réelle d'Odoo avec l'API Octopia simulée.
48 business hours to accept each Cdiscount order. Do it in Odoo
Vidéo : 48 business hours to accept each Cdiscount order. Do it in Odoo (vidéo en anglais)

Ce qu'Odoo envoie dans chaque déclaration

La déclaration automatique transmet un colis par livraison :

DonnéeD'où elle provient
Numéro de colisLe numéro de suivi du bon de livraison ; à défaut, le nom du bon de livraison
TransporteurLe transporteur Octopia lié à celui d'Odoo ; sinon le nom du transporteur Odoo ; sans transporteur, « Other »
Lien de suiviCelui du transporteur, lorsqu'il en fournit un
LignesLes lignes de la commande Octopia dont les produits partent dans cette livraison, si elles ne sont pas toutes concernées

Sans lignes, Octopia considère la commande entière comme expédiée. C'est pourquoi, sur une livraison partielle, Odoo n'envoie que les lignes des produits qui partent.

Lorsqu'Octopia accepte la déclaration, elle passe à Declared et la commande Octopia passe à Shipped. Le journal de synchronisation l'enregistre sous « Shipment declared for … ».

Il y a deux cas qu'Odoo ne déclare pas. Une livraison déjà déclarée pour la même commande n'est pas renvoyée. Et les commandes qui ne sont pas en mode vendeur (Seller) sont exclues, car elles sont expédiées par le service de fulfillment.

Si la déclaration échoue

La livraison est tout de même validée : l'entrepôt n'est jamais bloqué par un échec d'Octopia. La déclaration passe en Error, avec le message d'Octopia, et le journal de synchronisation conserve « Shipment declaration failed for … ».

  1. Ouvrez Octopia › Orders › Shipment Declarations.
  2. Repérez celles en Error et lisez le message : il indique le colis envoyé et la réponse d'Octopia.
  3. Corrigez ce qui manque sur la livraison, par exemple le numéro de suivi.
  4. Cliquez sur « Retry ».
Schéma de la déclaration d'expédition vers Octopia depuis Odoo, automatique ou avec plusieurs colis
Les deux parcours, avec les libellés d'Odoo : la déclaration à la validation de la livraison et la déclaration manuelle avec « Declare to Octopia » ; les données de chaque colis et les états Declared et Error. Schéma réalisé à partir du code du module.

Déclarer plusieurs colis à la main

Lorsqu'une commande part dans plusieurs cartons, la déclaration automatique ne suffit pas, puisqu'elle n'envoie qu'un seul colis. Dans ces cas :

  1. Sur la livraison validée, cliquez sur « Declare to Octopia ». L'assistant « Declare Shipment (multi-parcel) » s'ouvre.
  2. La première ligne reprend déjà le numéro de suivi du bon de livraison, ou son nom, et le transporteur.
  3. Ajoutez une ligne par carton, avec son numéro, son transporteur et son lien de suivi.
  4. Si un carton ne contient pas toute la commande, choisissez sur sa ligne les lignes de commande qu'il contient.
  5. Cliquez sur « Declare to Octopia ».

Si le transporteur ne figure pas dans la liste d'Octopia, saisissez-le dans « Carrier (free text) ». Octopia l'accepte, mais l'aide du champ signale que le suivi peut être moins bon.

L'assistant s'arrête avec un message clair lorsqu'un élément manque :

  • Add at least one parcel. s'il n'y a aucune ligne.
  • Every parcel needs a parcel number. si un carton n'a pas de numéro.
  • Every parcel needs a carrier (mapped or free text). si un carton n'a pas de transporteur.
  • Fulfillment orders ship themselves -- declaring one would be refused (409) by Octopia. s'il s'agit d'une commande de fulfillment.

Puis-je déclarer sans numéro de suivi ?

Odoo le permet : la déclaration automatique utilise alors le nom du bon de livraison comme numéro de colis. Mais pour Cdiscount, ce n'est pas un suivi valable. Ses conditions exigent de confirmer l'expédition avec un lien et un numéro de suivi valides ; sinon la commande est considérée comme non expédiée et annulée, avec remboursement de l'acheteur, à l'expiration du délai maximal de préparation. Elles interdisent aussi de donner un numéro de suivi erroné. Renseignez le numéro de suivi sur la livraison avant de la valider.

Où voir ce qui a été envoyé ?

Sous Octopia › Orders › Shipment Declarations. Chaque déclaration conserve les colis tels qu'ils sont partis vers Octopia, la date et, en cas d'échec, l'erreur.

À lire aussi

Cdiscount annule les commandes non acceptées sous 48 heures : ce que personne ne vous ditCdiscount impose d'accepter les commandes sous 48 heures ouvrées avec un taux de 97,5 %. Ce qui arrive si vous ratez le délai et comment Odoo le gère.Annuler une commande Cdiscount depuis OdooComment demander à Octopia d'annuler une commande Cdiscount sans quitter Odoo : motif valable, annulation de lignes, et ce qu'Odoo fait de la vente et de la facture.Connecter Cdiscount (Octopia) à Odoo, étape par étapeGuide pour connecter Cdiscount et les marketplaces Octopia à Odoo 17, 18, 19 et 20 : identifiants, canal de vente, catalogue, offres, commandes et expédition.
Vérifié dans le code du connecteur (version 17.0, 18.0, 19.0 et 20.0) et dans les sources citées

Sources

  • 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)
  • Code du module : flexigobe_octopia_connector · 17.0 6c9bfab · 18.0 aff6741 · 19.0 d15e273 · 20.0 27d9c64: models/octopia_order_actions.py (_carrier_label, _build_parcels, _send_declaration); docs.47 de hechos/octopia.json (POST /orders/{orderId}/shipments, sin orderLineIds se envía el pedido entero)
  • Code du module : flexigobe_octopia_connector · 17.0 6c9bfab · 18.0 aff6741 · 19.0 d15e273 · 20.0 27d9c64: models/octopia_order_actions.py (octopia.shipment, action_retry), views/octopia_order_actions_views.xml
  • Code du module : flexigobe_octopia_connector · 17.0 6c9bfab · 18.0 aff6741 · 19.0 d15e273 · 20.0 27d9c64: wizard/octopia_shipment_wizard.py, views/octopia_completeness2_views.xml
  • marketplace.cdiscount.com/wp-content/uploads/2025/08/2025.08.25-CGMAD-FR.pdf