Ce que vous voyez et quand cela apparaît
En cliquant sur Déclarer à Octopia dans l'assistant où se trouve ce bouton, Odoo peut afficher Les commandes Fulfillment s'expédient d'elles-mêmes -- en déclarer une serait refusé (409) par Octopia. C'est une erreur : l'action est interrompue et rien de ce que le bouton allait modifier n'est enregistré.
Le bouton est toujours visible dans cet assistant, dans Odoo 17, 18, 19 et 20, et le message figure dans le code publié des quatre versions. On y arrive en cliquant sur ce bouton.


La condition exacte dans le code
Dans le code d'Odoo 20, l'avis se déclenche lorsque deux choses sont vraies à la fois pour la commande Octopia que l'on déclare :
- la commande a un mode d'approvisionnement renseigné (il n'est pas vide) ;
- ce mode d'approvisionnement n'est pas celui du vendeur.
Dans l'autre sens : si le mode d'approvisionnement est vide, l'avis n'apparaît pas ; s'il est renseigné et qu'il s'agit de celui du vendeur, non plus. L'action ne s'arrête que si le mode est renseigné et différent de celui du vendeur.
Ce qui est vérifié avant et ce qui l'est après
L'ordre compte. D'après le code d'Odoo 20, l'assistant exige d'abord qu'il y ait au moins un colis. La vérification du mode d'approvisionnement vient juste après cette exigence et avant l'examen des colis un par un, la création de l'enregistrement de l'envoi et l'appel à Octopia.
Ainsi, dès qu'il y a un colis dans l'assistant, peu importe comment ses données sont remplies : l'avis dépend de la commande, pas de ce que vous saisissez dans l'assistant.
Ce que cela signifie
Le message dit deux choses : que les commandes Fulfillment s'expédient d'elles-mêmes et qu'en déclarer une serait refusé par Octopia avec une erreur 409. Le module n'attend pas ce refus : il prend les devants et coupe l'action avant d'envoyer quoi que ce soit. Pour cette commande, il n'y a pas de déclaration d'envoi à faire depuis ce bouton.

Un cas illustratif : deux commandes, deux résultats
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Tienda Aurora est une entreprise fictive qui vend sur la place de marché de Cdiscount et gère ses commandes Octopia depuis Odoo. Beatriz, de la logistique, a devant elle deux commandes qu'elle a déjà préparées.
Avec la première, elle ouvre l'assistant, ajoute le colis, complète ses données et clique sur Déclarer à Octopia. La commande n'a pas de mode d'approvisionnement renseigné, ou elle en a un et c'est celui du vendeur : la vérification passe et l'assistant poursuit sa route.
Avec la seconde, elle fait exactement la même chose, mais Odoo répond Les commandes Fulfillment s'expédient d'elles-mêmes -- en déclarer une serait refusé (409) par Octopia. Cette commande a un mode d'approvisionnement renseigné et différent de celui du vendeur. Beatriz essaie de changer de colis et de saisir un autre transporteur, et le résultat est le même, car la vérification se fait avant de regarder tout cela.
Ce qu'il faut retenir du cas :
- Avec au moins un colis dans l'assistant, l'avis parle de la commande, pas du colis.
- Lors de cette tentative, aucun enregistrement d'envoi n'a été créé et Octopia n'a pas été appelé.
- Beatriz n'a rien à corriger dans les données du colis : cette commande ne se déclare pas depuis là.
Ce qui se passe quand la vérification passe
Pour comprendre le contraste, voici ce que fait l'assistant avec une commande qui ne déclenche pas l'avis, d'après le code d'Odoo 20, dans l'ordre :
- Il exige au moins un colis, puis vérifie le mode d'approvisionnement de la commande.
- Il examine chaque colis (numéro de colis et transporteur) et prépare la liste à envoyer.
- Il crée l'enregistrement de l'envoi avec ces colis.
- Il appelle le client Octopia avec la commande et la liste des colis.
- Si Octopia renvoie une erreur, l'enregistrement de l'envoi est marqué en erreur, avec le texte de l'erreur et son détail, et l'erreur est relancée pour que vous la voyiez.
- Si tout se passe bien, l'enregistrement passe à expédié avec la date et l'heure, la commande passe à expédiée, une entrée de succès est ajoutée au journal de synchronisation des envois et l'assistant se ferme.
Avec l'avis Fulfillment, aucune des étapes postérieures à la vérification n'a lieu.
Que faire quand il apparaît
- Fermez l'assistant : depuis ce bouton, cette commande ne se déclare pas.
- Ne perdez pas de temps sur le numéro de colis, le transporteur ou le suivi : la vérification passe avant et ne les regarde pas.
- Si vous pensiez pouvoir la déclarer vous-même, la donnée qui décide est le mode d'approvisionnement de la commande. Le module le lit sur la commande elle-même et ne vous laisse pas continuer s'il est renseigné et n'est pas celui du vendeur.
Questions concrètes sur l'avis
Quelque chose est-il enregistré quand il apparaît ?
Non. C'est une erreur qui interrompt l'action : aucun enregistrement d'envoi n'est créé, Octopia n'est pas appelé et la commande ne change pas d'état.
Apparaît-il de la même façon dans toutes les versions ?
Le message figure dans le code publié d'Odoo 17, 18, 19 et 20.
Peut-il apparaître si la commande n'a pas de mode d'approvisionnement ?
Non, pas avec le mode vide : la condition exige qu'il soit renseigné et différent de celui du vendeur.
La façon dont le colis est rempli a-t-elle de l'importance ?
Pour cet avis, non : la vérification du mode d'approvisionnement passe avant l'examen des données de chaque colis. Dans le code d'Odoo 20, la seule chose exigée avant est qu'il y ait au moins un colis dans l'assistant.
Comment FlexigoTech vous aide
FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si vous avez des commandes avec différents modes d'approvisionnement et souhaitez organiser leur traitement dans Odoo, nous pouvons le revoir avec vous. Le module est publié pour les quatre versions sur sa fiche Odoo Apps.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_octopia_connector 20.0 (4848da6a): wizard/octopia_shipment_wizard.py
- Code du module : flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_completeness2_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/en/services.html
