Où il se trouve et quand il s'affiche
Les fiches du tableau de bord s'ouvrent depuis le menu Shopify. Cette partie du menu exige la permission Lecteur (Viewer) : si vous ne l'avez pas, vous ne la voyez pas. Dans l'écran Tableau de bord se trouve le bouton Actualiser, qui ne dépend d'aucune condition : il est toujours visible et existe dans les versions 17, 18, 19 et 20.

Avec Odoo en français, le bouton s'appelle Actualiser. Ce schéma, lui aussi réalisé avec du code et non un écran d'Odoo, indique comment il est libellé selon la langue :

Chaque tableau de bord appartient à une instance Shopify : le champ Instance apparaît dans la fiche et dans la liste du tableau de bord, et le bouton calcule les données de cette instance. Le champ Commandes ouvertes (Open orders) se trouve dans la fiche, dans le groupe Ventes (Sales), et aussi dans la vue kanban, en lecture seule.
La période calculée
Les champs Date de début (Date From) et Date de fin (Date To) sont dans la fiche du tableau de bord, mais avec les valeurs par défaut on ne les voit pas : ils n'apparaissent que lorsque la période du tableau de bord est réglée sur personnalisée. S'ils sont vides, le bouton prend de 30 jours avant aujourd'hui jusqu'à aujourd'hui.

Pas à pas : ce qui se passe quand on clique sur Actualiser
- Il fixe la période : il utilise
Date de débutetDate de finsi elles ont une valeur ; sinon, les 30 derniers jours jusqu'à aujourd'hui. - Il additionne les ventes de la période. Il compte les commandes client de cette instance et de l'entreprise de l'instance dont la date de commande tombe dans la période (les deux jours inclus) et qui ne sont pas annulées. Il en tire le nombre de commandes, le montant total vendu, la valeur moyenne par commande, les unités vendues (sans les lignes ayant un type d'affichage), les retours Shopify créés dans la période et le taux de retours sur les commandes.
- Il refait ce calcul sur la période précédente, de même durée et terminée la veille du début de la période actuelle.
- Il calcule la variation en pourcentage du montant total et du nombre de commandes par rapport à la période précédente. S'il n'y avait rien dans la précédente, la variation est de cent pour cent quand il y a maintenant quelque chose, et de zéro quand il n'y a rien non plus.
- Il recompte les incidents : les enregistrements de synchronisation de l'instance en échec ou partiels qui ont commencé dans les dernières 24 heures ; les mappages non attribués (transporteurs sans transporteur Odoo, taxes sans taxe Odoo et emplacements Shopify sans emplacement de stock, additionnés dans un seul compteur) ; et les commandes Shopify qui ne sont pas annulées et n'ont pas encore de commande client.
- Il recompte le stock de l'instance : le total des références analysées, celles marquées à réapprovisionner tout de suite ou en rupture, celles marquées à surveiller et celles classées comme stock dormant.
- Il compte les commandes ouvertes : les commandes client confirmées de l'instance et de son entreprise. Ce décompte ne se limite pas à la période. C'est la valeur de
Commandes ouvertes. - Il écrit tous les résultats dans le tableau de bord avec la date et l'heure de l'actualisation et le résultat
OK. - Il enregistre l'instantané du jour dans l'historique : une ligne par instance et par jour. Si une ligne existe déjà ce jour-là, il la réécrit ; sinon, il la crée. Elle contient les chiffres de ventes de la période, ceux du stock et les commandes ouvertes.
Que vérifier ensuite et cas qui prêtent à confusion
Après avoir cliqué, regardez Commandes ouvertes et les autres chiffres du tableau de bord. Ces cas découlent directement du code :
- Commandes non confirmées. Elles comptent dans le montant total tant qu'elles ne sont pas annulées, même si la commande client reste en brouillon. Seules les annulées sont exclues.
- Autres entreprises. Une commande d'une entreprise différente de celle de l'instance n'entre jamais dans le calcul.
- Période sans commandes. La valeur moyenne par commande et le taux de retours valent zéro.
- Variation de cent pour cent. Si la période précédente n'avait pas de commandes et que l'actuelle en a, la variation ressort à cent pour cent. Ce n'est pas une erreur : c'est la règle de l'étape quatre.
- Cliquer deux fois le même jour. Cela ne duplique pas l'instantané du jour : il est réécrit. Si vous changez la période et cliquez de nouveau ce même jour, l'instantané de l'historique contient les chiffres de la dernière période calculée.
- Deux actualisations en même temps. Le code prévoit qu'une autre actualisation crée la ligne du jour au même instant : si cela arrive, il écrit sur la ligne déjà créée.
- Incidents des 24 heures. Le compteur de synchronisations en échec ne regarde que ce qui a commencé dans les dernières 24 heures, pas tout l'historique.
- Mappages non attribués. C'est un compteur unique qui mélange transporteurs, taxes et emplacements. Pour savoir lesquels manquent, il faut examiner chaque mappage.
Comment cela s'articule avec l'abonnement
Le module est en paiement unique par version, publié sur Odoo Apps pour 17, 18, 19 et 20, et nécessite l'abonnement à FlexigoTech Cloud. Le plan Connecteur coûte 49 €/mois ou 490 €/an HT, pour jusqu'à 3 comptes de la plateforme. 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. Vous pouvez consulter le module sur la fiche Odoo Apps ou sur sa page de flexigotech.com.
Si vous êtes en train de mettre en place Odoo et voulez que le tableau de bord reflète votre activité, chez FlexigoTech nous implémentons Odoo 17, 18, 19 et 20 et développons des connecteurs et des intégrations sur mesure.
À 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): views/shopify_kpi_dashboard_views.xml
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_kpi_dashboard.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
