« Extraprice » : différence entre les versions

De Documentations Patas-monkey
Aller à la navigation Aller à la recherche
Cette version a été marquée à traduire
Ligne 1 : Ligne 1 :
<languages/>
<languages/>
<translate>
<translate>
<!--T:1-->
{| class="wikitable"  
{| class="wikitable"  
|- style="vertical-align:top;"  
|- style="vertical-align:top;"  
Ligne 7 : Ligne 8 :
|}
|}


== Présentation ==
== Présentation == <!--T:2-->


<!--T:3-->
'''Extraprice''' est un module permettant de calculer les prix d'un produit en fonction d'un ensemble de paramètres et d'une formule de calcul personnalisables
'''Extraprice''' est un module permettant de calculer les prix d'un produit en fonction d'un ensemble de paramètres et d'une formule de calcul personnalisables


== Pré-requis d'installation ==
== Pré-requis d'installation == <!--T:4-->


<!--T:5-->
Le module '''Extraprice''' fonctionne avec Dolibarr à partir de la version 3.5.x et une version de php minimum 5.3.
Le module '''Extraprice''' fonctionne avec Dolibarr à partir de la version 3.5.x et une version de php minimum 5.3.


<!--T:6-->
Il s'installe comme n'importe quel module Dolibarr en décompressant le fichier zip dans le dossier /htdocs/custom.
Il s'installe comme n'importe quel module Dolibarr en décompressant le fichier zip dans le dossier /htdocs/custom.


== Préambule – Avant de commencer ==
== Préambule – Avant de commencer == <!--T:7-->


<!--T:8-->
Avant de lancer la création d'une formule '''d'Extraprice''' , il convient d'avoir des notions de langage php et de connaître la structuration des tables de Dolibarr.  
Avant de lancer la création d'une formule '''d'Extraprice''' , il convient d'avoir des notions de langage php et de connaître la structuration des tables de Dolibarr.  
Si vous n'avez pas ce genre de compétence, vous pouvez nous contactez sur notre site ([www.patas-monkey.fr](http://www.patas-monkey.fr/)) afin que nous vous proposions une prestation d&#39;intégration de ce module selon vos spécifications.
Si vous n'avez pas ce genre de compétence, vous pouvez nous contactez sur notre site ([www.patas-monkey.fr](http://www.patas-monkey.fr/)) afin que nous vous proposions une prestation d&#39;intégration de ce module selon vos spécifications.


<!--T:9-->
{{Note| Attention: La version 20.0.0 de Dolibarr contient une anomalie qui génère une erreur de calcul sur la TVA quand on utilise le bouton de recalcul des prix. Ce problème se règle en réalisant une mise à jour de dolibarr vers une version postérieur (20.0.4 ou 21.xx, ...) |warn}}
{{Note| Attention: La version 20.0.0 de Dolibarr contient une anomalie qui génère une erreur de calcul sur la TVA quand on utilise le bouton de recalcul des prix. Ce problème se règle en réalisant une mise à jour de dolibarr vers une version postérieur (20.0.4 ou 21.xx, ...) |warn}}


== Configuration du module Extraprice ==
== Configuration du module Extraprice == <!--T:10-->


<!--T:11-->
La configuration du module '''Extraprice''' se fait à partir de l'écran d'administration accessible depuis la liste des modules.
La configuration du module '''Extraprice''' se fait à partir de l'écran d'administration accessible depuis la liste des modules.






<!--T:12-->
{| class="wikitable"  
{| class="wikitable"  
|- style="vertical-align:top;"  
|- style="vertical-align:top;"  
Ligne 37 : Ligne 45 :
|}
|}


== Fonctionnement du calcul du prix dynamique ==
== Fonctionnement du calcul du prix dynamique == <!--T:13-->


<!--T:14-->
Il n'est pas possible dans Dolibarr d'avoir un prix conditionné par autre chose que la quantité du produit vendu.
Il n'est pas possible dans Dolibarr d'avoir un prix conditionné par autre chose que la quantité du produit vendu.


<!--T:15-->
'''Extraprice''' permet de modifier, lors de la création des lignes de pièces (commande, facture et proposition commerciale), le prix de vente unitaire.
'''Extraprice''' permet de modifier, lors de la création des lignes de pièces (commande, facture et proposition commerciale), le prix de vente unitaire.


<!--T:16-->
Pour cela, '''Extraprice''' utilise :
Pour cela, '''Extraprice''' utilise :


<!--T:17-->
- des valeurs présentes dans les différentes fiches (client, produit, pièces…)
- des valeurs présentes dans les différentes fiches (client, produit, pièces…)
- des valeurs présentes dans des champs supplémentaires (« extrafields ») et en particulier ceux présents sur les lignes de pièces.
- des valeurs présentes dans des champs supplémentaires (« extrafields ») et en particulier ceux présents sur les lignes de pièces.
- Une formule de calcul écrite en php dans le paramétrage du module.
- Une formule de calcul écrite en php dans le paramétrage du module.


