Barèmes
Introduction
Les barèmes dans l’application Axelor sont des structures de données essentielles qui définissent les règles de calculs pour différents éléments tels que les prix, les remises etc. C’est-à-dire, les barèmes permettent de créer des règles de calculs pour évaluer un champ (un entier, un décimal, une date etc) d’un objet (une ligne de devis / commande) en fonction de paramètres (appelé règle de classification).
Les barèmes permettent une flexibilité considérable dans la tarification des produits, articles ou services en prenant en compte des facteurs tels que les quantités commandées, les spécificités de chaque produit ou de chaque client etc. Ce fait permet de répondre aux besoins spécifiques de chacun.
-
Les objets concernés : en v.8 , il est actuellement possible d’utiliser les barèmes uniquement sur n'importe quel objet AOS.
-
Suite de barèmes : il est possible de créer une série de plusieurs barèmes afin de calculer plusieurs valeurs.
-
Gestion des versions : vous pouvez historiser la version actuelle d’un barème et modifier la nouvelle via le bouton “Historiser” dans la barre d’outils du formulaire d’un barème.
Nouveauté Barèmes v8.0 : Généralisation à l’ensemble des objets.
Les barèmes ont été rendus complètement génériques. Cela implique que le moteur peut être utilisé sur n’importe quel objet d’AOS. Un bouton générique est aussi automatiquement ajouté sur les vues formulaire de l’objet concerné par un barème.
Sur les anciennes versions, les barèmes étaient lancé si le produit correspondait au produit qui a été mis sur le barème. Cependant, il est désormais possible de mettre une formule groovy qui va déterminer si le barème est lancé ou non (il est toujours possible de mettre le produit ou la catégorie pour faciliter la rédaction de la formule)
Cette généralisation est bloquée sur certains objets afin d’éviter toute incohérence ("Pricing", "PricingLine", "PricingRule", "Move", "MoveLine", "Invoice", "InvoiceLine").
Activer les barèmes
Les configurations d’activation des barèmes et du sens de calcul ont été déplacées dans l’app base.
Afin de pouvoir utiliser les barèmes dans AOS, il faut tout d’abord activer la configuration générale des barèmes dans :
- Version < 8.2 AOS : Config applicative → Gestion des applications → Ventes, configurer → Activer les barèmes.
- Version superière ou égale à 8.2 AOS : Config applicative → Gestion des applications → Base, configurer → Dans l'onglet Barèmes, activez les barèmes.
Le fait d’activer les barèmes résulte en l'apparition de deux autres options :
-
Sens de calcul des barèmes : précédent / suivant. Il s’agit de l’ordre de calcul du barème.
-
Activer le calcul complet des devis à partir des barèmes : vous allez trouver ce bouton sur les devis qui permet de relancer les calculs des différentes lignes (sur un élément qui concerne la globalité de la commande). Par exemple, vous avez une règle de résultat qui fait un calcul sur la quantité totale d’un produit commandé.
Il est également possible de relancer le calcul des barèmes depuis le devis/commande. Activez cette option depuis l’application vente (accès : Config applicative → Gestion des applications → Ventes, configurer → Activer le calcul complet des devis à partir des barèmes).
Configurer un barème
Accès : Ventes → Barème → Nouveau
-
Nom : le nom que vous souhaitez donner à votre barème afin de pouvoir l'utiliser.
-
La Société : Société pour laquelle s'applique le barème. Ce barème va concerner tous les devis et les commandes de la société.
-
Objet concerné : sélectionnez l'objet concerné. Il est possible de sélectionner n'importe quel objet. Cette généralisation est bloquée sur certains objets afin d’éviter toute incohérence ("Pricing", "PricingLine", "PricingRule", "Move", "MoveLine", "Invoice", "InvoiceLine").
-
Règles de classification : vous pouvez créer et appliquer plusieurs règles de classification (jusqu’aux 4). Vous pouvez créer vos propres règles de classification. Accès : Ventes → Configuration → Règles de barème. Par exemple, vous pouvez créer une règle de classification “Transporteur” ou “Catégorie de tiers”. Pour plus d’informations, consultez la partie sur les règles de classification.
-
Règles de résultat : vous pouvez créer et appliquer plusieurs règles de résultat (jusqu’aux 4). Accès : Ventes → Configuration → Règles de barème. Vous pouvez créer vos propres règles de résultat. Par exemple, vous pouvez créer une règle de résultat “Taux de majoration du prix”.
Créez des règles de classification et des règles de résultat en amont afin de pouvoir les appliquer sur la page de création d'un barème.
-
La Date de début / La Date de fin : date à partir de laquelle le barème sera pris en compte.
-
Produit/Modèle de produit : produit ou modèle de produit sur lequel vous souhaitez appliquer le barème. Le système vérifie si le produit et le parent de ce produit (i.e.le modèle) est attaché à un barème.
-
La Catégorie produit : catégorie de produit sur laquelle vous souhaitez appliquer le barème. Ça veut dire que tous les articles et prestations de cette catégorie seront associés à ce barème et identifiés tels quels.
-
Le Barème précédent / suivant : le barème précédent ou suivant permet de lancer un autre barème avant ou après le barème que vous créez. C’est un lien qui est utilisé pour construire une suite de barèmes.
-
Les lignes de barème : les valeurs auxquelles vous pouvez comparer les règles de classification et renseigner les valeurs qui peuvent être utilisées dans les règles de résultat. Les lignes dans le tableau “Lignes de barème” vont être créées automatiquement à la sélection des règles de classification en tenant en compte le fait que ces lignes peuvent être complétées directement sur le tableau.
Les règles de barème
Il existe deux types de règles de barème : les règles de classification et les règles de résultat. Créez vos propres règles de classification.
Accès : Ventes → Configuration → Règles de barème
Les règles de résultat et les règles de classification peuvent être utilisées dans plusieurs barèmes. C’est pourquoi il faut d’abord créer des règles de résultat et des règles de classification et par la suite les affecter aux différents barèmes.
Il est important de noter qu'il est souvent nécessaire de combiner plusieurs règles de classification et de résultats pour créer des scénarios complexes. Par exemple, vous pourriez avoir une règle de classification basée sur le produit et une autre basée sur le client, avec des règles de résultats correspondantes.
Les règles de classification
Les règles de classification "filtrent les entrées" du barème et permettent de définir les critères ou conditions spécifiques qui déterminent si une règle doit s'appliquer ou non. Elles servent à classifier les transactions en fonction de certains attributs. Les règles de classification sont appliquées dans l'ordre; c'est à dire qu'AOS s’assure d'abord que l'objet vérifie la règle de classification 1, puis la règle de classification 2 et ainsi de suite jusqu'à la quatrième. Il est possible de créer jusqu'aux 4 règles de classification.
Voici quelques exemples de règles de classification :
a. Classification par produit : Définir une règle spécifique pour un groupe de produits ou un produit particulier.
b. Classification par client : Appliquer une règle en fonction du type de client ou d'un client spécifique.
c. Classification par quantité : Définir une règle basée sur la quantité de produits commandés.
Les paramètres d’une règle de classification :
-
Nom.
-
Société.
-
Objet concerné
-
Type : classification
-
Type de champ : texte, entier, décimal
-
Opérateur : l’opérateur permet de faire la comparaison entre la valeur calculée par la règle de classification et la valeur entrée dans les lignes de barèmes.
-
Formule : la formule groovy dont le résultat sera comparé à la valeur du champ donné dans le barème. Elle permet de calculer la valeur de la règle de classification.
Explication de la formule :
-
Dans l’exemple, le nom est “Transporteur”. L’objet concerné est “SaleOrderLine”. Le type de champ a été défini comme “Texte”.
-
Si le transporteur (carrierPartner) de la commande (saleOrder) de l’objet concerné (SaleOrderLine) n'est pas défini, la valeur donnée dans le barème sera comparée à "None" sinon, la valeur donnée dans le barème sera comparée au nom (fullName) du transporteur de la commande de la ligne de commande : if (!saleOrder.carrierPartner) {“None”} else saleOrder.carrierPartner.fullname
C’est-à-dire, le système va chercher le nom du transporteur rattaché à la commande via la formule (saleOrder + transporteur + son nom complét). Sur l’image, dans la liste des lignes de barèmes, la première colonne avec les lignes de transporteur sera comparée à la valeur calculée par la formule depuis la commande.
-
Si le nom complet du transporteur de la commande est « Mondial Relay », le barème va sélectionner et garder que les 4 premières lignes et passera à la règle de classification suivante.
-
Une deuxième règle de classification pourrait venir et filtrer la colonne “Mode d'expédition” et sélectionner seulement la livraison de type “livraison à domicile”.
-
La troisième règle de classification pourrait servir à filtrer la colonne “Poids total de la commande” et par exemple sélectionner le poids de la commande qui ne dépasse pas la valeur de 10.
Les règles de résultat
Les règles de résultat permettent de "calculer les sorties" du barème. Cette règle peut être une valeur constante (exemple : un coefficient, un pourcentage, ...) ou une formule à appliquer. Il est également possible d’utiliser la règle de résultat précédente ou les éléments des règles de barème précédents ou suivants.
Les règles de résultats définissent les actions spécifiques à entreprendre une fois qu'une règle de classification est satisfaite. Elles déterminent comment ajuster les prix, appliquer des remises ou calculer les taxes. Voici quelques exemples de règles de résultats :
a. Réduction de prix : Appliquer une réduction de prix spécifique en pourcentage ou en montant fixe.
b. Ajout de taxe : Appliquer une taxe spécifique en fonction de la règle de classification.
c. Remise spéciale : Appliquer une remise spéciale pour certains clients ou produits.
Il est possible de créer jusqu’à 4 règles de résultat par barème.
Les paramètres d’une règle de classification :
-
Nom.
-
Société.
-
Objet concerné.
-
Type : résultat.
-
Type de champ : texte, entier, décimal.
-
Formule : la formule groovy permet de calculer le résultat. Ce résultat sera affecté à un champ donné de la ligne du devis / soit ce résultat sera simplement récupéré dans les lignes de barème / soit le résultat sera utilisé dans un autre calcul d’une nouvelle valeur en s’appuyant sur les règles de résultat précédent du même barème / ou du barème précédent ou suivant.
-
Champ à remplir (par exemple, une remise). Précision : le nombre décimal a été utilisé dans le calcul de la formule
-
Nom de la variable temporaire : dans le cas d’utilisation de plusieurs barèmes, vous pouvez avoir des barèmes intermédiaires qui calculent des valeurs et qui ne seront pas obligatoirement affectés à un champ donné de la ligne du devis. Cependant, ces barèmes peuvent être enregistrés en tant que variables temporaires qui seront réutilisés dans les barèmes suivants ou précédents.
Exemple des règles de résultat
-
Nom : prix de transport.
-
Objet concerné : SaleOrderLine.
-
Type : résultat.
-
Formule : pricingline.resultParam1 + product.salePrice
**Explication de la formule :**la formule ajoute le prix de transport au prix de vente du produit
- Si : le transporteur est « Mondial relay » ; mode d’expédition est «Livraison à domicile» ; poids total de la commande est 33kg ; prix de vente du produit est de 180 euros.
- Résultat : le prix de vente de la ligne de commande (price) sera de 190 (180 +10).