« Extraprice » : différence entre les versions

De Documentations Patas-monkey
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(19 versions intermédiaires par la même utilisatrice non affichées)
Ligne 7 : Ligne 7 :
== Présentation ==
== 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
'''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 ==


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.


Il s'installe comme n'importe quel module Dolibarr en décompressant e zip dans le dossier /htdocs/custom.
Il s'installe comme n'importe quel module Dolibarr en décompressant e zip dans le dossier /htdocs/custom.
Ligne 17 : Ligne 17 :
== Préambule – Avant de commencer ==
== 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.
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.


== Configuration du module Extraprice de base ==
== Configuration du module Extraprice ==


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.


Elle permet de saisir la formule de calcul qui sera utilisée pour déterminer les prix de vente unitaires.




== Principe de fonctionnement ==
{| class="wikitable"
|- style="vertical-align:top;"
| [[File:Extraprice-setting.png]]
| 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.
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.
'''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 :
Pour cela, '''Extraprice''' utilise :


- 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…)
Ligne 38 : Ligne 44 :
- 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 ===


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.
Ligne 44 : Ligne 50 :
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 ===


Définition des variables utilisables dans la formule, les variables en rouges ne sont accessibles que dans la version premium (payante) d'extraprice.
Définition des variables utilisables dans la formule d'extraprice.


{| class="wikitable"  
{| class="wikitable"  
|- style="vertical-align:top;"  
|- style="vertical-align:top;"  
| **$newprice**
| '''$newprice'''
| Prix calculé par la formule  
| Prix calculé par la formule  
|}
|- style="vertical-align:top;"
| '''$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).


{| class="wikitable"
|- style="vertical-align:top;"  
|- style="vertical-align:top;"  
| **$newprice** | Prix calculé par la formule |
| '''$objectvalue'''  
| --- | --- |
| Objet contenant les champs supplémentaires associés à la ligne de la pièce
| **$origineprice** | Prix d'origine du produit |
Ex : pour accéder à la valeur définie dans le champ 'longueur',
| --- | --- |
il faut utiliser la variable $objectvalue['options_longueur']  
| **$objectvalue** | Objet contenant les champs supplémentaires associés à la ligne de la pièce
|- style="vertical-align:top;"
Ex : pour accéder à la valeur définie dans le champ 'lngr',
| '''$product'''
il faut utiliser la variable $objectvalue['options_longueur'] |
| Objet contenant les valeurs associées au produit (référence, description...)
| **$product** | Objet contenant les valeurs associées au produit (référence, description...)Ex : price_min (prix minimum) sera récupéré par la variable $product->price_min
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) |
* $product['price_min'] (prix minimum) sera récupéré par la variable $product->price_min
| **$mainelement** | Object contenant les valeurs associées à la pièce (facture, commande, proposition commerciale) |
* $product['ref'] pour récupérer/tester la référence du produit|
| **$societe** | Objet contenant les valeurs associées à la société de la pièce (le destinataire de la facture) |
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)
| **$objet** | Objet contenant les valeurs associées à ligne de la pièce (facture, commande ou propale) |
|- style="vertical-align:top;"
| **$elementextravalue** | Object contenant les champs supplémentaire associé à la pièce (facture, commande, proposition commerciale) |
| '''$mainelement'''
| **$societeextravalue** | Objet contenant les champs supplémentaires associés à la société
| Objet contenant les valeurs associées à la pièce (facture, commande, proposition commerciale)  
Ex : pour accéder à une valeur définie dans le champ "coeff",
|- style="vertical-align:top;"
il faut utiliser la variable $societeextravalue['options_coeff'] |
| '''$societe'''
| **$productextravalue** | Objet contenant les champs supplémentaires associés au produit
| Objet contenant les valeurs associées à la société de la pièce (le destinataire de la facture)  
Ex : pour accéder à une valeur définie dans le champ "coeff",
|- style="vertical-align:top;"
il faut utiliser la variable $productextravalue['options_coeff'] |
| '''$objet'''
| Objet contenant les valeurs associées à ligne de la pièce (facture, commande ou propale)  
|- style="vertical-align:top;"
| '''$elementextravalue'''
| Objet contenant les champs supplémentaire associé à la pièce (facture, commande, proposition commerciale)  
|- style="vertical-align:top;"
| '''$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']
|- style="vertical-align:top;"
| '''$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']
|- style="vertical-align:top;"
| '''$categsocieteid'''
| contient l'identifiant de la catégorie de société auquel appartient la société
|- style="vertical-align:top;"
| '''$categproductid'''
| contient l'identifiant de la catégorie de produitauquel appartient le produit
|}
|}
== Exemple d'utilisation - Détermination du prix d'un produit selon la surface vendue ==
 
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é.
Un produit a un prix fixé au mètre carré.
Ligne 91 : Ligne 121 :


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 ==
[[File:Extraprice-tva-transport.png|800px]]

Dernière version du 7 octobre 2024 à 22:35

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

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)
$objet 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 produitauquel 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