Un cas : un geste commercial qui refuse de partir
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Distribuciones Norte, une entreprise inventée pour cet exemple, vend sur Cdiscount et gère ses commandes dans Odoo avec Octopia Connector. Marta, du service client, veut dédommager un client avec un geste commercial. Elle ouvre Octopia › Commandes › Gestes commerciaux (Octopia › Orders › Commercial Gestures). Ce tronçon Octopia du menu est visible pour qui a la permission Utilisateur Octopia (Octopia User) ; si vous ne l'avez pas, vous ne voyez pas ce tronçon.
Elle crée la fiche du geste et clique sur Soumettre à Octopia (Submit to Octopia). Odoo lui demande confirmation avec ce texte : Un geste commercial rembourse ce montant au client. Continuer ? (A commercial gesture refunds the customer this amount. Continue?). Marta accepte et l'action s'arrête avec cet avertissement : Les gestes commerciaux ne s'appliquent qu'aux commandes expédiées ou livrées (la commande … est …). (Commercial gestures apply to shipped or delivered orders only (order … is …).). À la place des points de suspension, Odoo écrit l'identifiant Octopia de la commande et le statut dans lequel elle se trouve.

Le problème ne vient pas de la fiche du geste, mais du statut de la commande à laquelle il se rapporte.

Quand exactement il apparaît
L'avertissement apparaît en cliquant sur Soumettre à Octopia dans la fiche du geste, quand la commande remplit la condition décrite plus bas. Le bouton est visible tant que le champ État (State) du geste a sa valeur de départ, et il est masqué pour toute autre valeur, dans Odoo 17, 18, 19 et 20.
D'après le code d'Odoo 20.0, le module parcourt les gestes et ignore ceux qui ne sont pas dans cet état de départ. Pour chacun des autres, il effectue ces vérifications, dans cet ordre :
- Il vérifie que le montant est supérieur à zéro. Sinon, il s'arrête avec un autre avertissement.
- Il regarde le canal de vente de la commande : si sa configuration a été synchronisée et que les gestes commerciaux y sont désactivés, il s'arrête aussi avec un autre avertissement.
- Il regarde le statut de la commande : s'il n'est ni expédiée ni livrée, il s'arrête avec l'avertissement qui nous occupe.
Autrement dit, l'avertissement apparaît quand le statut de la commande n'est ni expédiée ni livrée, à condition que le montant et le canal aient passé les vérifications précédentes. Et l'avertissement lui-même indique le statut actuel de la commande.
En s'arrêtant, rien de ce que l'action allait modifier n'est enregistré :
- le geste ne passe pas à un autre état ;
- ni la référence de la demande ni la date d'envoi ne sont notées ;
- rien n'est envoyé à Octopia.
C'est pourquoi le bouton reste visible dans la fiche et vous pouvez cliquer de nouveau plus tard.
Le message figure dans le code publié des branches 17.0, 18.0, 19.0 et 20.0. L'ordre des vérifications que vous venez de lire est celui du code d'Odoo 20.0.

Les gestes commerciaux ne s'appliquent qu'aux commandes expédiées ou livrées (la commande … est …).Comment le résoudre
- Lisez l'avertissement : il contient l'identifiant Octopia de la commande et son statut actuel.
- Si ce statut n'est ni expédiée ni livrée, le geste ne peut pas encore être envoyé. Laissez la fiche telle quelle : il n'y a rien à corriger dedans à cause de cet avertissement.
- Quand la commande est expédiée ou livrée, rouvrez le geste dans
Octopia › Commandes › Gestes commerciaux, cliquez surSoumettre à Octopiaet confirmez. - Vérifiez le résultat : si l'envoi s'est bien passé, le geste est en cours et le bouton disparaît de la fiche, car le geste n'a plus l'état de départ.
Si c'est un autre avertissement qui apparaît, il peut venir de l'une des vérifications précédentes : le montant du geste ou les gestes désactivés dans le canal de vente.
Pour le reste de ce que fait ce bouton, vous avez le pas à pas du bouton Soumettre à Octopia.
Ce qui se passe quand la commande remplit la condition
Avec la commande expédiée ou livrée, le module poursuit. Il demande à Octopia le budget restant de la commande. Si Octopia renvoie un budget et que le montant du geste le dépasse, il s'arrête avec un avertissement de montant supérieur au budget restant. S'il ne le dépasse pas, ou si Octopia ne dit rien, il envoie le geste avec son motif, son détail et son montant.
Si Octopia renvoie une référence de la demande, il l'enregistre dans la fiche. Ensuite, il note la date d'envoi, met le geste en cours et crée un enregistrement de synchronisation de type gestes avec un résultat correct.
Ce qu'il faut retenir du cas
- L'avertissement parle de la commande, pas du geste : la condition qui le provoque est le statut de la commande.
- Les trous du message sont l'indice : l'identifiant Octopia de la commande et son statut actuel.
- Un avertissement de ce type ne laisse pas l'envoi à moitié fait : il ne change pas l'état du geste et rien n'arrive chez Octopia.
- Le bouton reste visible, donc le nouvel essai consiste à cliquer de nouveau quand la commande est expédiée ou livrée.
Coût et aide de FlexigoTech
Octopia Connector (Cdiscount & Octopia Marketplaces) est un module à paiement unique par version d'Odoo (17, 18, 19 et 20 ; le prix de chaque version figure sur sa fiche Odoo Apps) et nécessite l'abonnement à FlexigoTech Cloud, plan Connecteur : 49 €/mois ou 490 €/an HT, avec jusqu'à 3 comptes de la plateforme.
Si vous êtes en train de mettre en place Odoo et souhaitez examiner comment le circuit des commandes et des gestes commerciaux de Cdiscount s'intègre dans votre entreprise, chez FlexigoTech nous mettons en place Odoo 17, 18, 19 et 20 et développons des connecteurs et des intégrations sur mesure.
Si un autre bouton du module vous intéresse, vous avez l'article sur le bouton Importer.
À 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): models/octopia_order_actions.py
- Code du module : flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_order_actions_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
