Aller au contenu principal
Version: 8.0

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.

info

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)

attention

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

astuce

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 :

  1. Sens de calcul des barèmes : précédent / suivant. Il s’agit de l’ordre de calcul du barème.

  2. 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).

1.1. Activez les barèmes. Pour la version 8.2, l'accès est : Config applicative → Gestion des applications → Base, configurer → Dans l'onglet Barèmes, activez les barèmes. Pour les anciennes versions, activez les barèmes au niveau du module Ventes.
1.1. Activez les barèmes. Pour la version 8.2, l'accès est : Config applicative → Gestion des applications → Base, configurer → Dans l'onglet Barèmes, activez les barèmes. Pour les anciennes versions, activez les barèmes au niveau du module Ventes.

Configurer un barème

Accès : Ventes → Barème → Nouveau

  1. Nom : le nom que vous souhaitez donner à votre barème afin de pouvoir l'utiliser.

  2. 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é.

  3. 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").

  4. 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.

  5. 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”.

attention

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.

  1. La Date de début / La Date de fin : date à partir de laquelle le barème sera pris en compte.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

1.1. Accès : Ventes → Barème → Nouveau. Ici, la page de configuration de barème.
1.1. Accès : Ventes → Barème → Nouveau. Ici, la page de configuration de barème.

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

info

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 :

  1. Nom.

  2. Société.

  3. Objet concerné

  4. Type : classification

  5. Type de champ : texte, entier, décimal

  6. 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.

  7. 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.

1.1. Accès : Ventes → Configuration → Règles de barème. Ici, la configuration d'une règle de classification.
1.1. Accès : Ventes  → Configuration → Règles de barème. Ici, la configuration d'une règle de classification.

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 :

  1. Nom.

  2. Société.

  3. Objet concerné.

  4. Type : résultat.

  5. Type de champ : texte, entier, décimal.

  6. 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.

  7. Champ à remplir (par exemple, une remise). Précision : le nombre décimal a été utilisé dans le calcul de la formule

  8. 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

  1. Nom : prix de transport.

  2. Objet concerné : SaleOrderLine.

  3. Type : résultat.

  4. 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).
1.1. Accès : Ventes → Configuration → Règles de barème. Ici, la configuration d'une règle de résultat.
1.1. Accès : Ventes → Configuration → Règles de barème. Ici, la configuration d'une règle de résultat.

Les logs des barèmes

Afin de faciliter le suivi des barèmes lorsqu’ils sont utilisés dans une ligne de commande, il est possible depuis la version 6.3 d’AOS, de retrouver les logs du barème dans l’onglet “Configuration” de la ligne de commande.

Dans ces logs, vous trouverez “Détail du calcul du prix”. Le “Détail du calcul du prix” contient des barèmes identifiés, le champ valorisé, ainsi que des règles de classification et de résultat avec leur résultats de l'évaluation.

1.1. Les logs des barèmes. Sur la page d'un devis, cliquez sur une ligne de commande et ensuite ouvrez l'onglet Configuration. Vous y trouverez “Détails du calcul de prix”, qui contient les logs de barème.
1.1. Les logs des barèmes. Sur la page d'un devis, cliquez sur une ligne de commande et ensuite ouvrez l'onglet Configuration. Vous y trouverez “Détails du calcul de prix”, qui contient les logs de barème.

Consulter et analyser les résultats d’un ou plusieurs barèmes

Par exemple, sur l’image :

  1. Le barème identifié est le “prix de transport”.

  2. La règle de classification utilisée est “transporteur”.

  3. La valeur trouvée (résultat de l’évaluation de la règle de classification) : Mondial Relay

  4. La deuxième règle de classification utilisée est “mode d'expédition”.

  5. Une autre valeur récupérée (résultat de l’évaluation de la règle de classification) est la livraison à domicile.

  6. La troisième valeur : le poids total de la commande, ici égal à 33.

Le système à partir de ces trois valeurs va venir d’abord classifier et filtrer les lignes de barèmes et par la suite il va réaliser l'évaluation de la règle de résultat (ici, le prix de transport). Le prix de transport par la suite va venir valoriser le champ “Prix” avec la valeur du prix transport renseignée dans les lignes des barèmes et par la suite le système va ajouter le prix de vente de ce produit. Le prix total est obtenu (ici, 190) et il est valorisé dans le champ “Prix”.

Exemple fonctionnel d’un barème

Règle de classification # 1

Afin d’appliquer les barèmes, créez d’abord des règles de classification et de résultat. Les règles de classification et de résultat utilisent des formules groovy. Par exemple : saleOrder.carrierPartner.simpleFullName.

Explication de la formule : en spécifiant l’objet concerné (SaleOrder), et ensuite en passant par le champ (carrierPartner c’est-à-dire le transporteur), cette formule permet d’aller chercher le nom complet du transporteur (simpleFullName).