=== Remarque ===
=== Remarque === <!--T:18-->


<!--T:19-->
La version premium d'extraprice permet d'ajouter des variables aux formules de calculs selon la catégorie cliente ou produit.
La version premium d'extraprice permet d'ajouter des variables aux formules de calculs selon la catégorie cliente ou produit.


<!--T:20-->
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
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 ===
=== Saisie d'une formule de calcul === <!--T:21-->


<!--T:22-->
Définition des variables utilisables dans la formule d'extraprice.
Définition des variables utilisables dans la formule d'extraprice.


<!--T:23-->
{| class="wikitable"  
{| class="wikitable"  
|- style="vertical-align:top;"  
|- style="vertical-align:top;"  
Ligne 67 : Ligne 83 :
|  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).
|  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).


<!--T:24-->
|- style="vertical-align:top;"  
|- style="vertical-align:top;"  
| '''$objectvalue'''  
| '''$objectvalue'''  
Ligne 107 : Ligne 124 :
|}
|}


<!--T:25-->
il est possible d'avoir des constantes en passant par la configuration/Divers de Dolibarr
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
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
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 ===
=== Exemple : Détermination du prix d'un produit selon la surface vendue === <!--T:26-->


<!--T:27-->
Un produit a un prix fixé au mètre carré.
Un produit a un prix fixé au mètre carré.


<!--T:28-->
Nous ajoutons 2 champs supplémentaires (extrafields) nommés « longueur » et « largeur » correspondant aux dimensions de la surface vendue.
Nous ajoutons 2 champs supplémentaires (extrafields) nommés « longueur » et « largeur » correspondant aux dimensions de la surface vendue.


<!--T:29-->
Dans ce cas, le prix de vente du produit correspond au prix au m² multiplié par la longueur et la largeur
Dans ce cas, le prix de vente du produit correspond au prix au m² multiplié par la longueur et la largeur


<!--T:30-->
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)
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)


<!--T:31-->
Il est possible de rajouter un coût spécifique de découpe par produit selon, par exemple, sa matière : plastique, verre…
Il est possible de rajouter un coût spécifique de découpe par produit selon, par exemple, sa matière : plastique, verre…


<!--T:32-->
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.
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.


<!--T:33-->
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)
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 ==
== TVA transporteur sur facture fournisseur == <!--T:34-->


<!--T:35-->
[[File:Extraprice-tva-transport.png|800px]]
[[File:Extraprice-tva-transport.png|800px]]
</translate>
</translate>

Version du 22 octobre 2025 à 16:52

Ce module permet de définir une règle de calcul pour la détermination du prix de vente unitaire (par exemple en prenant des paramètres supplémentaires - extrafields), cette version premium ajoute le paramétrages de valeurs personnalisées par catégories (client et produit)

Présentation

Extraprice est un module permettant de calculer les prix d'un produit en fonction d'un ensemble de paramètres et d'une formule de calcul personnalisables

Pré-requis d'installation

Le module Extraprice fonctionne avec Dolibarr à partir de la version 3.5.x et une version de php minimum 5.3.

Il s'installe comme n'importe quel module Dolibarr en décompressant le fichier zip dans le dossier /htdocs/custom.

Préambule – Avant de commencer

Avant de lancer la création d'une formule d'Extraprice , il convient d'avoir des notions de langage php et de connaître la structuration des tables de Dolibarr. Si vous n'avez pas ce genre de compétence, vous pouvez nous contactez sur notre site ([www.patas-monkey.fr](http://www.patas-monkey.fr/)) afin que nous vous proposions une prestation d'intégration de ce module selon vos spécifications.

Attention: La version 20.0.0 de Dolibarr contient une anomalie qui génère une erreur de calcul sur la TVA quand on utilise le bouton de recalcul des prix. Ce problème se règle en réalisant une mise à jour de dolibarr vers une version postérieur (20.0.4 ou 21.xx, ...)

Configuration du module Extraprice

La configuration du module Extraprice se fait à partir de l'écran d'administration accessible depuis la liste des modules.


La première zone de saisie permet de paramétrer la formule de calcul qui sera utilisée pour déterminer les prix de vente unitaires.

Autre fonctionnalité du module, il est possible de définir un ou plusieurs produit/service pour saisir la TVA pour les société de transport

Fonctionnement du calcul du prix dynamique

Il n'est pas possible dans Dolibarr d'avoir un prix conditionné par autre chose que la quantité du produit vendu.

Extraprice permet de modifier, lors de la création des lignes de pièces (commande, facture et proposition commerciale), le prix de vente unitaire.

Pour cela, Extraprice utilise :

- des valeurs présentes dans les différentes fiches (client, produit, pièces…) - des valeurs présentes dans des champs supplémentaires (« extrafields ») et en particulier ceux présents sur les lignes de pièces. - Une formule de calcul écrite en php dans le paramétrage du module.

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