Quand il apparaît exactement
L'avis apparaît en cliquant sur le bouton Créer un bon de commande (Create Sale Order) dans la fiche d'une commande Shopify. Vous accédez à cette fiche depuis le menu Shopify › Opérations › Commandes (Shopify › Operations › Orders). Chaque niveau du menu demande la permission Lecteur (Viewer) : sans elle, vous ne voyez pas ce niveau. Cette permission sert à voir le menu ; le bouton, en revanche, est réservé aux gestionnaires Shopify (Shopify Manager), et la méthode le vérifie avant de regarder le contenu de la commande.
Le bouton est visible tant que le champ Bon de commande (Sale Order) de la commande est vide, et il est masqué dès qu'elle en a un. Quand vous cliquez, Odoo demande une confirmation avec ce texte : It is created as a quotation that the connector never confirms: check first that this order was not shipped already. Create it?. Si vous acceptez et que votre utilisateur est gestionnaire Shopify, la méthode regarde si le champ Charge utile brute (Raw Payload) est vide. S'il l'est, elle lance le message et l'action s'arrête.


Quel est le champ vérifié
Charge utile brute est un champ de type Json de la commande Shopify. Il se voit dans la fiche Entonnoir de traitement (Fulfilment Funnel), onglet Technique (Technical). À l'écran, il n'a pas d'intitulé : on ne voit que son contenu, et seuls les utilisateurs disposant de la permission d'administration du système le voient, en lecture seule.
Vous ne l'écrivez pas : il est rempli par le code du module, auquel arrivent aussi bien le bouton Créer des commandes client (Create Sale Orders) que le bouton Créer un bon de commande lui-même. Pour savoir ce que fait le premier, voyez ce que fait le bouton Créer des commandes client.
Un cas pour le voir
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Tienda Ejemplo est une entreprise fictive qui vend sur Shopify et gère ses commandes dans Odoo. Laura, gestionnaire Shopify, s'occupe des commandes : elle ouvre Shopify › Opérations › Commandes et entre dans une commande qui n'a pas de bon de commande. Elle voit le bouton Créer un bon de commande et clique dessus. Elle lit la confirmation : il est créé comme devis que le connecteur ne confirme jamais, et il convient de vérifier auparavant que la commande n'a pas déjà été expédiée. Laura vérifie, accepte et Odoo répond avec Aucune donnée Shopify disponible pour créer le bon de commande. Actualisez d'abord depuis Shopify..
Son utilisateur n'a pas la permission d'administration du système, donc elle ne voit pas le champ Charge utile brute. Elle demande à une personne qui l'a d'ouvrir l'onglet Technique de la fiche Entonnoir de traitement, et celle-ci lui confirme qu'il n'y a pas de contenu. Cela correspond au code : le champ étant vide, la méthode s'arrête. Laura actualise la commande depuis Shopify, comme le demande le message, et clique de nouveau sur le bouton.
Ce qu'il faut retenir du cas :
- L'avis parle du contenu enregistré de la commande Shopify, pas du bon de commande que vous vouliez créer.
- Pour vérifier la cause, il faut voir le champ
Charge utile brute, et cela dépend d'une permission précise. - L'avertissement de la confirmation compte : le bon de commande est créé comme devis que le connecteur ne confirme jamais.
Ce que fait la méthode, dans l'ordre
Dans Odoo 20.0, en cliquant sur Créer un bon de commande, la méthode fait ceci :
- Si la commande a déjà un
Bon de commande, la méthode ouvre ce bon et se termine. Il n'y a pas d'erreur. - Si votre utilisateur n'est pas gestionnaire Shopify (Shopify Manager), la méthode s'arrête.
- Si
Charge utile bruteest vide, elle lance le messageAucune donnée Shopify disponible pour créer le bon de commande. Actualisez d'abord depuis Shopify.et s'arrête. - S'il y a du contenu, elle retire la marque de retenue de la commande et la marque comme créée à la main.
- Elle traite de nouveau le contenu enregistré avec l'option de création à la main et relit la commande.
- Si la commande a alors un
Bon de commande, elle l'ouvre ; sinon, elle se termine sans ouvrir aucun bon.
Comme la retenue et la marque de création à la main s'écrivent après la vérification, quand l'erreur apparaît aucun changement n'est enregistré et la commande reste comme elle était.
Comment le résoudre
- Vérifiez que la commande n'a toujours pas de
Bon de commande. S'il y en a déjà un, le bouton ne s'affiche pas. - Vérifiez que votre utilisateur est gestionnaire Shopify : le bouton est réservé aux gestionnaires et, si vous ne l'êtes pas, la méthode s'arrête avant de regarder le contenu.
- Si vous avez la permission d'administration du système, ouvrez l'onglet
Techniquede la ficheEntonnoir de traitementet regardez s'il y a du contenu. Sinon, demandez à quelqu'un qui l'a de le consulter. - Actualisez la commande depuis Shopify, comme l'indique le message lui-même.
- Cliquez de nouveau sur
Créer un bon de commande, relisez la confirmation et acceptez seulement si la commande n'a pas déjà été expédiée. - Si le bon de commande est créé, Odoo l'ouvre ; s'il ne s'ouvre pas, vérifiez le champ
Bon de commandede la commande.
N'essayez pas d'écrire le contenu à la main : le champ est en lecture seule et c'est le code du module qui l'écrit.
Dans quelles versions
Le message est présent dans le code publié des quatre branches : Odoo 17, 18, 19 et 20. Le bouton Créer un bon de commande a la même condition de vue dans les quatre : il est masqué quand la commande a un Bon de commande. Le module est publié sur Odoo Apps pour ces quatre versions.
Avec Odoo en espagnol, l'avis se lit comme dans le chapeau. Le schéma suivant montre le même texte dans d'autres langues.

Si vous avez besoin d'aide pour la mise en place
Si vous voulez revoir comment votre boutique et votre Odoo sont connectés, FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Vous trouverez plus d'informations dans la fiche Odoo Apps et sur la page du module.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_order.py
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/shopify_order_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
