Installer un module Dolix

Le geste est le même pour les 21 modules. Il est décrit ici une seule fois, et chaque fiche y renvoie plutôt que de le répéter à sa façon. Comptez trois minutes.

Pour mettre à jour Dolibarr lui-même, et non un module, voir les guides : Mettre à jour Dolibarr sans rien casser,Mettre à jour Dolibarr en ligne de commande.

Dolibarr
19.0 minimum
PHP
7.4 minimum
Emplacement
htdocs/custom/
Licence
GPL v3+
01

Prérequis

  • Une installation Dolibarr en version 19.0 ou ultérieure (21.0 pour Tags en colonne dans les listes). La version s’affiche dans AccueilÀ propos, et en bas de chaque page.
  • PHP 7.4 ou ultérieur, la version minimale déclarée par les 21 descripteurs.
  • Le dossier des modules externes, htdocs/custom/, présent et accessible en écriture si vous passez par l’interface.
  • Le module Dolibarr dont dépend le module installé — Propositions commerciales ou Tiers selon les cas. Chaque fiche l’indique.
  • Un compte administrateur, le temps de l’activation.
02

Installer par l’interface

C’est le chemin le plus court, et celui à essayer en premier.

  1. Téléchargez le fichier zip du module depuis le DoliStore, sur votre poste.
  2. Dans Dolibarr, ouvrez AccueilConfigurationModules/Applications.
  3. Ouvrez l’onglet « Déployer/installer un module externe », choisissez le zip et envoyez-le. Dolibarr décompresse lui-même dans htdocs/custom/.
  4. Le module apparaît dans la liste. Activez-le avec l’interrupteur de sa ligne.

Si cet onglet est absent ou si l’envoi échoue, l’envoi de modules a été désactivé sur cette installation, ou le dossier custom n’est pas accessible en écriture. Passez alors par le fichier.

03

Installer par fichier

Pour un hébergement mutualisé où l’envoi par l’interface est bloqué, ou pour un serveur auquel vous accédez en SSH.

  1. Décompressez le zip sur votre poste.
  2. Envoyez le dossier obtenu dans htdocs/custom/, sans le renommer. Vous devez obtenir par exemple htdocs/custom/dolixmasse/core/modules/…, et non htdocs/custom/dolixmasse/dolixmasse/….
  3. Vérifiez que les fichiers sont lisibles par le compte du serveur web. Après un envoi par FTP, c’est la vérification qui règle la plupart des cas.
  4. Rechargez AccueilConfigurationModules/Applications : le module figure dans la liste. Activez-le.
04

Activer et donner les droits

L’activation crée ce que le module a besoin de créer — sa table d’historique quand il en a une, son attribut supplémentaire quand il en pose un. Elle n’efface rien.

Les droits se donnent ensuite dans AccueilUtilisateurs & Groupes, sur l’onglet des permissions de l’utilisateur ou du groupe concerné.

