InfraSDiscount Saisie de remises pour Dolibarr 1. PRÉSENTATION DU MODULE Présentation du module InfraSMultiDiscount est un module optionnel pour Dolibarr ERP & CRM qui simplifie et améliore considérablement la gestion des remises commerciales. Le module permet : La saisie de remises en pourcentage ou en valeur monétaire L'application de remises en cascade sur le total du document Le calcul dynamique des remises lors de toute modification du document La gestion des remises différenciées entre produits et services Le respect de la cohérence des marges commerciales La gestion des remises en devises étrangères L'application automatique de remises selon des règles prédéfinies DOCUMENTS COMPATIBLES : Devis commerciaux (propositions) Commandes clients Factures clients LICENCE : Ce module est distribué sous licence GNU General Public License v3+ ou supérieure. Voir le fichier LICENSE pour plus d'informations. 10. DÉPANNAGE Dépannage 1.LES REMISES N'APPARAISSENT PAS Vérifications : Le module est bien activé (Configuration > Modules) Les permissions "use" sont accordées à l'utilisateur Les remises sont activées pour le type de document (Configuration du module) Le document est en mode "brouillon" (les remises ne peuvent pas être ajoutées sur un document validé) 2.LES MONTANTS NE SE RECALCULENT PAS Causes possibles : Document n'est pas en mode brouillon Cache navigateur (rafraîchir avec Ctrl+F5) Erreur JavaScript (ouvrir la console développeur) Solution : Rafraîchir la page (Ctrl+F5) Vérifier que le document est en brouillon Si le problème persiste : modifiez manuellement la ligne de remise 3.ERREUR APRÈS MISE À JOUR Symptômes : Erreurs lors de l'ouverture de documents Remises qui ne fonctionnent plus Champs manquants Solution : Allez dans Configuration > Modules Désactivez InfraSMultiDiscount Réactivez immédiatement InfraSMultiDiscount Videz le cache navigateur (Ctrl+F5) Cette opération met à jour la base de données. 4.LES MARGES SONT INCORRECTES Vérifications : Les prix d'achat sont bien renseignés sur les fiches produits Les articles comptables pour les remises sont correctement paramétrés La répartition des remises respecte bien le type d'article (produit/service) 5.REMISES AUTOMATIQUES NON APPLIQUÉES Vérifications : La fonctionnalité est activée dans la configuration Le nombre de commandes du client est inférieur à la limite paramétrée Les références concernées sont bien sélectionnées dans la configuration La commande a été validée (les remises auto s'appliquent à la validation) 6. PROBLÈME DE COMPATIBILITÉ VERSION PHP Le module vérifie la version PHP requise : Version minimale : définie dans le changelog.xml Version maximale : définie dans le changelog.xml Si erreur : Vérifiez votre version PHP ( phpinfo() ) Mettez à jour PHP si nécessaire Ou téléchargez une version compatible du module 7.PROBLÈME DE COMPATIBILITÉ DOLIBARR Le module vérifie la version minimale de Dolibarr requise. Si le module se désactive automatiquement : Vérifiez votre version Dolibarr ( Accueil > À propos ) Mettez à jour Dolibarr si nécessaire Ou téléchargez une version compatible du module Pour désactiver cette vérification ( déconseillé ) : Ajoutez la constante INFRASDISCOUNT_DISABLE_CHECK_VERSION_MIN = 1 Dans Configuration > Autres > Dictionnaires 8.ERREUR XML MANQUANTE Erreur : "InfraSDiscountChangelogXMLError" Cause : Extension PHP XML non installée Solution : Installez l'extension PHP XML Sur Debian/Ubuntu : sudo apt-get install php-xml Sur Red Hat/CentOS : sudo yum install php-xml Redémarrez le serveur web Réactivez le module 11. SUPPORT ET AIDE Support et Aide DOCUMENTATION Le wiki contient : Tutoriels vidéo Exemples d'utilisation FAQ détaillée Notes de version CHANGELOG Pour consulter l'historique des modifications : Menu : Outils > InfraS > InfraSDiscount > Changelog Le changelog détaille : Les nouvelles fonctionnalités Les corrections de bugs Les modifications de compatibilité Les instructions de mise à jour SUPPORT TECHNIQUE Pour toute question ou problème : Email : support@infras.fr Site web : https://www.infras.fr/ Avant de contacter le support, préparez : Version de Dolibarr utilisée Version du module InfraSMultiDiscount Version de PHP Description détaillée du problème Captures d'écran si possible Messages d'erreur éventuels SIGNALER UN BUG Pour signaler un bug : Vérifiez que vous utilisez la dernière version du module Consultez le changelog pour voir si le bug est corrigé Contactez le support avec : Étapes détaillées pour reproduire le bug Comportement attendu vs comportement constaté Environnement technique (versions) Logs d'erreur ( htdocs/documents/dolibarr.log ) DEMANDER UNE FONCTIONNALIT É Pour suggérer une amélioration : Vérifiez qu'elle n'existe pas déjà dans une version récente Contactez support@infras.fr avec : Description détaillée de la fonctionnalité souhaitée Cas d'usage concret MISE À JOUR Le module vérifie automatiquement les mises à jour disponibles. Pour mettre à jour : Téléchargez la nouvelle version depuis le site InfraS Sauvegardez votre base de données (précaution) Remplacez le dossier du module IMPORTANT : Désactivez puis réactivez le module Testez sur un document de test URL de vérification des mises à jour : https://www.infras.fr/jdownloads/Modules_Dolibarr/infrasdiscount/infrasdiscount.txt 12. EXEMPLES D'UTILISATION Exemples d'Utilisation Exemple 1 : Devis avec remise en cascade Contexte : Proposer une remise exceptionnelle Document : Devis Lignes : - Produit A : 10 × 50 € = 500 € HT - Produit B : 5 × 100 € = 500 € HT Sous-total : 1000 € HT Remises InfraS : - Remise commerciale : -10% sur tout → -100 € HT - Remise fidélité : -5% sur tout → -45 € HT (5% de 900 €) Total HT : 855 € HT Total remises : 145 € (14,5%) Exemple 2 : Facture avec remise fixe Contexte : Arrondir le total à un montant commercial Document : Facture Lignes : - Service consulting : 8h × 75 € = 600 € HT (TVA 20%) - Produit logiciel : 1 × 250 € = 250 € HT (TVA 20%) Sous-total : 850 € HT Total TTC : 1020 € TTC Objectif : Proposer à 1000 € TTC Remise InfraS : - Remise commerciale : -16,67 € HT (calculée pour atteindre 1000 € TTC) Total HT : 833,33 € HT Total TTC : 1000 € TTC Exemple 3 : Commande avec remise automatique Configuration : - Limite : 3 premières commandes - Quantité gratuite : 100 unités - Références : Réf001, Réf002 - Pondérateur : aucun Commande d'un nouveau client (1ère commande) : - Réf001 : 50 unités à 2 € = 100 € HT - Réf002 : 150 unités à 1 € = 150 € HT - Autres produits : 200 € HT Sous-total : 450 € HT Remises automatiques appliquées : - Réf001 : 50 × 2 € = 100 € (quantité < 100) - Réf002 : 100 × 1 € = 100 € (quantité ≥ 100) Total remises auto : 200 € HT Total HT : 250 € HT Exemple 4 : Devis complexe avec remises mixtes Contexte : Projet avec produits et services, client négociateur Document : Devis Lignes produits : - Matériel A : 2000 € HT (TVA 20%) - Matériel B : 1000 € HT (TVA 20%) Sous-total produits : 3000 € HT Lignes services : - Installation : 500 € HT (TVA 20%) - Formation : 300 € HT (TVA 20%) Sous-total services : 800 € HT Total initial : 3800 € HT / 4560 € TTC Négociation : 1. Remise générale : -10% sur tout → -380 € HT Nouveau total : 3420 € HT 2. Remise spéciale matériel : -5% sur produits uniquement → -142,50 € HT (5% de 2850 € = sous-total produits après 1ère remise) Nouveau total : 3277,50 € HT 3. Remise fixe finale : -77,50 € HT pour atteindre 3200 € HT rond Répartition : - Sur produits : -77,50 × (2707,50/3277,50) = -64 € HT - Sur services : -77,50 × (570/3277,50) = -13,50 € HT Total final : 3200 € HT / 3840 € TTC Économie client : 600 € HT (15,8%) Copyright © 2016-2026 InfraS - Sylvain Legrand & Lucky Ranasolonirina support@infras.fr | www.infras.fr | wiki.infras.fr 2. INSTALLATION ET ACTIVATION Installation et Activation INSTALLATION Méthode recommandée : Utilisez l'outil de déploiement des modules externes de Dolibarr Téléchargez le module depuis le site InfraS Installez via l'interface de gestion des modules Méthode manuelle : Placez le dossier infrasdiscount dans le répertoire htdocs/custom/ Accédez à Accueil > Configuration > Modules ACTIVATION Allez dans Accueil > Configuration > Modules Recherchez " InfraSMultiDiscount " Cliquez sur le bouton "Activer" Le module ajoute automatiquement : Les extra Fields nécessaires aux lignes de documents Les constantes de configuration Les permissions utilisateur Les entrées de menu APRÈS MISE À JOUR IMPORTANT : Après toute mise à jour du module, il est IMPÉRATIF de : Désactiver le module Réactiver immédiatement le module . Cela permet d'appliquer les modifications nécessaires à la base de données 3. CONFIGURATION DU MODULE Configuration du Module Accès à la configuration : Menu Outils > InfraS > InfraSDiscount > Paramètres 1.PARAMÈTRES D'ACTIVATION PAR TYPE DE DOCUMENT DEVIS (PROPOSITIONS COMMERCIALES) : [Ligne 1] Activer les remises pour les devis Libellé par défaut (Saisir un libellé ou une clé de traduction) COMMANDES CLIENTS : [Ligne 2] Activer les remises pour les commandes clients Libellé par défaut (Saisir un libellé ou une clé de traduction) FACTURES CLIENTS : [Ligne 5] Activer les remises pour les factures Libellé par défaut (Saisir un libellé ou une clé de traduction) 2.ASSOCIATION COMPTABLE Pour une gestion comptable correcte, associez : CHOIX DU "SERVICE" ASSOCIÉE AUX REMISES : [Ligne 7] [ Sélectionner un service ] → Permet de lier un compte comptable spécifique aux remises sur services CHOIX DU "PRODUIT" ASSOCIÉS SUR PRODUITS : [Ligne 8] [S électionner un produit ] → Permet de lier un compte comptable spécifique aux remises sur produits 4. FONCTIONNALITÉS PRINCIPALES Fonctionnalités Principales 1.TYPES DE REMISES DISPONIBLES REMISES EN POURCENTAGE : S'appliquent sur le montant total du document Cumulables et appliquées en cascade (ex: 10% puis 5%) Recalculées automatiquement lors de toute modification Peuvent cibler : produits seuls, services seuls, ou les deux Exemple de remises en cascade : Montant HT initial : 1000 € Remise 1 : -10% → 1000 - 100 = 900 € Remise 2 : -5% → 900 - 45 = 855 € Total remises : 145 € (14,5% du montant initial) REMISES EN VALEUR (MONÉTAIRE) : Montant fixe déduit du total Réparties équitablement entre produits et services (au prorata) Le module préserve la cohérence des calculs de marge Le module est compatible avec le système multidevises REMISES PAR VALEUR CIBLE : Définissez un montant TTC cible à atteindre Le module calcule automatiquement les remises nécessaires Répartition équitable par taux de TVA Le module préserve la cohérence des marges 2.CALCUL DYNAMIQUE Les remises en pourcentage sont DYNAMIQUES : Ajout d'une ligne → recalcul automatique Suppression d'une ligne → recalcul automatique Modification de quantité → recalcul automatique Modification de prix → recalcul automatique 3.APPLICATION SÉLECTIVE Vous pouvez appliquer les remises : Sur les produits uniquement Sur les services uniquement Sur les deux types d'articles 4.GESTION DES MARGES Le module préserve la cohérence des marges commerciales : Les remises monétaires sont réparties au prorata Les marges restent correctement calculées par ligne Les rapports de marge restent exploitables 5. UTILISATION DU MODULE Utilisation du Module 1.AJOUTER UNE REMISE EN POURCENTAGE Ouvrez un devis, commande ou facture (en mode brouillon) Ajoutez vos lignes de produits/services Cliquez sur le bouton "Remise " Sélectionnez "un pourcentage de remise" Saisissez le pourcentage (ex: 10 pour 10%) Choisissez l'application : Sur les produits uniquement Sur les services uniquement Sur les deux Saisissez un libellé descriptif Validez Remarque : La ligne de remise apparaît dans le document avec un montant négatif. Le total du document est automatiquement mis à jour. 2.AJOUTER UNE REMISE EN VALEUR Ouvrez un devis, commande ou facture (en mode brouillon) Cliquez sur "Remise" Sélectionnez "un montant fixe de remise" Saisissez le montant HT de la remise Si le module multidevises est activé : choisissez la devise Saisissez un libellé descriptif Validez La remise est répartie proportionnellement entre produits et services. 3.UTILISER UNE VALEUR CIBLE Utile pour proposer un prix rond ou respecter un budget client. Ouvrez votre document (brouillon) Cliquez sur " un montant total TTC à atteindre " Saisissez le montant TTC souhaité Le module calcule et applique automatiquement les remises nécessaires Les remises sont réparties par taux de TVA pour préserver les marges Exemple : Total document : 1247,83 € TTC Valeur cible : 1200,00 € TTC → Le module applique automatiquement 47,83 € de remise 4.MODIFIER UNE REMISE Les remises InfraS sont modifiables comme des lignes normales : Cliquez sur l'icône "Modifier" de la ligne de remise Modifiez le pourcentage ou le montant Modifiez le libellé si nécessaire Enregistrez Le document est automatiquement recalculé. 5.SUPPRIMER UNE REMISE Cliquez sur l'icône "Supprimer" de la ligne de remise Confirmez la suppression Le document est automatiquement recalculé 6.REMISES MULTIPLES Vous pouvez cumuler plusieurs types de remises : Plusieurs remises en pourcentage (appliquées en cascade) Mélanger remises en pourcentage et en valeur Chaque remise peut cibler des types d'articles différents Exemple d'utilisation avancée : Ligne 1 : Produits pour 1000 € HT Ligne 2 : Services pour 500 € HT Remise 1 : -10% sur tout (cascade) → -150 € HT Remise 2 : -5% sur produits uniquement (cascade) → -47,50 € HT Remise 3 : -50 € fixe sur services → -50 € HT Total HT : 1252,50 € 6. REMISES AUTOMATIQUES Remises Automatiques Note : Les remises automatiques sont disponibles UNIQUEMENT pour les COMMANDES CLIENTS . Cette fonctionnalité permet d'appliquer automatiquement des remises selon des règles prédéfinies. 1.CONFIGURATION DES REMISES AUTOMATIQUES Menu : Outils > InfraS > InfraSDiscount > Paramètres (section Remises Auto) NOMBRE DE COMMANDES CONCERNÉES : [Ligne 1] Limiter aux X premières commandes validées du client → Permet d'offrir des remises uniquement aux nouveaux clients ou pour les fidéliser sur les premières commandes QUANTITÉ DE PRODUITS GRATUITS PAR RÉFÉRENCE : [Ligne 2] Règle de calcul : Si quantité commandée < cette valeur → Remise = Quantité commandée × Prix Unitaire Si quantité commandée ≥ cette valeur → Remise = Cette valeur × Prix Unitaire Exemple : Quantité gratuite paramétrée : 100 unités Commande de 50 unités à 2 € → Remise de 50 × 2 = 100 € Commande de 250 unités à 2 € → Remise de 100 × 2 = 200 € RÉFÉRENCES CONCERNÉES : [Ligne 3] Sélectionner les produits/services concernés ARTICLE PONDÉRATEUR (OPTIONNEL) : [Ligne 4] Rôle du pondérateur : Cet article sert de référence pour moduler les remises des autres produits La remise pour cet article s'applique normalement Pour les autres références, la quantité gratuite est ajustée : Quantité gratuite ajustée = Quantité gratuite paramètre - Quantité du pondérateur Exemple complexe : Article pondérateur : Référence A, quantité commandée : 250 Quantité gratuite paramètre : 650 Pour la Référence A : Quantité < 650 → Remise = 250 × PU Pour les autres références : Quantité gratuite ajustée = 650 - 250 = 400 Référence B : 10000 unités commandées à 0,50 € → Remise = 400 × 0,50 = 200 € TEXTE ADDITIONNEL DANS LA DESCRIPTION : [Ligne 5] → Texte ajouté automatiquement dans le libellé de la remise automatique (utile pour mentions légales ou communications commerciales) 2.FONCTIONNEMENT DES REMISES AUTOMATIQUES Un client passe une commande Le module vérifie si c'est une des X premières commandes du client Si oui, il analyse les lignes de commande Pour chaque référence sélectionnée : Le module calcule la remise selon les règles définies Le module applique la pondération si un article pondérateur est défini Le module ajoute automatiquement les lignes de remise à la commande Le module ajoute le texte descriptif paramétré IMPORTANT : Les remises automatiques sont appliquées à la validation de la commande. Elles restent modifiables manuellement après application. 7. GESTION DES MARGES Gestion des Marges Le module InfraSMultiDiscount a été conçu pour préserver la cohérence des calculs de marge commerciale. 1.PRINCIPE Dans Dolibarr, la marge est calculée ligne par ligne : Marge = Prix de vente HT - Prix d'achat HT Avec des remises globales, il est crucial de bien répartir le montant de la remise pour que chaque ligne conserve une marge cohérente. 2.RÉPARTITION DES REMISES MONÉTAIRES Les remises en valeur fixe sont réparties au PRORATA du montant HT de chaque ligne. Exemple : Total document : 1000 € HT - Ligne 1 (produit) : 800 € HT - Ligne 2 (service) : 200 € HT Remise de 100 € HT en valeur Répartition : - Ligne 1 : 100 × (800/1000) = 80 € de remise - Ligne 2 : 100 × (200/1000) = 20 € de remise Chaque ligne conserve ainsi son ratio de marge d'origine. 3.DISTINCTION PRODUITS/SERVICES Pour une précision comptable maximale, le module permet de : Associer des articles comptables différents pour les remises sur les produits et les services Calculer des remises sur les produits uniquement Calculer des remises sur les services uniquement Avantages : Comptes comptables corrects Marges analysables par catégorie Reporting plus précis 4.CONSULTATION DES MARGES Après application des remises InfraS : Les marges ligne par ligne restent correctes Le rapport de marge global du document est cohérent Les statistiques de marge par client sont exploitables Les analyses de rentabilité sont fiables 8. MULTI-DEVISES Multi-Devises Si le module natif Multi-Devises de Dolibarr est activé, InfraSMultiDiscount est compatible et permet la saisie de remises en devises étrangères. 1.ACTIVATION Activez le module natif "Multi-Devises" de Dolibarr Configurez les devises et taux de change InfraSMultiDiscount détecte automatiquement la fonctionnalité 2.UTILISATION Pour un document en devise étrangère : Créez votre document (devis/commande/facture) en devise étrangère Ajoutez vos lignes Ajoutez une remise InfraS : Remise en pourcentage : Le calcul se fait en pourcentage Remise en valeur : saisissez le montant dans la devise du document Les calculs de conversion sont automatiques 3.PARTICULARITÉS Les remises en pourcentage : aucune différence, le % s'applique quelle que soit la devise Les remises en valeur : le montant est dans la devise du document Les taux de change sont ceux définis dans Dolibarr au moment de la création du document Les factures générées depuis des commandes en devise étrangère conservent les remises InfraS dans la devise du document 9. PERMISSIONS Permissions Le module InfraSMultiDiscount gère 4 niveaux de permissions. 1.LISTE DE PERMISSIONS Permission Code Par défaut Description Accès au menu paramMenu OUI Voir les menus InfraS > InfraSDiscount Paramètres spécifiques paramInfrasdiscount NON Accéder à la configuration avancée du module Sauvegarde/Restauration paramBkpRest NON Sauvegarder et restaurer la configuration du module Utilisation des remises use NON Ajouter, modifier, supprimer des remises InfraS dans les documents 2.CONFIGURATION DES PERMISSIONS Allez dans Accueil > Utilisateurs & Groupes Sélectionnez un utilisateur ou un groupe Onglet " Permissions " Cherchez "InfraSDiscount" dans la liste Cochez les permissions souhaitées Enregistrez 3.RECOMMANDATIONS Profil administrateur : Accès au menu Paramètres spécifiques Sauvegarde/Restauration Utilisation des remises Profil commercial : Accès au menu (optionnel) Paramètres spécifiques Sauvegarde/Restauration Utilisation des remises Profil consultation : Accès au menu (pour voir les rapports) Paramètres spécifiques Sauvegarde/Restauration Utilisation des remises