« Extraprice/en » : différence entre les versions

De Documentations Patas-monkey
Aller à la navigation Aller à la recherche
Liam (discussion | contributions)
Page créée avec « For this, '''Extraprice''' uses: »
Liam (discussion | contributions)
Page créée avec « - 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. »
Ligne 49 : Ligne 49 :
For this, '''Extraprice''' uses:
For this, '''Extraprice''' uses:


<div lang="fr" dir="ltr" class="mw-content-ltr">
- values ​​present in the various records (customer, product, parts, etc.)
- des valeurs présentes dans les différentes fiches (client, produit, pièces…)
- values ​​present in additional fields ("extrafields"), particularly those present on the part lines.
- des valeurs présentes dans des champs supplémentaires (« extrafields ») et en particulier ceux présents sur les lignes de pièces.
- a calculation formula written in PHP in the module's settings.
- Une formule de calcul écrite en php dans le paramétrage du module.
</div>


<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

This module allows you to define a calculation rule for determining the unit selling price (for example, by taking additional parameters - extrafields). This premium version adds the ability to configure custom values ​​by category (customer and product).

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.

Warning: Dolibarr version 20.0.0 contains an anomaly that generates a VAT calculation error when using the price recalculation button. This problem can be resolved by updating Dolibarr to a later version (20.0.4 or 21.xx, ...)

Configuration of the Extraprice module

The configuration of the Extraprice module is done from the administration screen accessible from the list of modules.


The first input field allows you to configure the calculation formula that will be used to determine unit sales prices.

Another feature of the module is that it is possible to define one or more products/services to capture VAT for transport companies.

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.

Remarque

La version premium d'extraprice permet d'ajouter des variables aux formules de calculs selon la catégorie cliente ou produit.

Ex : il est possible de créer un coefficient de remise par catégorie client qui sera utilisé pour le calcul final du prix de vente unitaire. il faut pour cela créer des catégories produits, d'affecter sur l'onglet d'extraprice de la catégorie une valeur à une variable (ex $coef=0.55 ) et puis d'utiliser celle-ci dans le calcul final

Saisie d'une formule de calcul

Définition des variables utilisables dans la formule d'extraprice.

$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 :

  • $product['price_min'] (prix minimum) sera récupéré par la variable $product->price_min
  • $product['ref'] pour récupérer/tester la référence du produit|

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)

TVA transporteur sur facture fournisseur