Connaitre les ventes par déclinaisons

Store Commander propose différentes solutions pour visualiser les ventes sur vos déclinaisons, que nous allons évoquer dans cet article.

En effet, il est possible de voir les ventes sur vos déclinaisons dans l’interface Catalogue de votre Sc, que ce soit avec les options natives, ou en ajoutant les informations que vous souhaitez grâce à l’outil de personnalisation de l’interface Pro.

Les graphiques visuels

La propriété Déclinaisons inclut un panneau qui contient des éléments spécifiques aux déclinaisons, notamment une une grille intitulée Stats, et qui affichera les statistiques de ventes d’une ou de plusieurs déclinaisons sélectionnées.

Vous y trouverez 3 options dans le menu déroulant pour afficher les statistiques que vous souhaitez :

Mais aussi dans la grille Déclinaisons Multi Produits pour visualiser les statistiques des déclinaisons de plusieurs produits :

Les statistiques de ventes personnalisées

Vous avez la possibilité d’afficher dans votre interface Sc des statistiques de ventes par déclinaisons, en intégrant des nouvelles colonnes qui indiqueront le nombre de ventes sur chacune de vos déclinaisons.

Par exemple, dans la capture ci-dessous, nous avons ajouté une colonne pour indiquer les nombre de ventes sur toute l’année 2025 dans la grille des déclinaisons.
Mais vous avez la possibilité de choisir les périodes : un mois glissant, de janvier à avril, etc, et d’ajouter autant de colonnes de statistiques que vous souhaitez dans votre Sc !

Ces champs personnalisés peuvent être ajoutés grâce à l’outil de personnalisation de l’interface Pro, accessible depuis le menu Outils de votre interface Store Commander, et via le + de la barre d’outils de la liste des champs déjà disponibles :

Assurez-vous ensuite de bien choisir la grille dans laquelle vous voulez ajouter votre champ, en l’occurrence ici la Grille des Produits.

Cette version PRO de l’outil de personnalisation est disponible dans les plans Solo PLUS et

MultiStore PLUS.

📊 Nous allons maintenant vous donner quelques exemples concrets de statistiques de ventes produits que vous allez pouvoir intégrer à votre interface Sc.

Nombre de ventes par déclinaison : sur 30 jours glissants

Ajoutez le nouveau champ dans la Grille des déclinaisons et indiquez son ID :
nb_sale_1_month

La ligne du champ est créée dans la liste. Il faut maintenant renseigner les informations :

Table

Another table

Nom

Nombre Ventes 1 mois

Type

Juste affiché

Rafraîchir les déclinaisons

Non

Il faut ensuite ajouter les éléments de configuration techniques, dans les propriétés spécifiques, dans le panneau de droite :

Dans le panneau des Propriétés Avancées à droite :

Sélectionnez le menu SQL Select et renseignez :

return ',(SELECT SUM(od.product_quantity) AS nb_opq
            FROM `'._DB_PREFIX_.'order_detail` od
            INNER JOIN `'._DB_PREFIX_.'orders` o ON (od.id_order = o.id_order)
            WHERE od.product_attribute_id=pa.id_product_attribute
            AND o.valid=1
            AND o.current_state IN (4,5)
            AND o.date_add >= (SELECT DATE_ADD("'.date("Y-m-d").' 00:00:00", INTERVAL -1 MONTH))
            LIMIT 1) AS nb_sale_1_month';

Sélectionnez le menu PHP Definition et renseignez :

$combArray[$combinaison['id_product_attribute']]['nb_sale_1_month'] = $combinaison['nb_sale_1_month'];

Dans cet exemple, nous considérons les états de commandes ID 4 et 5.
Adaptez en fonction de vos besoins.

Vous pouvez adapter la durée en modifiant le paramètre INTERVAL -1 MONTH par INTERVAL -3 MONTH si vous souhaitez une période de 3 mois glissants par exemple.

Enfin, enregistrez la configuration :

Vous pouvez maintenant fermer cette fenêtre.
De retour dans la fenêtre précédente, le nouveau champ se trouve dans la liste des champs disponibles (surligné en orange) et vous pouvez l’ajouter à votre grille de déclinaisons.

Nombre de ventes par déclinaison : sur une période spécifique

Ajoutez le nouveau champ dans la Grille des déclinaisons et indiquez son ID :
nb_ventes

La ligne du champ est créée dans la liste. Il faut maintenant renseigner les informations :

Table

Another table

Nom

Ventes 2025

Type

Juste affiché

Il faut ensuite ajouter les éléments de configuration techniques, dans les propriétés spécifiques, dans le panneau de droite :

Dans le panneau des Propriétés Avancées à droite :

Sélectionnez le menu SQL Select et renseignez :

return ',COALESCE((SELECT SUM(od.product_quantity) AS nb
            FROM `'._DB_PREFIX_.'order_detail` od
            INNER JOIN `'._DB_PREFIX_.'orders` o ON (od.id_order = o.id_order)
            WHERE od.product_attribute_id=pa.id_product_attribute
            AND o.valid=1
            AND o.current_state IN (4,5)
            AND o.date_add BETWEEN "2025-01-01" AND "2025-12-31 23:59:59"
            LIMIT 1),0) AS nb_ventes';

Sélectionnez le menu PHP Definition et renseignez :

$combArray[$combinaison['id_product_attribute']]['nb_ventes'] = (int)$combinaison['nb_ventes'];

Dans cet exemple, nous prenons en compte les états de commandes dont les ID sont 4 et 5.
Ainsi que la période du 01/01/2025 au 31/12/2025.
Adaptez en fonction de vos besoins.

Enfin, enregistrez la configuration :

Vous pouvez maintenant fermer cette fenêtre.
De retour dans la fenêtre précédente, le nouveau champ se trouve dans la liste des champs disponibles (surligné en orange) et vous pouvez l’ajouter à votre grille de déclinaisons.

Exporter les ventes déclinaisons sur un fichier csv

Vous pouvez également ajouter des champs personnalisés à l’outil d’export csv de Store Commander, ce qui vous permet d’obtenir un listing des ventes de vos déclinaisons sur la période de votre choix.

Ici encore, vous pouvez ajouter plusieurs champs pour des périodes différentes, il suffit d’ajouter les champs correspondants avec leur configuration de dates spécifiques.

Nous prendre l’exemple de la période 2025-01-01 au 2025-04-30.

Dans la liste de droite, sélectionnez Catalogue : Export produits :

Puis ajoutez le nouveau champ et indiquez son ID :
nb_ventes

La ligne du champ est créée dans la liste - vous pouvez modifier son nom si vous le souhaitez.

Il faut ensuite ajouter les éléments de configuration techniques, dans les propriétés spécifiques, dans le panneau de droite :

Sélectionner le menu Processus d’export et renseignez :

if (in_array($switchObject, ['nb_ventes']))
{
    $sql = 'SELECT COALESCE(SUM(od.product_quantity),0) AS nb_ventes
            FROM `'._DB_PREFIX_.'order_detail` od
            RIGHT JOIN `'._DB_PREFIX_.'orders` o ON (od.id_order = o.id_order)
            WHERE od.product_id = '.(int) $p->id
        .(isset($id_product_attribute) && $id_product_attribute > 0 ? ' AND od.product_attribute_id = '.(int) $id_product_attribute : '').
        ' AND o.valid = 1 
          AND o.date_add BETWEEN "2025-04-01" AND "2025-04-30 23:59:59"';
    $field = (int) Db::getInstance()->getValue($sql);
}

Vous pouvez maintenant fermer cette fenêtre.
Et vous retrouverez ce champ nb_ventes dans la liste des champs de mapping d’export.