Droits ajoutés par chaque module
ModuleDroit dédiéOù le module apparaît
Marge par jourAucunAucune entrée de menu. Le module s'affiche dans la fiche et dans la liste des devis.
Changement de domaine emailOuiMenu Tiers« Changer un domaine email ».
Modification en masseOuiMenu Tiers« Modification en masse ».
Déplacer des tâchesOuiMenu Projets« Déplacer des tâches ».
Détection de doublonsOuiMenu Tiers« Doublons ».
Actualiser les prixOuiUne entrée : Facturation › Liste des modèles › Actualiser les prix des modèles. Le bouton apparaît aussi sur la fiche d'un devis en brouillon et sur celle d'une facture modèle.
Frais d'approcheOuiMenu ProduitsEntrepôts« Frais d'approche », et onglet « Frais d'approche » sur la fiche d'une commande fournisseur.
Reste à facturerOuiMenu CommerceCommandes« Reste à facturer ». Onglet « Reste à facturer » sur chaque commande client.
Prêt pour la mise à jourAucunMenu AccueilOutils d'administration« Prêt pour la mise à jour ».
Mentions TVA EuropeAucunPas de menu. Sur la fiche facture, une ligne « Mention TVA imprimée » et l'attribut « Mention TVA ». Réglages : ConfigurationModules/ApplicationsMentions TVA Europe.
Justificatifs dans les notes de fraisAucunAucune entrée de menu. Le module agit quand le PDF de la note de frais est généré ; ses réglages sont dans ConfigurationModules/Applications.
Porte-monnaie TakePOSOuiPas d'entrée de menu. Onglet « Porte-monnaie » sur la fiche tiers et sur la fiche adhérent ; bouton « Porte-monnaie » sur l'écran de paiement de TakePOS.
Étiquettes Mondial Relay (Sendcloud)OuiPas d'entrée de menu. Ligne « Point Relais® Mondial Relay » et boutons sur la fiche expédition ; action de masse « Étiquettes Mondial Relay » dans la liste des expéditions.
Alertes DLC et DMD des lotsOuiMenu Produits« Lots à surveiller (DLC) ». Widget « Lots à surveiller (DLC, DMD/DLUO) » sur la page d'accueil.
Habillage TakePOSAucunPas d'entrée de menu. La page de configuration s'ouvre depuis la liste des modules ; l'habillage s'applique de lui-même à l'écran de caisse TakePOS.
Tags en colonne dans les listesAucunPas d'entrée de menu. La colonne s'ajoute aux listes natives ; les réglages sont dans AccueilConfigurationModules/Applications« Tags en colonne dans les listes ».
Cotisations en masseOuiMenu Adhérents« Renouveler en masse ». Action de masse « Renouveler les cotisations (montant de chaque adhérent) » sur la liste des adhérents. Champ « Montant de cotisation personnalisé » sur la fiche adhérent.
Emballages consignésOuiMenu Produits« Emballages consignés » : vue d'ensemble « Emballages chez les clients » et état « Considérés comme vendus ». Onglet « Emballages consignés » sur la fiche tiers.
Dépôt-venteOuiMenu Produits« Dépôt-vente » (ventes à régler et relevés). Onglet « Dépôt-vente » sur la fiche tiers du déposant.
Bon de livraison groupéOuiMenu ProduitsExpéditions« Bons de livraison groupés ». Action de masse « Bon de livraison groupé (un seul PDF) » dans la liste des expéditions ; ligne « Bon de livraison groupé » sur la fiche d'une expédition regroupée.
Dernier prix clientOuiPas d'entrée de menu. Badge sous la ligne d'ajout des devis, commandes et factures clients en brouillon ; onglet « Historique des prix » sur la fiche tiers ; onglet « Prix par client » sur la fiche produit.
05

Mettre à jour un module

  1. Récupérez la nouvelle version sur le DoliStore.
  2. Désactivez le module dans la liste des modules. La désactivation ne supprime aucune donnée : ni les tables, ni les réglages, ni les valeurs saisies.
  3. Remplacez le dossier du module dans htdocs/custom/ par le nouveau, ou renvoyez le zip par l’onglet de déploiement.
  4. Réactivez le module. Les réglages et l’historique sont retrouvés tels quels.
Le journal des versions de chaque fiche est repris du fichier ChangeLog.md livré dans le module : il n’y a pas deux histoires possibles.
Sur chaque fiche, section « Journal des versions »
06

Désinstaller, et ce qui reste en base

Désactiver un module fait disparaître ses écrans et ses colonnes. Ce qu’il a écrit en base, lui, reste — c’est un choix, pour qu’une désactivation par erreur ne détruise rien. Voici, module par module, ce que cela recouvre.

