« Extraprice/en » : différence entre les versions
Page créée avec « === Entering a calculation formula === » |
Page créée avec « Definition of variables that can be used in the extraprice formula. » |
||
| Ligne 63 : | Ligne 63 : | ||
=== Entering a calculation formula === | === Entering a calculation formula === | ||
Definition of variables that can be used in the extraprice formula. | |||
<div lang="fr" dir="ltr" class="mw-content-ltr"> | <div lang="fr" dir="ltr" class="mw-content-ltr"> | ||
Version du 22 octobre 2025 à 16:56
Presentation
Extraprice is a module for calculating the prices of a product based on a set of customizable parameters and a calculation formula
Installation Prerequisites
The Extraprice module works with Dolibarr from version 3.5.x and a minimum php version of 5.3.
It is installed like any Dolibarr module by unzipping the zip file into the /htdocs/custom folder.
Preamble – Before you begin
Before starting to create an Extraprice formula, you should have some knowledge of PHP and be familiar with Dolibarr's table structure. If you don't have this type of expertise, you can contact us on our website ([www.patas-monkey.fr](http://www.patas-monkey.fr/)) so that we can offer you a service to integrate this module according to your specifications.
Configuration of the Extraprice module
The configuration of the Extraprice module is done from the administration screen accessible from the list of modules.
How dynamic price calculation works
It is not possible in Dolibarr to have a price conditioned by anything other than the quantity of the product sold.
Extraprice allows you to modify the unit sales price when creating the part lines (order, invoice and commercial proposal).
For this, Extraprice uses:
- values present in the various records (customer, product, parts, etc.) - values present in additional fields ("extrafields"), particularly those present on the part lines. - a calculation formula written in PHP in the module's settings.
Note
The premium version of extraprice allows you to add variables to calculation formulas based on customer or product category.
Ex: it is possible to create a discount coefficient per customer category which will be used for the final calculation of the unit sales price. To do this, you must create product categories, assign a value to a variable on the extraprice tab of the category (e.g. $coef=0.55) and then use this in the final calculation.
Entering a calculation formula
Definition of variables that can be used in the extraprice formula.
| $newprice | Prix calculé par la formule |
| $origineprice | Prix d'origine du produit, ATTENTION si on est sur un produit ou service libre, cette valeur sera à zéro (il faudra saisir le prix de base pour le calcul ailleurs).
|
| $objectvalue | Objet contenant les champs supplémentaires associés à la ligne de la pièce
Ex : pour accéder à la valeur définie dans le champ 'longueur', il faut utiliser la variable $objectvalue['options_longueur'] |
| $product | Objet contenant les valeurs associées au produit (référence, description...)
Exemple de valeurs :
Attention : cette objet n'est présent que si il s'agit d'un prix défini à partir d'un produit (pas une saisie libre) |
| $mainelement | Objet contenant les valeurs associées à la pièce (facture, commande, proposition commerciale) |
| $societe | Objet contenant les valeurs associées à la société de la pièce (le destinataire de la facture) |
| $object | Objet contenant les valeurs associées à ligne de la pièce (facture, commande ou propale) |
| $elementextravalue | Objet contenant les champs supplémentaire associé à la pièce (facture, commande, proposition commerciale) |
| $societeextravalue | Objet contenant les champs supplémentaires associés à la société
Ex : pour accéder à une valeur définie dans le champ "coeff", il faut utiliser la variable $societeextravalue['options_coeff'] |
| $productextravalue | Objet contenant les champs supplémentaires associés au produit
Ex : pour accéder à une valeur définie dans le champ "coeff", il faut utiliser la variable $productextravalue['options_coeff'] |
| $categsocieteid | contient l'identifiant de la catégorie de société auquel appartient la société |
| $categproductid | contient l'identifiant de la catégorie de produit auquel appartient le produit |
il est possible d'avoir des constantes en passant par la configuration/Divers de Dolibarr il suffit pour cela de définir une variable et sa valeur La valeur saisie peut être récupérée avec la $conf->global->LA_VARIABLE_DIVERSE
Exemple : Détermination du prix d'un produit selon la surface vendue
Un produit a un prix fixé au mètre carré.
Nous ajoutons 2 champs supplémentaires (extrafields) nommés « longueur » et « largeur » correspondant aux dimensions de la surface vendue.
Dans ce cas, le prix de vente du produit correspond au prix au m² multiplié par la longueur et la largeur
Pour un produit à 100 € le mètre carré, si on vend une surface de 50 cm de long par 25 cm de large, le prix sera de 12,50 € l'unité (100 x 0,25 x 0,50)
Il est possible de rajouter un coût spécifique de découpe par produit selon, par exemple, sa matière : plastique, verre…
Dans ce cas, il sera nécessaire de rajouter un « extrafield » sur le produit pour stocker la donnée du coût unitaire de la découpe qui sera ajouté au prix de vente unitaire dans la formule.
Pour un produit à 100 € le mètre carré, et une découpe à 20, si on vend une surface de 50 cm de long par 25 cm de large, le prix sera de 32,50 € l'unité (20 + 100 x 0,25 x 0,50)

