# InfraSCusPrice

Gestion des prix clients pour Dolibarr

# 1. PRÉSENTATION GÉNÉRALE

# Présentation du module

[![InfraSCusPrice.png](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/29uNd42JpwAt0pq3-infrascusprice.png)](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/29uNd42JpwAt0pq3-infrascusprice.png)

***InfraSCusPrice***<span style="white-space: pre-wrap;"> est un module optionnel pour </span>***Dolibarr***<span style="white-space: pre-wrap;"> ERP &amp; CRM qui facilite le déploiement automatique des prix spécifiques par client.</span>

#### **OBJECTIF**

Le module permet d'automatiser le renseignement des prix des filiales à partir d'une maison mère disposant déjà de prix clients configurés.

#### **PRINCIPAUX AVANTAGES**

- **Gain de temps :**<span style="white-space: pre-wrap;"> Propagation automatique des tarifs vers les filiales</span>
- **Cohérence :**<span style="white-space: pre-wrap;"> Garantit l'uniformité des prix au sein d'un groupe</span>
- **Flexibilité :**<span style="color: rgb(52, 73, 94); white-space: pre-wrap;"> </span>Possibilité de supprimer les tarifs d'une filiale en un clic
- **Traçabilité :**<span style="white-space: pre-wrap;"> Historique des modifications</span>

#### **PRÉREQUIS**

