Problématique
D’un point du vue comptable, mais aussi fonctionnel, les lignes d’une commande ont besoin d’intégrer le montant de potentielles promotions, que celles-ci soient appliquées sur certaines lignes ou bien sur toutes.
La redistribution de ces montants, que l’on appelle aussi reventilation, est nécessaire :
- d’un point de vue comptable ;
- d’un point de vue fonctionnel : elle permet de définir les montants réels à rembourser en cas de retour d’un produit.
Même si les promotions sont fonctions des règles de gestion à mettre en place, la reventilation est souvent soumise aux mêmes calculs.
Principe
D’abord, une promotion (Action Marketing ou AM) ne doit pas considérer les entrées du panier mais les lignes.
En effet, une entrée du panier correspond à un produit placé dans le panier, une ligne correspond à une quantité 1 de ce produit dans le panier.
Par exemple, pour un panier contenant 2 jeans et 1 chemise, la promotion considérera 2 lignes de jeans et 1 ligne de chemise en quantité 1 chacune.
Le schéma suivant illustre ce principe :
C’est fondamental puisque certaines promotions considèrent les lignes contenant les produits les moins chers (ou les plus chers) en premier.
Du coup, les lignes sont consommées dans un ordre précis.
On appelle « consommation » le fait qu’une promotion :
- soit conditionnée par une ou plusieurs lignes : « 1 jean acheté, 1 chemise offerte »
- s’applique à une ou plusieurs lignes : « 1 jean acheté, 1 chemise offerte«
Cette notion de consommation est importante puisqu’elle détermine :
- quelles sont les lignes qui peuvent conditionner une promotion (une même ligne ne peut pas conditionner deux promotions) ;
- quelles sont les lignes qui peuvent se voir appliquer une promotion (une même ligne ne peut pas se voir appliquer deux promotions).
Le résultat de cette consommation est la distribution du montant de la promotion (on appelle aussi ça la reventilation) :
- soit sur certaines lignes du panier (dans le cas d’une AM ligne) ;
- soit sur l’ensemble du panier (dans le cas d’une AM panier).
Cette distribution s’effectue selon des formules de calcul décrites ci-après, et spécifiques aux 2 modes de distributions.
Formule de calcul
Action Marketing appliquée à une ligne
La formule de calcul tient compte des éléments suivants :
- le montant total consommé (prend en compte les montants réduits),
- le montant reventilé (pour chaque ligne),
- la quantité consommée (pour chaque ligne),
- la quantité (pour chaque ligne),
- le montant réduit (pour chaque ligne),
- le montant de la promotion.
La formule de calcul, pour une ligne donnée, est la suivante :
Montant reventilé = Montant reventilé – (Qté consommé / Qté de la ligne) × (Montant Promo / Total Consommé) × Montant Réduit de la ligne
Action Marketing appliquée au panier
Pour les AM panier c’est un peu différent car on distingue 2 types d’AM panier :
- les AM panier qui sont d’une manière générale (par exemple, 10% sur la commande à partir de 30€ d’achat) ;
- les AM panier qui sont déclenchées par certaines lignes (par exemple, 10% sur la commande dès 3 produits achetés).
Cette différence dans la source de déclenchement de l’AM (qu’on appelle aussi condition) est importante dans la mesure où le calcul de reventilation n’est pas le même.
Conditionnée au global
Dans ce cas, on reventile le montant de la promotion sur l’ensemble des lignes du panier au prorata des prix unitaires. La formule de calcul tient compte des éléments suivants :
- le montant total des lignes, déjà reventilées,
- le montant reventilé (pour chaque ligne),
- le montant de la promotion.
La formule de calcul, pour une ligne donnée, est la suivante (on montre ici que le résultat du calcul devient le nouveau montant reventilé) :
Montant reventilé = Montant reventilé – (Montant Promo / Total lignes reventilées) × Montant reventilé
Conditionnée par des lignes
La formule de calcul est la même qu’une AM ligne, en considérant uniquement les lignes ayant déclenchées l’AM :
Montant reventilé = Montant reventilé – (Qté consommé / Qté de la ligne) × (Montant Promo / Total Consommé) × Montant Réduit de la ligne
Exemples
On prendra pour les exemples ci-dessous les données suivantes :
Produit | Quantité | Prix Unitaire | Prix Réduit | Total |
Jean | 2 | 21.99€ | 20€ | 40€ |
Chemise | 1 | 26.99€ | 25€ | 25€ |
Total du panier : 65€
Action Marketing appliquée à une ligne
Promotion : « Pour 1 jean et 1 chemise acheté, la chemise à 5€ »
Montant de la promotion : 20€
Montant total du panier : 65€ – 20€ = 45€
Calcul (les valeurs finales ne sont pas arrondies pour éviter les problèmes de centimes) :
- Jean = 20 – ( (1/2) × (20/45) ) × 20 = 15,5555555556€
-
Chemise = 25 – ( (1/1) × (20/45) ) × 25 = 13,888888889€
Vérification : 2 Jeans + 1 Chemise = (2 × 15,5555555556) + (1 × 13,888888889) = 45€
On aurait par conséquent le tableau de résultat suivant :
Produit | Quantité | Prix Unitaire reventilé | Total |
Jean | 2 | 15,5555555556€ | 31,11€ |
Chemise | 1 | 13,888888889€ | 13,89€ |
Action Marketing appliquée au Panier
Conditionnée au globale
- Promotion : « 10€ offert à partir de 40€ d’achat »
- Montant de la promotion : 10€
- Montant total du panier : 65€ – 10€ = 55€
Calcul (les valeurs finales ne sont pas arrondies pour éviter les problèmes de centimes) :
- Jean = 20 – ( (10/65) ) × 20 = 16,9230769231€
- Chemise = 25 – ( (10/65) ) × 25 = 21,1538461538€
Vérification :
2 Jeans + 1 Chemise = (2 × 16,9230769231) + (1 × 21,1538461538) = 55€
On aurait par conséquent le tableau de résultat suivant :
Produit | Quantité | Prix Unitaire reventilé | Total |
Jean | 2 | 16,9230769231€ | 33,85€ |
Chemise | 1 | 21,1538461538€ | 21,15€ |
Conditionnée par des lignes
Promotion : « 30€ offert sur la commande pour l’achat d’un jean »
Montant de la promotion : 30€
Montant total du panier : 65€ – 30€ = 35€
Calcul (les valeurs finales ne sont pas arrondies pour éviter les problèmes de centimes) :
- Jean = 20 – ( (1/2) × (30/20) ) × 20 = 5€
- Chemise = 25€
Vérification : 2 Jeans + 1 Chemise = (2 × 5) + (1 × 25) = 35€
On aurait par conséquent le tableau de résultat suivant :
Produit | Quantité | Prix Unitaire reventilé | Total |
Jean | 2 | 5€ | 10€ |
Chemise | 1 | 25€ | 25€ |
Action Marketing multiples
On va cumuler ici 2 AM lignes :
Promotion | Montant de la promotion |
Pour 1 jean et 1 chemise acheté, la chemise à 5€ | 20€ |
1 jean pour 2€ | 18€ |
Montant total du panier : 65€ – 20€ – 18€ = 27€
Passage de la première promotion (les valeurs finales ne sont pas arrondies pour éviter les problèmes de centimes) :
- Jean = 20 – ( (1/2) × (20/45) ) × 20 = 15,5555555556€
- Chemise = 25 – ( (1/1) × (20/45) ) × 25 = 13,888888889€
Passage de la seconde promotion (les valeurs finales ne sont pas arrondies pour éviter les problèmes de centimes) :
- Jean = 15,5555555556 – ( (1/2) × (18/20) ) × 20 = 6,5555555556€
- Chemise = 13,888888889€
Vérification : 2 Jeans + 1 Chemise = (2 × 6,5555555556) + (1 × 13,888888889) = 27€
On aurait par conséquent le tableau de résultat suivant :
Produit | Quantité | Prix Unitaire reventilé | Total |
Jean | 2 | 6,5555555556€ | 13.11€ |
Chemise | 1 | 13,888888889€ | 13.89€ |
Le dernier centime
Même en arrondissant à la toute fin des calculs, on peut se retrouver avec des problèmes de décalage d’un centime.
Pour respecter les obligations légales / comptables ont a besoin de faire passer les montants reventilés dans un post process qui corrige ces erreurs d’arrondis.
Pour grossir un peu les choses, c’est comme si l’on avait le cas suivant :
- Promotion appliquée au panier : 10€
- Nombre de ligne du panier : 3 lignes avec des prix identiques
- Ventilation de la promotion par ligne : 10 / 3 = 3.33€
Mais si on fait la somme des montants obtenus par ligne, on arrive à un total de 9.99€ ce qui est incohérent avec le montant d’origine.
C’est pourquoi, il faut convenir avec le métier d’une règle d’application de ce « dernier centime ».
Habituellement, on ajoute, par défaut, le delta obtenu (ici 1 centime) sur la dernière ligne du panier pour retrouver des valeurs cohérentes.
Conclusion
La plupart des projets e-commerce, voire tous, nécessitent l’application de règles comptables plus ou moins complexes pour ventiler les promotions sur les lignes du panier.
La compréhension de ces règles est d’autant plus importante pour le business que les erreurs liées à ce sujet coûtent cher.
Enfin, cette mécanique de reventilation est la même pour les taux de TVA, également souvent requise par les spécifications.