Aller au contenu principal
Shopify

La tâche « Actualiser l'analytique des produits Shopify », passage par passage

La tâche planifiée Actualiser l'analytique des produits Shopify (Shopify Refresh Product Analytics) s'exécute une fois par jour et est active dès l'installation. À chaque passage, elle parcourt les instances Shopify actives, recalcule les ventes de chaque produit et dépose le résultat dans Shopify › Catalogue › Plan de réapprovisionnement.

FlexigoTech · Responsable : Víctor Gómez · Mis à jour le 5 novembre 2026

L'essentiel

Module
Shopify
Versions
Odoo 17, 18, 19 et 20
Vérifié
dans le code du connecteur, version 17.0 et 20.0 · dans les sources citées à la fin
Lecture
5 min

La tâche et l'écran qu'elle alimente

La tâche planifiée Actualiser l'analytique des produits Shopify existe dans toutes les branches publiées du module : 17.0, 18.0, 19.0 et 20.0. Elle s'exécute une fois par jour et est active dès l'installation. Dans Odoo 17.0, elle est en outre configurée pour se répéter sans fin. Voici comment fonctionne la tâche dans Odoo 20.0.

Son résultat s'ouvre depuis le menu Shopify › Catalogue › Plan de réapprovisionnement (Shopify › Catalog › Restock Plan). Pour voir ce menu, il vous faut l'autorisation Lecteur (Viewer) sur la section Shopify et sur la section Catalogue (Catalog) : s'il vous en manque une, vous ne voyez pas cette section.

Schéma réalisé avec du code, pas un écran d'Odoo : en haut la tâche planifiée qui s'exécute une fois par jour et en dessous le menu du Plan de réapprovisionnement
Schéma réalisé à partir du code publié du module (ce n'est pas une capture d'Odoo) : la tâche, active à l'installation dans Odoo 17.0, 18.0, 19.0 et 20.0, et le menu Shopify › Catalog › Restock Plan, avec les libellés en anglais du code.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Vidéo : Your Odoo doesn't talk to Amazon, Temu or Shopify? (vidéo en anglais)

Chronologie d'un passage

  1. À l'installation du module La tâche est active. Dans Odoo 17.0, elle est configurée pour se répéter sans fin.
  2. Une fois par jour Odoo lance Actualiser l'analytique des produits Shopify, qui exécute le recalcul de l'analytique des produits.
  3. Premier contrôle Elle vérifie que la personne qui l'exécute est administrateur. Sinon, elle s'arrête avec Only an administrator can run this scheduled action. et rien n'est calculé.
  4. Recherche des instances Elle cherche les instances Shopify actives. Par défaut, avec un plafond de cent instances.
  5. Instance par instance Elle les parcourt une à une. Chacune est traitée dans un bloc qui intercepte les erreurs : si l'une échoue, la tâche annule les changements en attente et passe à la suivante.
  6. Lecture des ventes Pour chaque instance, elle additionne, par produit, les unités vendues au cours des sept, trente et quatre-vingt-dix derniers jours, et le chiffre d'affaires des trente derniers. Elle ne compte que les lignes avec produit des commandes de cette instance qui sont dans l'un des deux états que le code considère comme vendus.
  7. Produits sans ventes Elle ajoute les produits ayant une liaison active avec cette instance, même s'ils n'ont rien vendu, pour qu'ils aient eux aussi une ligne.
  8. Calcul par produit Elle obtient les vitesses, la couverture, la date de rupture prévue et la quantité recommandée (détail plus bas).
  9. Enregistrement S'il existe déjà une ligne pour cette instance et ce produit, elle la met à jour ; sinon, elle la crée. Sur chaque ligne, elle note le moment de la mise à jour.
  10. Fin Une fois toutes les instances parcourues, la tâche se termine.