Ce que chaque module laisse en base après désactivation
ModuleCe qu’il écrit dans votre base
Marge par jourAucune table. Le dossier du module ne contient pas de répertoire sql/. À l'activation, le module crée un attribut supplémentaire « Journées prévues » (code mpj_journees) sur les propositions commerciales : la valeur est stockée dans la table d'attributs supplémentaires des devis, déjà présente dans Dolibarr.
Changement de domaine emailUne table : llx_dolixdomaine_log. Elle enregistre l'historique des opérations (date, utilisateur, ancien domaine, nouveau domaine, nombre de tiers, de contacts et d'adhérents modifiés, entité). Aucune donnée métier n'y est stockée.
Modification en masseUne table : llx_dolixmasse_log. Elle enregistre l'historique des opérations (date, utilisateur, objet, champ, filtre appliqué, nouvelle valeur, nombre de fiches modifiées, entité). Aucune donnée métier n'y est stockée.
Déplacer des tâchesUne table : llx_dolixtaches_log. Elle enregistre l'historique des déplacements (date, utilisateur, identifiant de la tâche, sa référence et son libellé au moment du déplacement, projet d'origine, projet de destination, indicateur de déplacement des documents, entité). Aucune donnée métier n'y est stockée.
Détection de doublonsUne table : llx_dolixdoublons_log. Elle enregistre l'historique des fusions (date, utilisateur, type d'objet, fiche conservée, fiche fusionnée, noms des deux fiches, entité).
Actualiser les prixAucune table, aucun attribut supplémentaire. Le dossier du module ne contient pas de répertoire sql/. Le module enregistre seulement deux réglages dans les constantes de Dolibarr.
Frais d'approcheQuatre tables : llx_dolixapproche_dossier (dossiers d'arrivage : référence, libellé, date d'arrivée, état, note), llx_dolixapproche_order (commandes fournisseurs rattachées à chaque dossier), llx_dolixapproche_frais (frais : libellé, type, montant HT, clé de répartition, facture fournisseur liée) et llx_dolixapproche_journal (chaque valeur modifiée, avec l'ancienne et la nouvelle, la quantité, le stock et le montant, pour pouvoir annuler).
Reste à facturerAucune table. Le module lit les commandes, les factures et les liens entre documents ; il n'écrit rien en base. Ses deux réglages sont enregistrés comme constantes Dolibarr : DOLIXRAF_INCLUDE_DRAFTS et DOLIXRAF_INCLUDE_SHIPMENTS.
Prêt pour la mise à jourAucune table. Le module ne crée ni table, ni réglage, ni fichier : le rapport est calculé à chaque demande et les téléchargements sont générés à la volée.
Mentions TVA EuropeAucune table. À l'activation, le module ajoute aux factures un attribut supplémentaire « Mention TVA » (champ dolixtva_case, donc une colonne de llx_facture_extrafields) et enregistre ses réglages dans les constantes. Si vous activez la correction de la mention française, le texte corrigé est enregistré dans les traductions remplacées de Dolibarr (table llx_overwrite_trans), comme le ferait ConfigurationTraduction.
Justificatifs dans les notes de fraisAucune table. Le dossier du module ne contient pas de répertoire sql/. À l'activation, le module enregistre trois réglages dans les constantes de Dolibarr. Si un justificatif est mis de côté, sa trace est gardée dans un petit fichier, documents/dolixjustif/quarantaine_.json, et non en base.
Porte-monnaie TakePOSUne table : llx_dolixpm_recharge. Elle garde une ligne par recharge (tiers, facture d'acompte, montant, date, utilisateur, note, entité). Le solde n'y est pas stocké : c'est la somme des crédits disponibles de Dolibarr issus de ces factures d'acompte.
Étiquettes Mondial Relay (Sendcloud)Une table : llx_dolixmr_envoi, une ligne par expédition (Point Relais choisi, envoi Sendcloud, numéro de suivi, fichier de l'étiquette, statut, mode test ou réel). Un mode d'expédition « Mondial Relay » est ajouté au dictionnaire s'il n'existe pas. Les réglages sont des constantes Dolibarr : DOLIXMR_SC_PUBLIC, DOLIXMR_SC_SECRET (chiffrée), DOLIXMR_MODE_TEST et DOLIXMR_DOMICILE.
Alertes DLC et DMD des lotsAucune table. Le module lit les lots, leurs dates et leur stock par entrepôt. Ses réglages sont des constantes Dolibarr : DOLIXDLC_DAYS, DOLIXDLC_SHIP_SELLBY, DOLIXDLC_SHIP_EATBY et DOLIXDLC_MAIL_TO. L'activation ajoute un widget de page d'accueil et une tâche planifiée, créée désactivée.
Habillage TakePOSAucune table. Le dossier du module ne contient pas de répertoire sql/. Les réglages sont des constantes de Dolibarr (DOLIXHAB_…) : disposition, ambiance, options, couleur trouvée dans le logo.
Tags en colonne dans les listesAucune table. Le module ne contient pas de répertoire sql/ et lit les tags avec la classe Categorie du cœur. Ses neuf réglages sont des constantes Dolibarr, une par liste : DOLIXTAGS_LIST_ORDER, DOLIXTAGS_LIST_PROPAL, DOLIXTAGS_LIST_INVOICE, DOLIXTAGS_LIST_SUPPLIER_ORDER, DOLIXTAGS_LIST_SUPPLIER_INVOICE, DOLIXTAGS_LIST_THIRDPARTY, DOLIXTAGS_LIST_CONTACT, DOLIXTAGS_LIST_PRODUCT et DOLIXTAGS_LIST_PROJECT, mises à 1 à la première activation.
Cotisations en masseAucune table. Le dossier du module ne contient pas de répertoire sql/. À l'activation, le module ajoute aux adhérents un champ complémentaire, « Montant de cotisation personnalisé » (code dolixcot_amount), et enregistre un réglage, DOLIXCOT_USE_LAST_AMOUNT. Les cotisations, écritures bancaires, factures et paiements créés sont des objets ordinaires de Dolibarr.
Emballages consignésUne table : llx_dolixconsignes_mvt. Elle garde une ligne par mouvement d'emballage : client, produit emballage, quantité signée (+ chez le client, − rendu ou considéré comme vendu), valeur de la consigne, type (facture, avoir, solde initial, correction, considéré comme vendu), date, facture et ligne d'origine, note, utilisateur, entité. Deux champs sont ajoutés aux produits (dolixcons_consigne et dolixcons_delai), et le délai de retour par défaut est enregistré comme constante Dolibarr : DOLIXCONS_DEFAULT_DELAY.
Dépôt-venteDeux tables : llx_dolixdv_releve, une ligne par relevé (référence, déposant, période, mode, totaux, commission, factures créées, auteur, date), et llx_dolixdv_line, une ligne par vente réglée, avec une clé unique sur la ligne de facture pour qu'une vente ne soit jamais réglée deux fois. Trois champs supplémentaires : « Déposant (dépôt-vente) » et « Commission dépôt-vente (%) » sur les produits, « Commission dépôt-vente (%) » sur les tiers. Trois réglages enregistrés comme constantes Dolibarr : DOLIXDV_DEFAULT_COMMISSION, DOLIXDV_COMMISSION_BASE et DOLIXDV_MODE.
Bon de livraison groupéDeux tables : llx_dolixblg (un bon groupé : référence, client, note, utilisateur, date de création, entité) et llx_dolixblg_exp (les expéditions de chaque bon, dans l'ordre d'impression). Le PDF est rangé dans documents/dolixblgroupe/, dans un dossier au nom de la référence du bon. Les tables des expéditions et des commandes ne sont que lues.
Dernier prix clientAucune table. Le module lit les lignes des factures, commandes et devis clients ; il n'écrit rien dans ces documents. Ses réglages sont enregistrés comme constantes Dolibarr : DOLIXDERNIERPRIX_SEARCH_INVOICES, DOLIXDERNIERPRIX_SEARCH_ORDERS, DOLIXDERNIERPRIX_SEARCH_PROPALS, DOLIXDERNIERPRIX_ONLY_VALIDATED, DOLIXDERNIERPRIX_AUTO_APPLY, DOLIXDERNIERPRIX_COPY_DISCOUNT et DOLIXDERNIERPRIX_MAX_AGE_MONTHS.
07

Si le module n’apparaît pas

Cinq vérifications, dans cet ordre. Elles couvrent l’essentiel des cas.

  1. Le dossier est-il au bon endroit ? Le dossier du module doit se trouver directement dans htdocs/custom/, et porter exactement son nom technique — celui indiqué sur sa fiche. Un dossier imbriqué deux fois (custom/dolixmasse/dolixmasse) est la cause la plus fréquente.
  2. Le serveur web peut-il lire les fichiers ? Après une décompression par FTP ou par SSH, les fichiers appartiennent parfois à un autre compte que celui du serveur web. Le module reste alors invisible dans la liste.
  3. La version de Dolibarr est-elle suffisante ? Les 21 modules exigent Dolibarr 19.0 au minimum (21.0 pour Tags en colonne dans les listes) et PHP 7.4 au minimum. La version de Dolibarr s’affiche dans AccueilÀ propos.
  4. Le module dont il dépend est-il activé ? Chaque fiche indique le module Dolibarr à activer d’abord — Propositions commerciales, Tiers, selon les cas. Sans lui, l’écran attendu n’apparaît pas.
  5. Les droits ont-ils été attribués ? Un module activé mais sans droit attribué reste invisible pour l’utilisateur. Les droits se donnent dans AccueilUtilisateurs & Groupes, onglet des permissions.

Rien de tout cela ?

Écrivez à support@dolix.fr avec votre version de Dolibarr, le module concerné et sa version, et le message d’erreur recopié tel quel.

Page de support