
Tarifs dégressifs / NsPriceDegres
Documentation du module · version 23.0.0 · éditeur NSINFO
Sommaire
1. Présentation
Tarifs dégressifs permet de déclarer, pour chaque produit ou service, des prix de vente par quantité, généraux ou réservés à un client. Dès qu’un produit est ajouté à un document avec une quantité, le prix du palier correspondant est appliqué (un palier est une quantité minimale et son prix unitaire) ; sans tarif, le prix de vente habituel du produit est conservé.
- Les tarifs se saisissent dans un onglet « Tarifs dégressifs » de la fiche produit : un palier par ligne, avec un client facultatif, une quantité minimale et un prix unitaire HT. Ils peuvent aussi être importés depuis un fichier (csv, xls ou xlsx).
- Le tarif d’un client passe avant le tarif général.
- Le prix est appliqué à l’ajout d’une ligne et refait quand on change la quantité d’une ligne.
- Un bouton « Mettre à jour les tarifs » remet à jour toutes les lignes d’un document en brouillon, côté ventes (prix de vente et prix d’achat) comme côté achats (prix d’achat fournisseur).
- Le nom et la couleur du bouton se règlent dans les options du module.
- Dans l’onglet des prix fournisseurs d’un produit, le module ajoute l’import des prix d’achat depuis un fichier et la suppression de plusieurs prix à la fois.
- Le module ne modifie pas le cœur de Dolibarr.
Documents pris en charge
| Clients | Fournisseurs |
|---|---|
| Propositions commerciales | Demandes de prix (devis fournisseurs) |
| Commandes clients | Commandes fournisseurs |
| Factures clients | Factures fournisseurs |
2. Prérequis et installation
2.1 Prérequis
- Dolibarr 20 à 24, PHP 7.4 à 8.3.
- Le framework NSINFO (gratuit), installé et activé, version 23.8.0 ou plus récente : l’activation du module est refusée sinon.
2.2 Installation
- Installez le module comme décrit sur la page d’installation d’un module.
- Activez-le dans Accueil > Configuration > Modules, comme indiqué sur la page d’activation et de paramètres.
- Donnez les droits aux utilisateurs concernés (voir Droits d’accès).
2.3 Mise à jour / réactivation
Après une mise à jour du module, désactivez-le puis réactivez-le : l’onglet de la fiche produit, le menu et les options par défaut sont enregistrés à l’activation.
3. Configuration
Les options se trouvent dans Accueil > Configuration > Modules > Tarifs dégressifs (roue crantée du module).
3.1 Options
| Option | Effet |
|---|---|
| Appliquer le tarif dégressif à l’ajout d’une ligne | Quand on ajoute un produit dans une proposition, une commande ou une facture client, le prix du palier de quantité remplace le prix de vente par défaut. Un prix différent du prix par défaut, modifié à la main, n’est pas remplacé. Activée par défaut. |
| Recalculer le prix quand la quantité d’une ligne est modifiée | Dans un document client en brouillon, le prix de la ligne est refait dès que la quantité change dans le champ, puis à l’enregistrement de la ligne : tarif de la nouvelle quantité, sinon prix de vente par défaut. Un prix modifié à la main n’est pas remplacé. Activée par défaut. |
3.2 Nom et couleur du bouton
| Option | Effet |
|---|---|
| Nom du bouton de mise à jour des prix | Texte du bouton affiché sur les documents. Laissé vide, le bouton s’appelle « Mettre à jour les tarifs » sur les documents clients et « Mettre à jour les prix d’achat » sur les documents fournisseurs. |
| Couleur du bouton de mise à jour des prix | Couleur de fond du bouton (violet par défaut). |
4. Droits d’accès
Dans Utilisateurs & groupes > Permissions, rubrique « Tarifs dégressifs » :
| Droit | Permet |
|---|---|
| Consulter les tarifs dégressifs | Voir l’onglet de la fiche produit et la liste des produits avec tarifs. |
| Créer / modifier les tarifs dégressifs | Ajouter un tarif, modifier son prix unitaire, importer des tarifs et importer des prix d’achat fournisseurs. |
| Supprimer les tarifs dégressifs | Supprimer un ou plusieurs tarifs, et supprimer plusieurs prix fournisseurs depuis l’onglet des prix d’achat. |
L’import des prix d’achat et leur suppression demandent aussi le droit de modifier les prix fournisseurs du produit ou du service.
Le bouton de mise à jour des prix demande, en plus, le droit de modifier le document concerné (proposition, commande, facture, ou leur équivalent fournisseur).
5. Utilisation
5.1 Saisir les tarifs d’un produit
Ouvrez la fiche d’un produit ou d’un service puis l’onglet Tarifs dégressifs. La zone d’ajout se trouve au-dessus de la liste des paliers existants :
- Client : laissez « Tous les clients (tarif général) » ou choisissez un client pour un tarif qui lui est réservé.
- Quantité minimale : le tarif s’applique à partir de cette quantité (incluse), jusqu’au palier suivant. Laissée vide, la quantité prend la première valeur libre (1, puis 2, puis 3…) parmi les tarifs du produit pour le même client, ou pour tous les clients.
- Prix de vente unitaire HT : obligatoire.
- Actif : seuls les tarifs actifs sont appliqués.
Une même quantité ne peut exister qu’une seule fois pour un produit et un client (ou pour tous les clients). Le module refuse l’ajout d’un doublon.
La liste est une liste Dolibarr standard : filtres de recherche, attributs supplémentaires (en colonnes et en filtres), choix des colonnes affichées, tri et pagination.
Pour modifier le prix unitaire, changez-le directement dans la liste : il est enregistré automatiquement dès que vous quittez le champ ou validez avec la touche Entrée, et une coche verte le confirme. Seul le prix se modifie ainsi ; pour corriger la quantité ou le client, supprimez le tarif et recréez-le.
Pour supprimer des tarifs, cochez-les (la case de l’en-tête coche toute la liste), choisissez l’action Supprimer puis confirmez.
5.2 Importer des tarifs depuis un fichier
Dans l’onglet Tarifs dégressifs, le bouton Importer des tarifs (en haut de la liste) ouvre une fenêtre : glissez-y un fichier csv, xls ou xlsx (2 Mo et 5 000 lignes au maximum) ou cliquez pour le choisir. Le fichier est lu dès qu’il est déposé.
| Colonne | Contenu |
|---|---|
| 1 | Tiers : nom, code client ou identifiant du tiers. Vide = tous les clients (tarif général). |
| 2 | Quantité minimale. Vide = première quantité libre. |
| 3 | Prix unitaire HT (obligatoire). |
- Une première ligne d’en-têtes est ignorée.
- Si la quantité existe déjà pour le même produit et le même client (ou pour tous les clients), son prix est mis à jour ; sinon le tarif est créé.
- Un message indique le nombre de tarifs créés, mis à jour et de lignes en erreur, puis détaille les erreurs (tiers introuvable ou en double, prix ou quantité invalide).
5.3 Liste des produits avec tarifs
Dans le menu Produits, l’entrée Tarifs dégressifs ouvre la liste des produits qui ont au moins un tarif dégressif : nombre de paliers, nombre de tarifs réservés à un client, prix le plus bas et prix le plus haut. Elle se filtre par référence et par libellé et demande le droit de lire les produits ou les services ; l’icône en bout de ligne ouvre l’onglet du produit.
5.4 Le tarif dans les documents
Sur les propositions, commandes et factures clients en brouillon :
- Ajout d’une ligne : après le choix du produit et de la quantité, le prix du tarif correspondant est utilisé. S’il n’y a pas de tarif pour cette quantité, le prix de vente habituel du produit est conservé.
- Changement de quantité (à la modification comme à l’ajout) : le champ prix se met à jour tout de suite, puis le prix est confirmé à l’enregistrement de la ligne. Si aucun tarif ne correspond à la nouvelle quantité, le prix de vente par défaut du produit revient.
- Un prix saisi à la main n’est jamais remplacé.
5.5 Le bouton de mise à jour des prix
Un bouton apparaît dans la barre des actions des documents en brouillon uniquement, pour les utilisateurs qui peuvent modifier le document. Il fait le tour de toutes les lignes de produits et de services.
Documents clients
- Prix de vente : recalculé avec les tarifs dégressifs (tarif du client d’abord, puis tarif général). Une ligne sans tarif garde son prix.
- Prix d’achat de la ligne (utilisé pour la marge) : remplacé par le prix fournisseur le plus bas pour la quantité de la ligne, tous fournisseurs confondus, après la remise du fournisseur.
Documents fournisseurs
- Le prix de chaque ligne est remplacé par le prix d’achat du fournisseur du document pour la quantité de la ligne (palier de quantité de la fiche produit, onglet des prix d’achat). Une ligne sans prix fournisseur garde son prix.
Un message récapitule le nombre de lignes mises à jour et le nombre de lignes sans prix applicable. Les totaux du document sont recalculés.
5.6 Prix d’achat fournisseurs d’un produit
Dans l’onglet des prix fournisseurs de la fiche produit, le module ajoute deux fonctions.
Importer des prix d’achat
Le bouton Importer des prix d’achat ouvre une fenêtre : choisissez d’abord le fournisseur dans la liste, puis déposez le fichier (csv, xls ou xlsx).
| Colonne | Contenu | Saisie |
|---|---|---|
| 1 | Référence produit du fournisseur (vide = référence du produit) | obligatoire |
| 2 | Quantité minimale | obligatoire |
| 3 | Taux de TVA pour ce produit et ce fournisseur | obligatoire |
| 4 | Prix HT pour la quantité minimale | obligatoire |
| 5 | Remise pour cette quantité, en % | facultative |
| 6 | Délai de livraison, en jours | facultatif |
| 7 | Réputation | facultative |
| 8 | Client (rempli dans l’attribut supplémentaire « Client » des prix fournisseurs, s’il existe) | facultatif |
Un prix déjà existant pour le même fournisseur et la même quantité est mis à jour ; sinon il est créé. Un message récapitule les prix créés, mis à jour et les lignes en erreur.
Supprimer plusieurs prix
Une colonne de sélection est ajoutée à la liste : cochez les prix (la case de l’en-tête les coche tous), choisissez l’action Supprimer puis confirmez. Seuls les prix du produit affiché sont concernés.
6. Règles de calcul
| Situation | Prix de vente retenu |
|---|---|
| Un tarif actif existe pour le client et la quantité | Le tarif du client dont la quantité minimale est la plus grande sans dépasser la quantité de la ligne. |
| Pas de tarif client, mais un tarif général | Le tarif général de ce même type (quantité minimale la plus grande sans dépasser la quantité). |
| Aucun tarif applicable | Le prix de vente habituel du produit (ajout et changement de quantité) ou le prix de la ligne inchangé (bouton). |
Exemple : produit à 10 € par défaut, tarif général à 9 € à partir de 10, 8 € à partir de 50 ; tarif du client Dupont à 7,50 € à partir de 20. Pour 5 pièces : 10 €. Pour 12 : 9 €. Pour 60 : 8 € (hors tarif client). Pour 25 chez Dupont : 7,50 €. Pour 12 chez Dupont : 9 € (son tarif ne commence qu’à 20).
7. Limites connues et FAQ
- Les prix des tarifs sont des prix hors taxes dans la devise de la société. Les lignes en devise étrangère ne sont pas modifiées par le bouton (un message le signale).
- Le bouton est réservé aux documents en brouillon.
- Le bouton modifie directement les lignes : les automatismes de Dolibarr liés à la modification d’une ligne ne sont pas déclenchés.
- Un prix modifié à la main puis une modification de quantité : le prix saisi est conservé ; utilisez le bouton pour le remplacer par le tarif.
- Le client d’un tarif et la quantité d’un tarif existant ne se modifient pas : supprimez le tarif et recréez-le.
- Les imports (tarifs et prix d’achat) sont limités à 2 Mo et 5 000 lignes ; si certaines lignes sont en erreur, les autres sont quand même enregistrées.
- Si l’affichage des cases de sélection à gauche est activé dans Dolibarr, la colonne de sélection des prix fournisseurs reste à droite de la liste.
- Si le module « NSINFO » est désactivé après coup, la page de réglages de Tarifs dégressifs n’est plus utilisable.