Ce que le module ajoute à la commande de vente
Le module étend la commande de vente de l'app Ventes. Sur la commande standard d'Odoo, il place un groupe de données Shopify, un état de livraison dans la liste et trois boutons.

Les champs de la fiche
Avec les valeurs par défaut, ils ne sont pas visibles : le groupe Shopify de la fiche de la commande n'apparaît que lorsque la commande a une Réf. commande Shopify. On y trouve :
Réf. commande ShopifyetInstance Shopify, tous deux en lecture seule.Étiquettes Shopify: les étiquettes de la commande Shopify.Note Shopify: la note du client de la commande Shopify.Préfixe de boutique Shopify, en lecture seule : le préfixe de la boutique d'origine, repris de l'instance Shopify à l'importation.Montant total Shopify, en lecture seule : le total indiqué par Shopify, conservé pour le rapprocher du total d'Odoo.Écart de total Shopify, en lecture seule : il est activé à l'importation lorsque le total de la commande Odoo diffère de celui de Shopify au-delà de l'arrondi.
En dehors de ce groupe, il y en a deux autres. Remboursements se trouve sur la fiche, est masqué tant qu'il vaut zéro et affiche le nombre de remboursements Shopify associés à la commande. État de livraison Shopify se trouve dans la liste des commandes de vente.

Pas à pas : de la commande aux actions
- Ouvrez la commande dans
Venteset regardez le groupeShopify. ComparezMontant total Shopifyavec le total d'Odoo : siÉcart de total Shopifyest cochée, les totaux différaient à l'importation au-delà de l'arrondi. - Dans la liste des commandes de vente, consultez
État de livraison Shopify. Plus bas, vous voyez comment il est calculé. - Décidez si les modifications de lignes partent toutes seules. Dans
Instances Shopify, ongletOpérations, groupeParamètres de synchronisation, se trouve la casePousser automatiquement les modifications de commande vers Shopify, désactivée par défaut. Lorsqu'elle est activée, à l'enregistrement d'une commande liée à Shopify à l'étatCommande clientdont les lignes ont changé, Odoo envoie la modification à Shopify via l'API de modification de commandes. Si cet appel échoue, l'échec est consigné dans le journal du serveur et l'enregistrement se poursuit. - Pour envoyer les lignes à la main, cliquez sur
Envoyer vers Shopify. Il n'apparaît que si la commande a uneRéf. commande Shopifyet se trouve à l'étatCommande client. Il demande de confirmer : «Envoyer les lignes de commande actuelles (quantités, produits ajoutés/supprimés) à la commande Shopify liée ?». Le module parcourt les lignes de la commande (hors sections, notes et lignes de livraison) et cherche chacune parmi celles de Shopify grâce à la variante Shopify du produit ou à un SKU correspondant. Si la quantité diffère, il la modifie en demandant à Shopify de remettre le stock ; s'il n'y a pas de ligne dans Shopify et que le produit a une variante, il l'ajoute. - Décidez si les annulations partent toutes seules. Dans le même groupe se trouve
Pousser automatiquement les annulations vers Shopify, également désactivée par défaut. Lorsqu'elle est activée, quand une commande liée à Shopify est annulée dans Odoo avec l'action normale d'annulation, le module l'annule aussi dans Shopify. Si cela échoue, c'est consigné dans le journal du serveur et la commande Odoo reste annulée malgré tout. - Pour annuler à la main, cliquez sur
Annuler dans Shopify. Il apparaît si la commande a uneRéf. commande Shopifyet tant qu'elle n'est pas à l'étatAnnulé. Il demande de confirmer : «Annuler la commande Shopify liée et cette commande Odoo ?». L'ordre compte : on annule d'abord dans Shopify et, seulement si aucune erreur ne survient, on annule la commande Odoo, sans renvoyer l'annulation. Les paramètres de l'instance décident si le client est prévenu, s'il est remboursé ou si le stock est remis. - Pour rendre l'argent, cliquez sur
Rembourser dans Shopify. Il ne dépend pas de l'état : il n'est masqué que si la commande n'a pas deRéf. commande Shopify. Il demande de confirmer : «Créer un remboursement complet de cette commande dans Shopify ?». Le remboursement inclut les lignes importées de Shopify, hors lignes de livraison, avec leur quantité et marquées comme retour. L'avertissement au client et le remboursement sous forme de crédit en boutique viennent des paramètres de l'instance.