Les informations utilisées dans la formule (SaleOrder ou encore carrierPartner) se trouvent sur la page de Devis. Par exemple, si vous pointez le curseur sur l’onglet Devis client, vous allez remarquer qu’il s’agit du Modèle “SaleOrder”. Lorsque vous pointez le curseur sur le Transporteur dans l’onglet Livraison du devis, vous allez remarquer que le nom du champ est carrierPartner.

1.1. Les informations utilisées dans la formule (SaleOrder ou encore carrierPartner) se trouvent sur la page de Devis. Par exemple, si vous pointez le curseur sur l’onglet Devis client, vous allez remarquer qu’il s’agit du Modèle “SaleOrder”.
1.1. Les informations utilisées dans la formule (SaleOrder ou encore carrierPartner) se trouvent sur la page de Devis. Par exemple, si vous pointez le curseur sur l’onglet Devis client, vous allez remarquer qu’il s’agit du Modèle “SaleOrder”.
1.2. Les informations utilisées dans la formule (SaleOrder ou encore carrierPartner) se trouvent sur la page de Devis. Lorsque vous pointez le curseur sur le Transporteur dans l’onglet Livraison du devis, vous allez remarquer que le nom du champ est carrierPartner.
1.2. Les informations utilisées dans la formule (SaleOrder ou encore carrierPartner) se trouvent sur la page de Devis. Lorsque vous pointez le curseur sur le Transporteur dans l’onglet Livraison du devis, vous allez remarquer que le nom du champ est carrierPartner.

Accès : Ventes → Configuration → Règles de barème → Nouveau

  1. Créez une nouvelle règle de classification, par exemple “Transporteur”.

  2. Renseignez la société.

  3. Sélectionnez un objet concerné, ici c’est “SaleOrderLine”.

  4. Sélectionnez le type de la règle, ici c’est “Classification”.

  5. Sélectionnez le type de champ, ici c’est “Texte”.

  6. Renseignez la formule groovy, ici c’est : if (!saleOrder.carrierPartner) None else saleOrder.carrierPartner.simpleFullName

1.3. Accès : Ventes → Configuration → Règles de barème → Nouveau. La page de configuration d’une nouvelle règle de classification.
1.3. Accès : Ventes → Configuration → Règles de barème → Nouveau. La page de configuration d’une nouvelle règle de classification.

Règle de classification # 2

  1. Créez une nouvelle règle de classification, par exemple “Mode d’expedition”.

  2. Renseignez la société.

  3. Sélectionnez un objet concerné, ici c’est “SaleOrderLine”.

  4. Sélectionnez le type de la règle, ici c’est “Classification”.

  5. Sélectionnez le type de champ, ici c’est “Texte”. Pour le type de champ Texte il n’y a pas d’Opérateur. Le système va comparer directement la valeur trouvée avec la valeur de barème.

  6. Renseignez la formule groovy, ici c’est : if (!saleOrder.shipmentMode) {“None”} else saleOrder.shipmentMode.name

Règle de classification # 3 avec un Opérateur

  1. Créez une nouvelle règle de classification, par exemple “Poids total de la commande”.

  2. Renseignez la société.

  3. Sélectionnez un objet concerné, ici c’est “SaleOrderLine”.

  4. Sélectionnez le type de la règle, ici c’est “Classification”.

  5. Sélectionnez le type de champ, ici c’est “Décimal”.

  6. Précision : 2.

  7. Opérateur : < < veut dire que l’opérateur “est inférieur à”. La valeur de la ligne de barème (sur la fiche du barème) doit être inférieure à la valeur trouvée. L’opérateur va comparer avec l’opérateur sélectionné la valeur calculée via la formule et la valeur qui se trouve dans les lignes de barème.

  8. Renseignez la formule groovy, ici c’est : saleOrder.saleOrderLineList.collect(){ (it ?.qty * it?. product.netMass) }?. sum()

Cette formule permet de calculer l’ensemble des quantités (le poids total) dans les lignes de commande? Pour chaque ligne le système récupère la quantité (la masse nette).

Règle de résultat

  1. Créez une nouvelle règle de résultat, par exemple “Prix de transport”.

  2. Renseignez la société.

  3. Sélectionnez un objet concerné, ici c’est “SaleOrderLine”.

  4. Sélectionnez le type de la règle, ici c’est “Résultat”.

  5. Champ à remplir : price (il s’agit du champ “prix de vente” sur la ligne de commande).

  6. Précision : 2.

  7. Renseignez la formule groovy, ici c’est : pricingLine.resultParam1 + product.salePrice

La valeur de la règle de résultat renseignée par l’utilisateur dans les lignes de barème est ajoutée au prix de vente du produit