Ce qu'elle calcule pour chaque produit

  • Unités et vitesse. Pour chaque fenêtre (sept, trente et quatre-vingt-dix jours), elle enregistre les unités vendues et la vitesse quotidienne, c'est-à-dire ces unités divisées par les jours de la fenêtre. Le chiffre d'affaires n'est enregistré que pour la fenêtre de trente jours.
  • Vitesse de planification. C'est celle de trente jours.
  • Stock. Elle prend la quantité disponible du produit dans la société de l'instance.
  • Couverture en jours. C'est le stock divisé par la vitesse de planification. Si cette vitesse est nulle, elle vaut 9999 quand il y a du stock et zéro quand il n'y en a pas.
  • Date de rupture prévue. Elle n'est calculée que s'il y a une vitesse de planification et du stock : c'est aujourd'hui plus les jours entiers de couverture.
  • Quantité recommandée. S'il y a une vitesse de planification, elle multiplie cette vitesse par la somme du délai de livraison par défaut de l'instance (zéro s'il est vide) et des jours de couverture cible (trente s'il est vide, et au minimum un), retire le stock, arrondit et ne descend pas sous zéro. Sans vitesse, elle reste à zéro.
  • Classe de mouvement et état de réapprovisionnement. La tâche les remplit aussi : la classe à partir de la vitesse de trente et de quatre-vingt-dix jours, et l'état à partir du stock, de la vitesse, de la couverture, du délai et de la cible.
Liste du Plan de réapprovisionnement sans enregistrements calculés, avec des colonnes d'instance, quantité disponible, vitesse, couverture, chiffre d'affaires, classe et état, presque tout à zéro
La liste du Plan de réapprovisionnement dans une base sans enregistrements calculés : les colonnes d'instance, quantité disponible, vitesse, couverture, chiffre d'affaires, classe et état apparaissent sans données réelles, presque tout à zéro.

Que vérifier si elle ne fait rien

Le code explique plusieurs cas où le Plan de réapprovisionnement paraît figé ou rempli de zéros :

  • La tâche est active. Elle est active à l'installation ; vérifiez qu'elle l'est toujours.
  • La personne qui l'exécute est administrateur. Sinon, elle s'arrête avec Only an administrator can run this scheduled action. avant de toucher à quoi que ce soit.
  • L'instance est active. La tâche ne parcourt que les instances actives, et avec l'appel de la tâche le plafond est de cent.
  • Il y a des ventes ou une liaison. Un produit entre s'il a des lignes de commandes de cette instance au cours des quatre-vingt-dix derniers jours, dans les états que le code considère comme vendus, ou s'il a une liaison active avec l'instance. En dehors de cela, la tâche ne lui crée pas de ligne ; s'il en avait déjà une d'un passage précédent, elle n'est pas mise à jour et conserve les valeurs et la date de sa dernière mise à jour.
  • Les zéros peuvent être corrects. Un produit lié sans ventes récentes et sans stock ressort avec des vitesses, un chiffre d'affaires et une couverture à zéro. S'il a du stock mais n'a rien vendu en trente jours, sa couverture ressort à 9999 et il n'y a pas de date de rupture.
  • Une instance peut être en échec. Si une erreur survient dans une instance, la tâche annule ce qui est en attente et passe à la suivante, de sorte que les autres continuent d'être traitées.
  • Autorisations pour le voir. Sans Lecteur sur Shopify et sur Catalogue, vous ne voyez pas le menu, même si la tâche s'est exécutée.

Comment FlexigoTech vous aide

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'ajuster la façon dont votre réapprovisionnement est alimenté. Le module est publié sur Odoo Apps pour 17.0, 18.0, 19.0 et 20.0 (fiche, page du module). Il s'achète en paiement unique par version et 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.

À lire aussi

Ce que fait le bouton « Récupérer le stock » du connecteur Shopify pour OdooCe que fait le bouton Récupérer le stock du connecteur Shopify pour Odoo : quand il apparaît, ce qu'il vérifie.Avertissement « est maintenant l'emplacement principal » du connecteur Shopify pour OdooQue signifie l'avertissement « est maintenant l'emplacement principal pour … » du connecteur Shopify pour Odoo, quand il apparaît et comment changer.Erreur de création du bon de commande : données Shopify manquantesQue signifie l'avis de Shopify Connector for Odoo en cliquant sur « Créer un bon de commande » sans données de commande.
Vérifié dans le code du connecteur (version 17.0 et 20.0) et dans les sources citées

Sources