Qui peut les utiliser et quels avertissements peuvent apparaître
Lorsque vous cliquez sur l'un des trois boutons, le module vérifie sur le serveur que votre utilisateur dispose de l'accès Shopify Operator (ou Manager). Avoir seulement l'accès normal à Ventes ne suffit pas. S'il manque, le message You need Shopify Operator (or Manager) access to push changes to Shopify. s'affiche.
D'autres avertissements peuvent arrêter l'action :
- Sur les trois boutons :
La commande de vente … n'est pas liée à une commande Shopify. - Sur
Envoyer vers Shopify:Impossible de démarrer une modification de la commande Shopify pour ….etCes produits n'ont pas de variante Shopify et ne peuvent pas être ajoutés à la commande Shopify (modification non validée) : …. Le second liste les produits concernés. - Sur
Annuler dans Shopify:L'annulation de la commande Shopify a échoué : …, avec le texte de l'erreur renvoyée par Shopify. Dans ce cas, la commande Odoo n'est pas annulée.
Comment État de livraison Shopify est calculé
La valeur provient du code d'Odoo 20. Ses options sont Non validé, Prêt à expédier, Expédié partiellement, Expédié et Annulé. On regarde d'abord si la commande est annulée. Sinon, on compare ce qui a été livré à ce qui a été commandé sur les lignes de produit dont la quantité commandée est supérieure à zéro (hors sections et notes, et seulement pour certains types de produit). S'il n'y a aucune ligne à compter, on regarde les transferts non annulés de la commande et, s'il y en a de sortie, seulement ceux-là.
| Valeur | Quand il l'affiche |
|---|---|
Annulé | La commande est annulée. |
Non validé | Il y a des lignes à compter et rien n'a été livré ; ou il n'y a ni lignes à compter ni transferts non annulés. |
Expédié partiellement | Ce qui a été livré est inférieur à ce qui a été commandé ; ou, sans lignes à compter, il y a des transferts terminés et d'autres non terminés. |
Expédié | Ce qui a été livré atteint ce qui a été commandé ; ou, sans lignes à compter, tous les transferts sont terminés. |
Prêt à expédier | Uniquement sans lignes à compter : il y a des transferts non annulés et aucun n'est terminé. |
Ce que le module ajoute aux transferts d'Inventaire se trouve dans cet autre article, et le bouton de stock dans celui-ci.
Versions, abonnement et aide
Le module est publié sur Odoo Apps pour Odoo 17, 18, 19 et 20. Les conditions d'apparition des trois boutons sont les mêmes dans ces quatre versions ; le calcul de l'état de livraison et le reste du comportement décrit sont ceux du code d'Odoo 20. Vous pouvez consulter la fiche sur Odoo Apps ou la page du module.
C'est un module à paiement unique par version d'Odoo et il nécessite l'abonnement à FlexigoTech Cloud, plan Connecteur : 49 €/mois ou 490 €/an HT. La connexion passe par FlexigoTech Cloud, qui conserve les identifiants chiffrés, surveille la synchronisation et prévient par e-mail en cas d'échec.
FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure, au cas où vous auriez besoin d'adapter ce flux à votre boutique.
À 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 (2950bdc0): models/sale_order.py
- Code du module : flexigobe_shopify_seller_connector 20.0 (2950bdc0): views/sale_order_views.xml
- Code du module : flexigobe_shopify_seller_connector 20.0 (2950bdc0): models/shopify_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