- ***Dolibarr***<span style="white-space: pre-wrap;"> ERP &amp; CRM version </span>**18.0 ou supérieure**
- <span style="white-space: pre-wrap;">Module "Prix par client" de </span>***Dolibarr***<span style="white-space: pre-wrap;"> </span>**activé**
- Extension PHP '**XML**' chargée (pour certaines fonctionnalités)
- Droits d'**administration**<span style="white-space: pre-wrap;"> pour l'installation</span>

 **Support :**<span style="white-space: pre-wrap;"> </span>[support@infras.fr](https://infras.store/ticket/new?prefill=1&module=infrascusprice)<span style="white-space: pre-wrap;"> | </span>**🌐 Documentation :**<span style="white-space: pre-wrap;"> </span>[wiki.infras.fr](https://wiki.infras.fr)<span style="white-space: pre-wrap;"> | </span>**📄 Licence :**<span style="white-space: pre-wrap;"> GPL v3+</span>

# 2. INSTALLATION ET CONFIGURATION

# Installation et Configuration

#### **1.INSTALLATION**

1. <span style="white-space: pre-wrap;">Téléchargez le module depuis le </span>**Dolistore**<span style="white-space: pre-wrap;"> ou le site </span>***InfraS***
2. <span style="white-space: pre-wrap;">Décompressez l'archive dans le répertoire </span>`<span class="editor-theme-code">/htdocs/custom/</span>`
3. <span style="white-space: pre-wrap;">Connectez-vous à </span>***Dolibarr***<span style="white-space: pre-wrap;"> en tant qu'</span>**administrateur**
4. <span style="white-space: pre-wrap;">Accédez à : </span>`<span class="editor-theme-code">Accueil > Configuration > Modules/Applications</span>`
5. Recherchez "***InfraSCusPrice***" ou "**Gestion des prix par client**"
6. Cliquez sur "**Activer**"

#### **2.ACTIVATION DES MODIFICATIONS**

<p class="callout info">**IMPORTANT** <span style="white-space: pre-wrap;">: Après toute mise à jour de </span>***Dolibarr***<span style="white-space: pre-wrap;"> et/ou du module : Il est </span>**IMPÉRATIF**<span style="white-space: pre-wrap;"> de désactiver puis réactiver le module pour effectuer les modifications nécessaires dans la base de données.</span></p>

Procédure :

1. Accédez à la liste des modules
2. <span style="white-space: pre-wrap;">Désactivez le module </span>***InfraSCusPrice***
3. Réactivez immédiatement le module
4. Vérifiez les messages de confirmation

#### **3.CONFIGURATION INITIALE**

<span style="white-space: pre-wrap;">Le module </span>**ne nécessite aucune configuration particulière**. À l'activation, il configure automatiquement :

- INFRASCUSP\_PS\_ACTIVE\_SOCIETE\_PRICE = 1
- PRODUIT\_CUSTOMER\_PRICES = 1

#### **4.ACCÈS AUX PARAMÈTRES**

<span style="white-space: pre-wrap;">Menu : </span>**Outils &gt; InfraS &gt; InfraSCusPrice**

Sous-menus disponibles :

- **Changelog/Support :**<span style="white-space: pre-wrap;"> Historique des versions et demande de support</span>
- **Paramètres :**<span style="white-space: pre-wrap;"> Configuration spécifique </span>***InfraSCusPrice***

# 3. FONCTIONNALITÉS PRINCIPALES

# Fonctionnalités Principales

#### **1.PROPAGATION DES TARIFS**

<span style="white-space: pre-wrap;">Permet de copier automatiquement tous les prix clients d'une </span>**maison mère**<span style="white-space: pre-wrap;"> vers une ou plusieurs </span>**filiales**<span style="white-space: pre-wrap;"> en une seule opération.</span>

**Éléments copiés :**

- - [x] <span style="color: rgb(85, 85, 85);">Prix unitaire</span>
    - [x] <span style="color: rgb(85, 85, 85);">Prix minimum</span>
    - [x] <span style="color: rgb(85, 85, 85);">Type de base (HT/TTC)</span>
    - [x] <span style="color: rgb(85, 85, 85);">Taux de TVA et code</span>
    - [x] <span style="color: rgb(85, 85, 85);">Pourcentage de remise</span>
    - [x] <span style="color: rgb(85, 85, 85);">Dates de validité</span>
    - [x] <span style="color: rgb(85, 85, 85);">Référence client</span>
    - [x] <span style="color: rgb(85, 85, 85);">Taxes locales</span>

#### **2.SUPPRESSION DES TARIFS**

Supprime en un clic tous les prix clients spécifiques d'une filiale. Particulièrement utile lorsqu'une société quitte un groupe.

<p class="callout danger">**Attention :**<span style="white-space: pre-wrap;"> Cette action est </span>**irréversible**. Tous les prix clients seront définitivement supprimés.</p>

#### **3.GESTION DES GROUPES**

<span style="white-space: pre-wrap;">Le module fonctionne sur la base de la relation </span>**maison mère / filiale**<span style="white-space: pre-wrap;"> définie dans </span>***Dolibarr***.

**Structure :**

<span style="white-space: pre-wrap;">🏛️ Maison Mère </span><span style="color: rgb(153, 153, 153);">(avec prix définis)</span>

<span style="white-space: pre-wrap;">├── 🏢 Filiale 1 </span><span style="color: rgb(109, 189, 66);">(peut hériter des prix)</span>  
<span style="white-space: pre-wrap;">├── 🏢 Filiale 2 </span><span style="color: rgb(109, 189, 66);">(peut hériter des prix)</span>  
└── 🏢 Filiale 3<span style="color: rgb(109, 189, 66); white-space: pre-wrap;"> (peut hériter des prix)</span>

**Astuce :**<span style="white-space: pre-wrap;"> Définissez tous les prix de la maison mère avant de propager vers les filiales</span>

# 4. GUIDE D'UTILISATION

# Cas d'Usage Typiques

#### **CAS I :**<span style="white-space: pre-wrap;"> </span>**NOUVELLE FILIALE CRÉÉE**

1. <span style="white-space: pre-wrap;">Créez le tiers (filiale) dans </span>***Dolibarr***
2. Définissez la maison mère dans la fiche du tiers
3. <span style="white-space: pre-wrap;">Accédez à l'onglet </span><span style="background-color: rgb(255, 255, 255);">"</span>***Prix client***<span style="background-color: rgb(255, 255, 255);">"</span><span style="white-space: pre-wrap;"> de la filiale</span>
4. <span style="white-space: pre-wrap;">Cliquez sur </span><span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">"</span>***Mise à jour Tarifs***<span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">"</span>
5. <span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Les prix de la maison mère sont copiés automatiquement</span>[![cusPrice2.png](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/SqSbK9vKdhyZ31uF-cusprice2.png)](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/SqSbK9vKdhyZ31uF-cusprice2.png)

- - [ ] **Astuce :**<span style="white-space: pre-wrap;"> Cette opération peut être répétée pour plusieurs filiales successivement.</span>

#### **CAS II :**<span style="white-space: pre-wrap;"> </span>**FILIALE QUITTANT LE GROUPE**

1. Accédez à la fiche du tiers (filiale)
2. <span style="white-space: pre-wrap;">Allez dans l'onglet </span><span style="background-color: rgb(255, 255, 255);">"</span>***Prix client***<span style="background-color: rgb(255, 255, 255);">"</span>
3. <span style="white-space: pre-wrap;">Cliquez sur </span><span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">"</span>**Supprimer les tarifs**<span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">"</span>
4. <span style="white-space: pre-wrap;">Modifiez la fiche du tiers pour </span>**supprimer la relation maison mère**[![supp.png](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/YnLdna9CMAJitrxt-supp.png)](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/YnLdna9CMAJitrxt-supp.png)

<p class="callout info">**Important :**<span style="white-space: pre-wrap;"> Assurez-vous de vouloir supprimer tous les prix avant de confirmer l'action.</span></p>

#### **CAS III :**<span style="white-space: pre-wrap;"> </span>**MISE À JOUR DES RARIFS D'UN GROUPE**

1. Modifiez les prix clients de la maison mère[![modif.png](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/95PyBWjqNrSfuVVs-modif.png)](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/95PyBWjqNrSfuVVs-modif.png)
2. Pour chaque filiale concernée :
    - Accédez à l'onglet "***Prix client***"
    - Cliquez sur "***Mise à jour Tarif*****s**"
3. <span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Les nouveaux tarifs sont propagés</span>[![modif2.png](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/aLbWYIBz1aegOafZ-modif2.png)](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/aLbWYIBz1aegOafZ-modif2.png)

**Conseil :**<span style="white-space: pre-wrap;"> Notez les dates des mises à jour pour assurer la traçabilité des modifications de tarifs.</span> Testez d'abord sur une filiale pilote avant un déploiement général

# Guide d'Utilisation

#### **1.UNE RELATION MAISON MÈRE / FILIALE**

1. <span style="white-space: pre-wrap;">Accédez à la </span>**fiche du tiers**<span style="white-space: pre-wrap;"> (filiale)</span>
2. <span style="white-space: pre-wrap;">Cliquez sur </span><span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">"Modifier"</span>
3. <span style="white-space: pre-wrap;">Dans le champ </span>**"Société mère"**, sélectionnez la maison mère
4. Cliquez sur "***Enregistrer***"

#### **2.PROPAGER LES TARIFS D'UNE MAISON MÈRE VERS UNE FILIALE**

Prérequis :

- La relation maison mère / filiale doit être définie
- La maison mère doit avoir des prix clients configurés
- L'utilisateur doit avoir les droits nécessaires

Procédure :

1. <span style="white-space: pre-wrap;">Accédez à la </span>**fiche du tiers**<span style="white-space: pre-wrap;"> (filiale)</span>
2. Cliquez sur l'onglet "**Prix client"**
3. Deux nouveaux boutons sont disponibles en haut de page :  
    **Mise à jour Tarifs**
    - - Permet de copier/mettre à jour les prix de la maison mère
        - Le titre du bouton indique le nom de la maison mère
        - Cliquez pour lancer la propagation[![cusPrice1.png](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/2imTeTBotBKSyx1I-cusprice1.png)](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/2imTeTBotBKSyx1I-cusprice1.png)
    
    [![cusPrice2.png](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/SqSbK9vKdhyZ31uF-cusprice2.png)](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/SqSbK9vKdhyZ31uF-cusprice2.png)**Supprimer les tarifs**
    - - Permet de supprimer tous les prix clients de cette filiale[![supp.png](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/YnLdna9CMAJitrxt-supp.png)](https://wiki.infras.fr/uploads/images/gallery/2026-02/scaled-1680-/YnLdna9CMAJitrxt-supp.png)
4. **Confirmez l'action**
5. <span style="white-space: pre-wrap;">Un message indique le </span><span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">nombre de lignes traitées avec succès</span>

#### **3.SUPPRIMER LES TARIFS D'UNE FILIALE**

1. <span style="white-space: pre-wrap;">Accédez à la </span>**fiche du tiers**<span style="white-space: pre-wrap;"> (filiale)</span>
2. <span style="white-space: pre-wrap;">Cliquez sur l'onglet </span>**"Prix client"**
3. <span style="white-space: pre-wrap;">Cliquez sur le bouton </span>***Supprimer les tarifs***
4. **Confirmez la suppression**
5. Tous les prix clients de cette filiale sont supprimés

<p class="callout danger">**ATTENTION :**<span style="white-space: pre-wrap;"> Cette action est </span>**irréversible**<span style="white-space: pre-wrap;"> !</span></p>

# 5. PERMISSIONS ET DROITS D'ACCÈS

# Permissions

<span style="white-space: pre-wrap;">Le module </span>***InfraSCusPrice** définit trois niveaux de permissions pour un contrôle granulaire des accès.

<table id="bkmrk-permissionscodedescr" style="width: 100%; border-collapse: collapse;"><colgroup><col></col><col style="width: 167px;"></col><col></col></colgroup><tbody><tr style="background: linear-gradient(135deg, rgb(194, 224, 244) 0%, rgb(147, 208, 248) 100%); color: white;"><th class="align-left" style="padding: 15px; text-align: left; border-radius: 5px 0px 0px;">**Permissions**

</th><th class="align-left" style="padding: 15px; text-align: left; border-radius: 0px 5px 0px 0px;">**Code**

</th><th class="align-left" style="padding: 15px; text-align: left; border-radius: 0px 5px 0px 0px;">**Description**

</th></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">Afficher le menu secondaire vers les paramètres du module

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">paramMenu

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Accéder aux menus de configuration (utilisateur non administrateur)

</td></tr><tr style="background: white;"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">Modifier les paramètres spécifiques InfraSCusPrice

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">paramInfraSCusPrice

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Modifier les paramètres avancés du module

</td></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">Utiliser les fonctions de mise à jour des prix

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">paramUse

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Utiliser les boutons de propagation et suppression des tarifs

</td></tr></tbody></table>

#### **ATTRIBUTION DES PERMISSIONS :**

1. <span style="white-space: pre-wrap;">Accédez à : </span>`<span class="editor-theme-code">Accueil > Configuration > Utilisateurs & Groupes</span>`
2. <span style="white-space: pre-wrap;">Sélectionnez un </span>**utilisateur**<span style="white-space: pre-wrap;"> ou un </span>**groupe**
3. <span style="white-space: pre-wrap;">Cliquez sur l'onglet </span>**"Droits"**
4. <span style="white-space: pre-wrap;">Recherchez </span>**"*****InfraSCusPrice*****"**<span style="white-space: pre-wrap;"> ou </span>**"Gestion des prix par client"**
5. Cochez les permissions à attribuer
6. Cliquez sur<span style="background-color: rgb(255, 255, 255); white-space: pre-wrap;"> </span><span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">"</span>**Enregistrer**<span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">"</span>

#### **RECOMMANDATION :**

<table id="bkmrk-permissionprofil-rec" style="width: 100%; border-collapse: collapse; margin-top: 20px;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="background: linear-gradient(135deg, rgb(194, 224, 244) 15%, rgb(147, 208, 248) 85%); color: white;"><th class="align-left" style="padding: 15px; text-align: left; border-radius: 5px 0px 0px;">**Permission**

</th><th class="align-left" style="padding: 15px; text-align: left;">**Profil Recommandé**

</th><th class="align-left" style="padding: 15px; text-align: left; border-radius: 0px 5px 0px 0px;">**Usage**

</th></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">**MENU**

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Tous les utilisateurs concernés

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Consultation des paramètres

</td></tr><tr style="background: white;"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">**PARAMÈTRES**

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Administrateurs uniquement

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Configuration avancée

</td></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px;">**UTILISATION**

</td><td style="padding: 15px; color: rgb(85, 85, 85);">Gestionnaires commerciaux

et administrateurs

</td><td style="padding: 15px; color: rgb(85, 85, 85);">Propagation et suppression

des tarifs

</td></tr></tbody></table>

**⚠️ Sécurité :**<span style="color: rgb(224, 62, 45); white-space: pre-wrap;"> Limitez la permission "UTILISATION" aux utilisateurs de confiance car elle permet de modifier en masse les prix clients</span>

# 6. GESTION DES TARIFS

# Gestion des Tarifs

#### **1.COMPRENDRE LES PRIX PAR CLIENT DANS DOLIBARR**

***Dolibarr***<span style="white-space: pre-wrap;"> permet de définir des prix spécifiques pour chaque couple </span>**produit/service et client**. Ces prix peuvent différer du tarif général.

Avantages des prix par client :

- Tarif personnalisé
- Gestion des remises permanentes
- Tarifs négociés
- Prix contractuels

#### **2.COMPORTEMENT DE LA PROPAGATION**

Lors de la propagation des tarifs :

- Le module récupère tous les prix de la maison mère
- <span style="white-space: pre-wrap;">Pour chaque produit de la maison mère il </span>
    - Vérifie si un prix existe déjà pour la filiale
    - Crée ou met à jour le prix de la filiale
    - Copie tous les paramètres (prix, TVA, dates, etc.)
- Affiche un message de confirmation avec le nombre de lignes traitées

<p class="callout warning">**ATTENTION** <span style="white-space: pre-wrap;">: Les prix existants de la filiale sont </span>**écrasés**<span style="white-space: pre-wrap;">. L'opération est </span>**irréversible**<span style="white-space: pre-wrap;"> (sauf nouvelle propagation). Aucune sauvegarde automatique n'est effectuée</span></p>

#### **3.BONNES PRATIQUES**

**✓ À FAIRE**

- - Définir les prix de la maison mère avant propagation
    - Vérifier la relation maison mère/filiale
    - Tester sur une filiale pilote
    - Documenter les propagations
    - Sauvegarder la base avant toute opération massive

**✗ À ÉVITER**

- - Propager vers une filiale avec prix spécifiques importants
    - Oublier de mettre à jour les filiales après modification
    - Propager sans vérifier les permissions
    - Négliger la documentation

# 7. DÉPANNAGE ET SUPPORT

# Dépannage et Support

#### **PROBLÈMES COURANTS ET SOLUTIONS**

<table id="bkmrk-probl%C3%88mesolutionles-" style="width: 100%; border-collapse: collapse;"><colgroup><col style="width: 333px;"></col><col></col></colgroup><tbody><tr style="background: linear-gradient(135deg, rgb(74, 177, 211) 0%, rgb(2, 121, 145) 100%); color: white;"><th class="align-left" style="padding: 15px; text-align: left; border-radius: 5px 0px 0px;">**PROBLÈME**

</th><th class="align-left" style="padding: 15px; text-align: left; border-radius: 0px 5px 0px 0px;">**SOLUTION**

</th></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">Les boutons ne s'affichent pas

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">- Vérifiez que la relation maison mère/filiale est définie
- Vérifiez les permissions de l'utilisateur
- Vérifiez que le module est bien activé
- F5 pour rafraîchir la page

</td></tr><tr style="background: white;"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">"La société concernée n'est pas renseignée"

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">- Vérifiez que l'ID du tiers est correctement passé en paramètre
- Vérifiez l'URL de la page

</td></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">`<span class="editor-theme-code">Erreur "Votre version de Dolibarr n'est pas encore supportée"</span>`

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">- <span style="white-space: pre-wrap;">Le module n'a pas encore été testé sur votre version de </span>***Dolibarr***
- <span style="white-space: pre-wrap;">Contactez le support </span>***InfraS***
- Option : Désactiver le contrôle de version (**déconseillé**)
- <span style="white-space: pre-wrap;"> Variable : </span>**INFRASCUSPRICE\_DISABLE\_CHECK\_VERSION\_MAX**

</td></tr><tr style="background: white;"><td style="padding: 15px;">`<span class="editor-theme-code">"Core Change nécessaire"</span>`

</td><td style="padding: 15px; color: rgb(85, 85, 85);">- Désactivez complètement le module
- Réactivez le module

=&gt; Le "Core Change" sera appliqué automatiquement

</td></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">Extension PHP 'XML' non chargée

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">- Installez l'extension PHP XML
- Redémarrez le serveur web
- Certaines fonctionnalités (changelog) ne seront pas disponibles sans cette extension

</td></tr><tr style="background: white;"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">"La société concernée n'est pas renseignée"

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">- Vérifiez que l'ID du tiers est correctement passé en paramètre
- Vérifiez l'URL de la page

</td></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">Aucun tarif n'est propagé

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">- Vérifiez que la maison mère a bien des prix clients définis
- Vérifiez que vous êtes sur l'onglet "Prix client" de la filiale
- <span style="white-space: pre-wrap;">Consultez les logs de </span>***Dolibarr*** pour plus de détails

</td></tr></tbody></table>

#### **LOGS ET DÉBUGAGE**

<span style="white-space: pre-wrap;">Les logs du module sont enregistrés dans les logs </span>***Dolibarr,*** pour activer le mode debug :

1. <span style="white-space: pre-wrap;">Accédez à : </span>**Accueil &gt; Configuration &gt; Divers**
2. <span style="white-space: pre-wrap;">Activez le mode de log </span>***Dolibarr***
3. Reproduisez le problème
4. <span style="white-space: pre-wrap;">Consultez les logs dans : </span>`<span class="editor-theme-code">documents/dolibarr_*.log</span>`

Recherchez les entrées contenant :

- `<span class="editor-theme-code">infrascusprice</span>`
- `<span class="editor-theme-code">InfraSCusPrice</span>`
- `<span class="editor-theme-code">infrascusp_</span>`

#### **SAUVEGARDE ET RESTAURATION**

<span style="white-space: pre-wrap;">Le module propose des fonctions de </span>**sauvegarde/restauration**<span style="white-space: pre-wrap;"> des paramètres dans :</span>

<span style="white-space: pre-wrap;">Menu </span>**Outils &gt; InfraS &gt; InfraSCusPrice &gt; Paramètres**

Boutons disponibles :

- - **"Sauvegarder"**<span style="white-space: pre-wrap;"> : Exporte tous les paramètres du module</span>
    - **"Restaurer"**<span style="white-space: pre-wrap;"> : Importe des paramètres précédemment sauvegardés</span>
    - <span style="white-space: pre-wrap;">Après restauration : Appuyez sur </span>**F5**<span style="white-space: pre-wrap;"> pour rafraîchir la page</span>

<p class="callout warning">**Attention :**<span style="white-space: pre-wrap;"> Cela sauvegarde uniquement les </span>**paramètres du module**, pas les données des prix clients.</p>

#### **SUPPORT TECHNIQUE**

Pour toute assistance :

- - <span style="white-space: pre-wrap;">🌐 Site web : </span>[www.infras.fr](https://www.infras.fr)
    - <span style="white-space: pre-wrap;">📧 Email : </span>[support@infras.fr](https://infras.store/ticket/new?prefill=1&module=infrascusprice)

***Informations à fournir lors d'une demande de support :***

- - <span style="white-space: pre-wrap;">Version de </span>***Dolibarr***
    - <span style="white-space: pre-wrap;">Version du module </span>***InfraSCusPrice***
    - Description détaillée du problème
    - Extraits des logs (si disponibles)
    - Captures d'écran
    - Environnement (OS, PHP, serveur web)

# 8. NOTES TECHNIQUES

# Notes Techniques

#### **HOOKS UTILISÉS**

<table id="bkmrk-hookdescriptionupdat" style="width: 100%; border-collapse: collapse;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: linear-gradient(135deg, rgb(102, 126, 234) 0%, rgb(118, 75, 162) 100%); color: white;"><th class="align-left" style="padding: 15px; text-align: left; border-radius: 5px 0px 0px;">Hook

</th><th class="align-left" style="padding: 15px; text-align: left; border-radius: 0px 5px 0px 0px;">Description

</th></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">`<span class="editor-theme-code">updateSession</span>`

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Redirection vers pages de substitution

</td></tr><tr style="background: white;"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">`<span class="editor-theme-code">afterLogin</span>`

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Contrôle de version, redirection

</td></tr><tr style="background: rgb(248, 249, 250);"><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224);">`<span class="editor-theme-code">addMoreActionsButtons</span>`

</td><td style="padding: 15px; border-bottom: 1px solid rgb(224, 224, 224); color: rgb(85, 85, 85);">Ajout des boutons sur l'onglet Prix client

</td></tr><tr style="background: white;"><td style="padding: 15px;">`<span class="editor-theme-code">doActions</span>`

</td><td style="padding: 15px; color: rgb(85, 85, 85);">Traitement des actions (propagation/suppression)

</td></tr></tbody></table>

#### **PAGES DE SUBSTITUTION**

<span style="white-space: pre-wrap;">Le module remplace la page standard de </span>***Dolibarr***<span style="white-space: pre-wrap;"> pour les prix clients : </span>`<span class="editor-theme-code">/societe/price.php</span>`

***Avantage :***<span style="white-space: pre-wrap;"> Cette substitution permet d'ajouter les boutons de gestion des tarifs tout en conservant toutes les fonctionnalités standard de </span>***Dolibarr***.

***Versions supportées :***

- - 18.x
    - 19.x
    - 20.x
    - 21.x
    - 22.x

#### **BASE DE DONNÉES**

<p class="callout info"> **Information :**<span style="white-space: pre-wrap;"> Le module n'ajoute </span>**aucune table**<span style="white-space: pre-wrap;"> à la base de données.</span></p>

<span style="white-space: pre-wrap;">Il utilise les tables standard de </span>***Dolibarr***<span style="white-space: pre-wrap;"> :</span>

- - `<span class="editor-theme-code">llx_product_customer_price</span>`<span style="white-space: pre-wrap;"> : Stockage des prix clients</span>
    - `<span class="editor-theme-code">llx_const</span>`<span style="white-space: pre-wrap;"> : Constantes de configuration</span>
    - `<span class="editor-theme-code">llx_c_tva</span>`<span style="white-space: pre-wrap;"> : Taux de TVA</span>

#### **PERFORMANCE**

**Considérations :**

- - La propagation peut être longue si la maison mère a de nombreux produits (plusieurs minutes pour &gt;1000 produits)
    - <span style="white-space: pre-wrap;">L'opération est exécutée en </span>**synchrone**
    - Pas de mise en cache des données
    - Chaque ligne est traitée individuellement

**Recommandations :**

- - Éviter les propagations durant les heures de forte activité
    - Pour des volumes très importants, envisager une opération en batch
    - Surveiller les logs en cas de timeout PHP

#### **SÉCURITÉ**

<span style="white-space: pre-wrap;">Le module respecte les standards de sécurité de </span>***Dolibarr***<span style="white-space: pre-wrap;"> :</span>

- - [x] Utilisation de restrictedArea()
    - [x] Vérification des permissions utilisateur
    - [x] Protection CSRF native
    - [x] Échappement des requêtes SQL
    - [x] Validation des paramètres GET/POST

#### **COMPATIBILITÉ**

**Environnement**

<table id="bkmrk-dolibarr-%3A18.0-%C3%A0-22." style="width: 100%;"><colgroup><col></col><col></col></colgroup><tbody><tr><td style="padding: 8px 0px; color: rgb(85, 85, 85); font-weight: bold;">**Dolibarr :**

</td><td style="padding: 8px 0px; color: rgb(46, 125, 50);">18.0 à 22.x

</td></tr><tr><td style="padding: 8px 0px; color: rgb(85, 85, 85); font-weight: bold;">**PHP Min :**

</td><td style="padding: 8px 0px; color: rgb(46, 125, 50);">7.4

</td></tr><tr><td style="padding: 8px 0px; color: rgb(85, 85, 85); font-weight: bold;">**PHP Max :**

</td><td style="padding: 8px 0px; color: rgb(46, 125, 50);">8.3

</td></tr><tr><td style="padding: 8px 0px; color: rgb(85, 85, 85); font-weight: bold;">**Extensions :**

</td><td style="padding: 8px 0px; color: rgb(255, 152, 0);">XML (recommandée)

</td></tr></tbody></table>

**Modules** compatibles

- Module Produits/Services
- Module Tiers
- Module Sociétés
- Module Multidevises
- Module Multi-tarifs

Version du document : 2.0 | Date : Février 2026

**InfraS - Sylvain Legrand**<span style="white-space: pre-wrap;"> | support@infras.fr | wiki.infras.fr</span>