Configurateurs de ventes
Théories et cas d’usage
Le configurateur de vente est un produit Low Code / No Code créé par Axelor depuis la version 5.4. Sa fonction principale est de donner la possibilité à un utilisateur de venir personnaliser une ligne de vente en fonction de plusieurs critères, ou encore de générer un produit spécifique au client par rapport à son besoin.
Cette application est principalement utilisée dans les domaines suivants :
Industrie (par exemple, en Métallurgie : le client choisit la section, la taille, la nuance etc…).
Gestion à l’affaire (commande unique à chaque client).
Prestation sur mesure (par exemple, la prestation de chantier avec le temps de main d'œuvre influencé par rapport à la taille de surface à traiter; la peinture, la maçonnerie etc…).
Le configurateur de vente vient combler le besoin des professionnels afin de retrouver ce qu’ils avaient auparavant dans Excel (créé à la main), qu’Axelor ne permet pas en standard.
A titre d’exemple :
Vous souhaite réaliser un audit chez votre client, mais beaucoup de données influent sur le coût de la prestation vendue, à savoir :
Nombre de jours vendus.
La qualification du prestataire (chef de projet, directeur etc…).
Les notes de frais.
Nuit d'hôtel incluse.
Le prestataire va-t-il se déplacer en transport ou en voiture, le client sera–t-il facturé etc.
Il est possible en standard de créer des lignes pour ce genre de situation, mais cela devient beaucoup trop complexe à gérer sans l’utilisation d’un configurateur dédié et simple d’utilisation.
Pensez à activer les configurateurs.
Activer les configurateurs
Accès : Config applicative → Gestion des applications → Ventes, configurer → activez l’option “Activer les configurateurs commerciaux”.
Un nouveau menu va par conséquent apparaître. Accès : Ventes → Configurations → Configurateurs. Dedans vous trouverez :
a. Modèles de configurateur.
b. Configurateurs (liste des configurateurs générés depuis les devis). Ce fait vous permet d’avoir un historique complet de tous vos configurateurs saisis.
Créer un modèle de configurateur
Accès : Ventes → Configurations → Configurateurs → Modèles de configurateur
Donnez un nom. Par exemple, “Audit personnalisé”.
Ajoutez des attributs qui vont vous permettre de construire votre vue formulaire.
Ajoutez des formules qui vont vous permettre de personnaliser le produit.
Générer le produit : cochez la case “Générer le produit”, si il y a besoin.
Activer : cliquez sur ce bouton afin d’activer le configurateur.
Tester le modèle : si vous avez besoin, vous pouvez également tester le modèle.
Générer produit : depuis le modèle de devis, il faut bien être prudent à cocher l’option “Générer produit” si vous souhaitez que le configurateur vous génère ou pas un produit personnalisé. Il faut faire attention dans ce cas sur la partie “Formule”, car des champs seront obligatoires.
- Quantité lot : lorsque le besoin existe, indiquez la quantité de lot. Dans certains cas, vous allez vouloir définir la quantité par utilisateur, et vous n’aurez pas besoin de renseigner ce champ. Cependant, ce champ vous permet également de définir une quantité par défaut.
Gestion des attributs & des formules
Les attributs que vous retrouverez dans le configurateur de vente vous permettront de construire la vue formulaire (ce qui est vu par l’utilisateur). Les formules permettent de confectionner et personnaliser votre produit en se basant sur les attributs.
C’est-à-dire :
Vue formulaire : au niveau de la vue formulaire, grâce aux attributs, vous pourrez ajouter des champs, mettre des séparateurs et configurer complètement le formulaire que les utilisateurs pourront voir.
Les formules : les formules permettent de confectionner et personnaliser votre produit en se basant sur les attributs. Elles permettent également de réaliser des opérations complexes afin d’obtenir un configurateur complet, par exemple :
-Votre produit est un article ou une prestation ?
-Quel est l’unité de votre produit ?
-Quel sera le prix de vente de celui-ci ?
-Quel description portera-t-il ?
Gestion des attributs
Pour créer un attribut, plusieurs champs sont nécessaires à remplir (tous ne sont pas obligatoires) :
Nom : nom technique du champ. Par exemple, “Profil”.
Nom à utiliser dans les scripts : variable créé par le configurateur pour qu’elle soit unique (elle est suivi du numéro de configurateur “_x”). Par exemple, “Profil_5”.
Attention, le “nom à utiliser dans les scripts” doit être utilisé dans vos formule, comme l'indique son appellation.
Type : Entier, Décimal, Text etc…
Titre : ce titre sera visible pour l’utilisateur. Par exemple, “Profil”.
Valeur par défaut : valeur par défaut du champ. Par exemple, pour un nombre de jours, vous pouvez mettre 1.
Aide : grâce à ce champ, vous avez la possibilité d'intégrer une info-bulle sur le champ formulaire à destination des utilisateurs.
Séquence : permet d’établir l’ordre dans le configurateur (c’est-à-dire, l’ordre dans lequel va apparaître le menu). Normalement, vous n’avez pas besoin de remplir ce champ manuellement, car la séquence va être créée automatiquement.
Options (en haut à droite) :
a.Requis : si le champ est requis, l’utilisateur doit obligatoirement remplir ce champ et il ne pourra pas aller plus loin sans l’avoir renseigné.
b.Caché : cette option permet de cacher un champ.
c. Visible dans la liste : pour l’instant cette option n’est pas disponible à l’utilisateur.
- Attributs de widget : ici, vous pouvez ajouter des éléments ergonomiques qui se trouvent dans l’aide. (exemple : largeur du champ etc, définir un panneau…).
Utilisez la documentation existante sur les widgets afin de pouvoir les configurer.
En outre, vous trouverez de l’aide dans l’onglet Aide.
Onglets Options
Vous pouvez également ajouter de la précision en passant par les onglets Options et Conditions. Dans l’onglet Options, vous trouverez :
- Sélection : permet de récupérer sélection existante dans l’outil (exemple : le type de produit, ou encore le statut d’une livraison).
La documentation sur l’Administration étudie plus profondément l’application des sélections.
- Widget : customisation du champ avec des attributs différents (3 styles de case à cocher…).
Les widgets sont uniquement dédiés aux champs.
- Au changement : vous pouvez ajouter une action qui va s’opérer à la modification du champ.
Des champs additionnels peuvent apparaître.
Si vous avez sélectionné comme type ManyToOne, le champ Modèle cible devient disponible. Il est nécessaire de renseigner le modèle cible, par exemple, ça peut être la base de produits.
Si vous sélectionnez comme type Décimal, d’autres champs vont apparaître.
Par exemple, les champs Min et Max. Ces champs permettent de renseigner les valeurs minimales / maximales.
Précision : il s’agit de la précision totale (nombre de décimales qui vont apparaître) et de la précision maximale (nb de décimales qui seront utilisés dans le calcul).
Onglet Conditions
Dans l’onglet Conditions (développement en JPQL), vous trouverez :
Montrer si : montrer le champ uniquement si.
Cacher si : cacher le champ uniquement si.
Requis si : le champ est requis uniquement si.
Lecture seule si : impossible de modifier uniquement si. C’est-à-dire, il est toujours possible d’ajouter des conditions supplémentaires à un champ.
Gestion des formules
Une formule est une opération qui permet d’obtenir le résultat final. Pour la gestion des formules, vous allez voir l’utilisation des formules dans des cas simples (sans calcul nécessaire).
Champ produit : sélectionnez le produit. Dans cet exemple, il a été indiqué que le type du produit (productTypeSelect), sera de type ‘Prestation’.
Vous pouvez faire apparaître ou non la formule en bas de formulaire, si nécessaire pour l’utilisateur.
Groovy : le script doit être écrit en Groovy.
Afficher sur le générateur : cette option permet à l’utilisateur d’avoir sur la vue formulaire des résultats finaux (en bas de la page). Il n’est pas nécessaire d’activer cette option à chaque fois, cependant ça peut être souhaitable pour certains champs (comme le prix de vente).
Vérifier le script : vous pouvez vérifier celui-ci à l’aide du bouton “Vérifier le script”.
Vous avez de l’aide pour vous donner des pistes d’utilisation de ce langage. En outre, il est possible de recourir au Chat GPT car il possède un très bon dictionnaire.
Attention, certains champs de la fiche produit étant obligatoires, il faut bien être prudent à tous les renseigner dans les formules (productTypeSelect, code, name et productFamily).
Configurateur de ventes : Groovy + Activation configurateur
Information : Groovy est le nom d'un langage de programmation orienté objet destiné à la plate-forme Java. Il constitue un substitut au langage Java pour cette plate-forme. Groovy utilise une syntaxe très proche de Java, avec des accolades.
En groovy, vous allez notamment pouvoir faire les calculs suivants :
Vous souhaitez définir le nombre de nuits d'hôtel pour votre prestataire (exemple : 1j = 0 nuit, 2j = 1 nuit) et que le système multiplie automatiquement le nombre de nuit par le taux forfaitaire.
Si le diamètre est supérieur à 50 mm (métallurgie) sur un tube, il serait bien de ne faire apparaître que les produits dont le champ dimension est supérieur à 50.
Cas d’exemple - Calcul du prix de vente
Par exemple, vous souhaitez calculer le prix de vente en fonction du coût de votre consultant et du nombre de nuits d'hôtel. Dans cet exemple il a été défini :
Une variable champ produit (cp). Ici, c’est le prix de vente (salePrice).
La valeur est incrémentée en fonction de critères précis :
-cp = 0 ;
-Si l’hôtel est inclus :cp+ = (nb de jours - 1) * prix de la nuit (peut être une configuration) ;
-Sinon cp reste inchangé ;
-cp+ = (Prix de vente de mon profil) * nb de jours ;
-retourner la valeur de cp.
Ici, les informations indiquées sont suivantes :
Vous initialisez le prix de vente (cp=0).
cp+ =(nb_days_5) * (profil_5?.salePrice?:0) Ajoute au prix de vente le nombre de jours fois le profil, et sur le profil il faut prendre en compte le prix de vente. cp+=transport_price_5
Ensuite, ajoutez le prix de transport.
if (include_food_5?:0) { cp+((nb_days_52) - 1) 20 }
Si la nourriture est incluse dans le prix, le prix sera également calculé (3 repas par jour, d'où 5*2 -1)
*20 : est le taux forfaitaire des repas, mais il peut également être renseigné dans la configuration.
if (include_hostel_5?:0) { cp+=(nb_days_5 - 1) * 90
if (istransported_5?:0) { cp+=(bareme_5)*(nb_kilometers 5) }
Vérifier le script : cliquez sur ce bouton afin de vérifier le script.
Une fois le configurateur prêt, vous allez pouvoir effectuer des actions suivantes :
Activer : activer le modèle (sinon, il ne sera pas à jour). Il est nécessaire d’activer le configurateur pour pouvoir l’utiliser.
Tester : tester directement le modèle depuis la vue.
Venir ajouter la ligne de configurateur dans le devis. Une fois cela fait, vous pourrez sortir des produits et des devis 100% personnalisés à la demande de vos clients.
Accès : Ventes → Devis client
Ajouter une ligne avec un configurateur : sur un devis client, il devient possible d’ajouter une ligne avec un configurateur. Il suffit de cliquer sur le bouton "Ajouter une ligne avec un configurateur".
Modèle de configurateur : par la suite, sélectionnez un modèle de configurateur dans la liste déroulante (notamment si vous avez plusieurs modèles de configurateur). Dans l’exemple, c’est “Audit personnalisé”.
Générer : cliquez sur “Générer” afin de générer un configurateur.
La fenêtre “Générer configurateur” va s’ouvrir. Ici, vous pouvez ajouter des informations nécessaires.
Nombre de jours : indiquez le nombre de jours (ici, il s’agit d’un modèle “audit personnalisé”).
Profil : sélectionnez le profil. Ici, c’est Consultant.
Renseignez le reste d’informations disponibles grâce au configurateur. Par exemple, vous pourrez indiquer “repas inclus - oui ou non”, “hôtel inclus - oui ou non”, etc.
Valider et générer la ligne : ce bouton vous permet de valider et générer la ligne.
Rapports : lorsque vous imprimez les rapports, les lignes ajoutées grâce au configurateur y seront présentes.