La valeur calculée sera affectée au champ “Price”.

1.1. Accès : Ventes → Configuration → Règles de barème → Nouveau. La page de configuration d’une nouvelle règle de résultat.
1.1. Accès : Ventes → Configuration → Règles de barème → Nouveau. La page de configuration d’une nouvelle règle de résultat.

Configuration du barème

Accès : Ventes → Barème → Nouveau

  1. Créez un nouveau barème, par exemple “Prix de transport”.

  2. Renseignez la société et les dates de début et de fin.

  3. Indiquez les dates de début et de fin, si besoin.

  4. Sélectionnez un objet concerné, ici c’est “SaleOrderLine”.

  5. Appliquez les règles de classification (transporteur / mode d'expédition / poids total de la commande).

  6. Appliquez la règle de résultat (prix de transport).

  7. Sélectionnez le produit.

Dans l’exemple de barème vous allez trouver :

  • 4 lignes de transporteur Mondial Relay avec deux types d'expédition, livraison à domicile et livraison en point de relais.

  • 4 lignes de transporteur UPS, avec deux types d'expédition, livraison à domicile et livraison en point de relais.

  • Pour le poids total de la commande, la valeur renseignée dans la ligne va être comparée avec la valeur calculée par le système.

La valeur de la ligne (poids total de la commande, 10) va être comparée afin de vérifier si elle est inférieure à la valeur calculée grâce à la règle de classification.

  • Le prix de transport : est la règle de résultat qui va être attribuée au prix. Par exemple, si le poids total est égal à 33, le système finira par récupérer la valeur inférieure la plus proche et il calculera le prix via la formule de transport. Ce prix de transport sera ajouté au prix de vente du produit.

  • Historiser : cliquez sur ce bouton afin d’historiser le barème actuel. Il sera affiché dans le tableau “Barèmes historisés” (v7.2) / Historique (v8.0).

1.1. Créez un barème. Appliquez sur la fiche du barème des règles de classification et de résultat.
1.1. Créez un barème. Appliquez sur la fiche du barème des règles de classification et de résultat.
1.2. Cliquez sur le bouton “Historiser” afin d’historiser le barème actuel. Il sera affiché dans le tableau Historique (v8.0).
1.2. Cliquez sur le bouton “Historiser” afin d’historiser le barème actuel. Il sera affiché dans le tableau Historique (v8.0).

Utiliser les barèmes sur un devis

Accès : Ventes → Devis client → Nouveau

  1. Créez un nouveau devis.

  2. Sélectionnez le client et renseignez les informations essentielles.

  3. Dans l’onglet livraison, sélectionnez le mode d’expédition - livraison à domicile.

  4. Dans l’onglet livraison, sélectionnez le transporteur. Sélectionnez Mondial Relay.

  5. Dans l’onglet “Contenu”, sélectionnez le produit.

  6. Cliquez sur le bouton “Calculer les lignes avec un barème”. Sauvegardez.

  7. Ouvrez la page de configuration “Ligne Commande Vente” du produit. Dans l’onglet “Configuration”, vous allez trouver les logs du barème appliqué sur le produit.

Le prix HT est donc estimé à 190 euro : le prix du produit est égal à 180 euro + 10 euro de livraison calculée grâce aux barèmes qui ont pris en compte la livraison et le type de livraison.

1.1. Cliquez sur le bouton “Calculer les lignes avec un barème”. Sauvegardez.
1.1. Cliquez sur le bouton “Calculer les lignes avec un barème”. Sauvegardez.
1.2. Pour l'information, le prix de vente HT est estimé à 180 euro sur la fiche produit. En utilisant les barèmes et en calculant le prix de livraison (10 euro), le prix sera recalculé et il sera égal à 190 euro.
1.2. Pour l'information, le prix de vente HT est estimé à 180 euro sur la fiche produit. En utilisant les barèmes et en calculant le prix de livraison (10 euro), le prix sera recalculé et il sera égal à 190 euro.
1.2. Ouvrez la page de configuration “Ligne Commande Vente” du produit. Dans l’onglet “Configuration”, vous allez trouver les logs du barème appliqué sur le produit. Le prix HT est donc estimé à 190 euro : le prix du produit est égal à 180 euro + 10 euro de livraison calculée grâce aux barèmes qui ont pris en compte la livraison et le type de livraison.
1.2. Ouvrez la page de configuration “Ligne Commande Vente” du produit. Dans l’onglet “Configuration”, vous allez trouver les logs du barème appliqué sur le produit. Le prix HT est donc estimé à 190 euro : le prix du produit est égal à 180 euro + 10 euro de livraison calculée grâce aux barèmes qui ont pris en compte la livraison et le type de livraison.