INFRASFILES Génération de documents PDF, onglet « Fichiers joints » et envoi par email pour les objets Dolibarr qui n'en disposent pas nativement (bons de prélèvement / virement, inventaires). 01. PRÉSENTATION GÉNÉRALE Présentation du module InfraSFiles est un module optionnel de Dolibarr ERP & CRM (versions 18 à 24) qui apporte, aux objets qui n'en disposent pas nativement, les trois fonctions habituelles des documents Dolibarr : la génération de PDF, l'onglet « Fichiers joints » et l'envoi par email. Dans Dolibarr, un devis, une commande ou une facture disposent d'une section « Fichiers joints » en bas de fiche pour générer un PDF, d'un onglet dédié aux fichiers et d'un bouton « Envoyer par email ». D'autres objets, pourtant très utilisés, n'ont rien de tout cela : c'est le cas des bons de prélèvement / virement et des inventaires. InfraSFiles comble ce manque sans modifier Dolibarr. 1.OBJECTIF Le module ajoute, sur la fiche native de chaque objet pris en charge : La génération de documents PDF : une section « Fichiers joints » en bas de la fiche, avec le choix du modèle et de la langue, exactement comme sur une facture. L'onglet « Fichiers joints » en haut de la fiche : fichiers générés ou déposés à la main, fichiers liés (URL), compteur affiché sur l'onglet. L'envoi par email depuis la fiche : dernier PDF pré-attaché, modèles de mails dédiés, destinataires proposés, événement enregistré dans l'agenda. 2.DOCUMENTS PRIS EN CHARGE Objet Module natif requis Modèle PDF fourni Contenu Bons de prélèvement et de virement Prélèvement ou Virement (paiement par virement) « bordereau » Créancier / donneur d'ordre, débiteur / bénéficiaire (tiers ou sa maison mère), IBAN, BIC, RUM, factures ou salaires concernés avec date, échéance, tiers facturé, avoirs appliqués, statut de chaque ligne, total et montant rejeté Inventaires Stock « comptage » Feuille de comptage : informations de l'inventaire en en-tête, références regroupées par zone de stockage, case vide de relevé, colonne lot / série si besoin, quantité théorique masquée par défaut, zone « Compté par / Date / Signature » Avec le module InfraSPackPlus, un second modèle est proposé pour chaque document (« InfraSPlus_Bon » et « InfraSPlus_INV ») : même contenu, mais avec la mise en page et les options d'InfraSPackPlus. 3.PRINCIPE DE FONCTIONNEMENT InfraSFiles est un socle générique : chaque objet pris en charge est une simple déclaration dans un registre interne, accompagnée d'un modèle PDF. Les tables natives de Dolibarr ne sont jamais modifiées : le module mémorise dans sa propre table le dernier modèle utilisé et le dernier fichier généré pour chaque objet. Toutes les fonctions sont optionnelles et indépendantes, document par document : on peut par exemple activer la génération PDF des bons de prélèvement sans l'envoi par email, et ne rien activer pour les inventaires. Les fichiers produits sont stockés dans le répertoire de données du module et leur téléchargement est soumis au droit de lecture natif de l'objet concerné (droit de lecture des bons de prélèvement, droit de lecture des stocks). 4.AVANTAGES Aucune modification du cœur de Dolibarr : le module s'appuie uniquement sur les mécanismes natifs (hooks, modèles de documents, formulaire d'envoi d'email). Comportement identique aux documents natifs : mêmes écrans, mêmes boutons, mêmes habitudes pour les utilisateurs. Modulaire : chaque document et chaque fonction s'active séparément. Extensible : un module tiers peut déclarer ses propres objets et fournir ses propres modèles (voir le chapitre Compatibilité et modules tiers). Sauvegarde / restauration de l'ensemble des paramètres du module. 5.INFORMATIONS TECHNIQUES Nom du module InfraSFiles (libellé « Documents et emails ») Numéro de module 550100 Compatibilité Dolibarr 18.0.0 à 24.x Compatibilité PHP 7.4 à 8.4 Licence GNU GPL v3 ou supérieure Dépendance obligatoire Aucune (l'extension PHP xml est nécessaire à l'affichage du changelog) Langues Français, anglais, espagnol, italien Éditeur : InfraS - Sylvain Legrand   -   Contact : support@infras.fr   -   Site web : https://www.infras.fr 02. INSTALLATION ET ACTIVATION Installation et activation 1.PRÉREQUIS Dolibarr version 18.0.0 minimum, jusqu'à la version 24. En dessous de la version 18, le module se désactive de lui-même ; au-delà de la version 24, un avertissement s'affiche à la connexion mais le module reste utilisable, sans garantie. PHP 7.4 à 8.4, avec l'extension xml chargée (nécessaire à la lecture du changelog). Au moins un des modules natifs concernés doit être activé pour que le document correspondant soit disponible : Prélèvement ou Virement (paiement par virement) pour les bons, Stock pour les inventaires. Sans le module natif, la ligne du document apparaît grisée dans les paramètres. 2.INSTALLATION Téléchargez le module depuis le Dolistore ou le site InfraS Décompressez l'archive dans le dossier « custom » de votre installation Dolibarr htdocs/custom/infrasfiles OU utilisez l'outil de déploiement des modules externes de Dolibarr (Accueil > Configuration > Modules/Applications > Déployer un module externe) 3.ACTIVATION Connectez-vous en tant qu'administrateur Allez dans : Accueil > Configuration > Modules/Applications Recherchez « Documents et emails » (famille Modules InfraS) Cliquez sur le bouton « Activer » (ON/OFF) Cliquez ensuite sur l'icône de configuration pour ouvrir la page des paramètres Ce que fait l'activation Lors de l'activation, le module prépare automatiquement tout ce dont il a besoin, sans rien modifier aux tables natives : Création de sa table de suivi documentaire (dernier modèle et dernier fichier générés par objet). Création des répertoires de données documents/infrasfiles/widthdraw et documents/infrasfiles/inventory. Création, sur les fiches tiers, de l'attribut supplémentaire « Adresser les bordereaux de prélèvement / virement à la maison mère » (case à cocher, visible tant que le module est actif). Il sert au découpage des PDF par maison mère (voir le chapitre Bons de prélèvement et de virement). Création d'un modèle d'email par défaut pour chaque document (visible dans Configuration > Emails > Modèles d'emails), dans la langue de l'utilisateur qui active le module. Un modèle déjà présent n'est jamais écrasé. Déclaration des événements automatiques d'agenda « Bon de prélèvement / virement envoyé par email » et « Inventaire envoyé par email ». Restauration automatique des paramètres sauvegardés lors d'une précédente désactivation. IMPÉRATIF : Après toute mise à jour du module, vous DEVEZ : Désactiver le module / Réactiver le module. Cette opération est nécessaire pour appliquer les modifications de structure (table, attribut, modèles de mails, événements) nécessaires au bon fonctionnement de la nouvelle version. Les paramètres sont sauvegardés automatiquement à la désactivation et restaurés à la réactivation : rien n'est perdu. 4.DÉSACTIVATION À la désactivation, le module sauvegarde l'ensemble de ses paramètres puis les retire de la configuration. Les fichiers PDF déjà générés, l'attribut « maison mère » des tiers et les modèles d'emails sont conservés : ils seront de nouveau utilisables dès la réactivation. 5.ACCÈS AU MODULE Une fois activé, le module est accessible depuis deux endroits : Accueil > Configuration > Modules/Applications > Documents et emails > icône Configurer Outils > InfraS > InfraSFiles, avec deux entrées : Changelog / Support et Paramètres InfraS La page d'administration comporte trois onglets : Paramètres InfraS, À propos et Changelog / Support. 03. PERMISSIONS ET DROITS D'ACCÈS Permissions InfraSFiles définit quatre permissions propres. Elles ne concernent que l'administration du module : l'utilisation quotidienne (générer un PDF, ouvrir l'onglet, envoyer un email) repose sur les droits natifs de chaque objet, décrits au point 5. 1.PERMISSION « VOIR LE MENU DES PARAMÈTRES » Code paramMenu Description Affiche l'entrée InfraSFiles dans le menu Outils > InfraS et donne accès aux pages Changelog / Support et À propos Par défaut ✓ OUI (permission par défaut) 2.PERMISSION « MODIFIER LES PARAMÈTRES DU MODULE » Code paramInfraSFiles Description Permet d'ouvrir la page Paramètres InfraS et de modifier la configuration : activation des documents, options, modèles de documents Par défaut ✗ NON 3.PERMISSION « SAUVEGARDER / RESTAURER LES PARAMÈTRES DU MODULE » Code paramBkpRest Description Affiche le bloc Sauvegarder / Restaurer en haut de la page des paramètres Par défaut ✗ NON 4.PERMISSION « TÉLÉCHARGER TOUS LES FICHIERS DU MODULE » Code read Description Autorise le téléchargement de tous les fichiers produits par le module (bons de prélèvement, inventaires…) sans le droit de lecture natif de chaque objet. Donne aussi accès au fichier de sauvegarde des paramètres Par défaut ✗ NON À réserver aux administrateurs. Sans cette permission, chaque fichier exige le droit de lecture natif de son objet : c'est le fonctionnement normal et recommandé. Cette permission ne sert qu'à un profil technique qui doit pouvoir tout consulter. 5.DROITS NATIFS UTILISÉS AU QUOTIDIEN Pour les utilisateurs, InfraSFiles ne crée aucun droit supplémentaire : il applique les droits que Dolibarr définit déjà pour chaque objet. Document Voir l'onglet, télécharger les fichiers Générer / supprimer un PDF, envoyer par email Bons de prélèvement et de virement Prélèvements > Lire les bons de prélèvement Prélèvements > Créer / modifier les bons de prélèvement Inventaires Stocks > Lire les stocks Stocks > Créer / modifier les stocks Concrètement : un utilisateur qui peut consulter un bon de prélèvement peut voir et télécharger ses bordereaux ; un utilisateur qui peut le créer ou le modifier peut aussi générer, supprimer et envoyer les bordereaux. Un fichier est toujours protégé par le droit de son objet : le droit d'écriture sur les bons ne permet pas de supprimer une feuille de comptage d'inventaire, et inversement. 6.CONFIGURATION DES PERMISSIONS Accès : Accueil > Utilisateurs & Groupes > [Utilisateur ou Groupe] > Permissions Rechercher « Documents et emails » (ou « InfraSFiles ») dans la liste des modules. 04. CONFIGURATION DU MODULE Paramètres du module 1.ACCÉDER À LA PAGE DE CONFIGURATION La configuration du module se fait depuis : Accueil > Configuration > Modules/Applications > Documents et emails > Configurer ou depuis le menu Outils > InfraS > InfraSFiles > Paramètres InfraS (permissions Voir le menu des paramètres et Modifier les paramètres du module requises). La page est organisée en trois blocs, décrits ci-dessous : Sauvegarde / Restauration, Documents pris en charge et Modèles de documents. 2.SAUVEGARDE / RESTAURATION Ce bloc n'apparaît que pour les utilisateurs disposant de la permission Sauvegarder / Restaurer les paramètres du module. Il permet d'enregistrer l'ensemble des réglages dans un fichier et de les remettre en place plus tard. Le fonctionnement détaillé est décrit dans le chapitre Sauvegarde et restauration. 3.DOCUMENTS PRIS EN CHARGE Ce bloc liste chaque document que le module sait produire, sous la forme d'un bandeau par document (Bons de prélèvement et de virement, Inventaires) suivi de ses réglages. Les réglages s'affichent de manière hiérarchique : tant qu'un document n'est pas activé, seule sa ligne « Activé » est visible. Ligne « Activé » Interrupteur général du document (icône verte = activé, grise = désactivé). Un clic recharge immédiatement la page et fait apparaître, ou disparaître, les lignes de réglage qui en dépendent. Désactivé, le document ne se manifeste nulle part dans Dolibarr : ni section, ni onglet, ni bouton d'envoi. Si le module natif nécessaire n'est pas activé (Prélèvement ou Virement pour les bons, Stock pour les inventaires), la ligne est grisée avec la mention « Nécessite l'activation d'un de ces modules : … ». Activez d'abord le module natif. Ligne « Génération PDF + Fichiers joints » Active la section « Fichiers joints » en bas de la fiche native (choix du modèle, bouton Générer, liste des fichiers) et l'onglet « Fichiers joints » en haut de la fiche. Désactivée, l'onglet reste accessible mais sans l'encadré de génération, et le bloc Modèles de documents ne propose plus ce document. Ligne « Envoi par email » Active le bouton « Envoyer par email » sur la fiche native et l'écran d'envoi associé (voir le chapitre Envoi par email). Options propres à chaque document Sous ces trois lignes, chaque document propose ses propres options. Les options saisies (liste déroulante, texte) ne sont enregistrées qu'après un clic sur le bouton « Modifier » situé en haut à droite du bloc ; les interrupteurs, eux, s'enregistrent immédiatement. Document Option Type Rôle Bons de prélèvement et de virement Découpage des PDF Liste Un PDF par tiers (regroupe ses factures) ou un PDF par maison mère (regroupe ses tiers ayant coché l'option), sinon un PDF par tiers. Une icône d'aide détaille la règle. Voir le chapitre Bons de prélèvement et de virement Bons de prélèvement et de virement Texte libre en pied de page Texte multiligne Texte imprimé en pied de chaque page du bordereau (vide = aucun) Bons de prélèvement et de virement Filigrane sur les documents brouillon Texte Filigrane imprimé en travers des pages tant que le bon est au statut brouillon (vide = aucun) Inventaires Afficher la quantité théorique sur la feuille de comptage Interrupteur Ajoute la colonne « Stock physique » (quantité connue de Dolibarr) sur la feuille. Masquée par défaut pour un comptage à l'aveugle Inventaires Texte libre en pied de page Texte multiligne Texte imprimé en pied de chaque page de la feuille (vide = aucun) Inventaires Filigrane sur les documents brouillon Texte Filigrane imprimé tant que l'inventaire est au statut brouillon (vide = aucun) Le regroupement par zone de stockage de la feuille de comptage ne se règle pas ici : il suit la configuration de la colonne « Zone » du module InfraSWorkflow (voir le chapitre Inventaires). 4.MODÈLES DE DOCUMENTS Ce bloc affiche un tableau par document dont la « Génération PDF + Fichiers joints » est active. Chaque tableau liste les modèles PDF disponibles pour ce document, y compris ceux fournis par d'autres modules (InfraSPackPlus par exemple). Colonne Contenu Nom Nom du modèle (« bordereau », « comptage », « InfraSPlus_Bon », « InfraSPlus_INV »…) Description Ce que produit le modèle Type Toujours « pdf » Statut Interrupteur : un modèle activé est proposé dans la liste déroulante de la section « Fichiers joints » de la fiche Défaut Modèle présélectionné à la génération. Le choisir l'active automatiquement si besoin Aperçu Icône PDF : ouvre dans un nouvel onglet un document SPÉCIMEN (objet fictif, rien n'est enregistré) pour juger de la mise en page, du texte libre et du filigrane Tant qu'aucun modèle par défaut n'est choisi, la section « Fichiers joints » de la fiche affiche le message « Aucun modèle de document sélectionné : choisissez un modèle par défaut dans les paramètres du module » et la génération est impossible. Si aucun document n'a sa génération PDF activée, le bloc affiche simplement « Aucun document avec la génération PDF activée ». 5.RÉSUMÉ DE LA CASCADE DES RÉGLAGES Réglage Effet quand il est désactivé Activé Rien n'apparaît sur la fiche native (ni section, ni onglet, ni bouton) Génération PDF + Fichiers joints Onglet accessible mais sans encadré de génération ; document absent du bloc Modèles de documents Envoi par email Pas de bouton « Envoyer par email » 05. BONS DE PRÉLÈVEMENT ET DE VIREMENT Bordereau de prélèvement / virement Les bons de prélèvement (module Prélèvement) et les bons de virement (module Virement, paiement par virement) partagent la même fiche dans Dolibarr : Banque | Caisse > Prélèvements (ou Virements) > Bons de prélèvement. InfraSFiles y ajoute la génération d'un bordereau, document récapitulatif à transmettre au tiers prélevé ou au bénéficiaire du virement. 1.CONTENU DU BORDEREAU (MODÈLE « bordereau ») En-tête Logo ou raison sociale de votre société, titre « Bordereau de prélèvement » ou « Bordereau de virement » selon la nature du bon. Référence du bon, date, nombre de lignes. Blocs d'identification Bon de prélèvement Bon de virement Créancier : votre société Donneur d'ordre : votre société Débiteur : le tiers prélevé (ou sa maison mère, voir le point 2) Bénéficiaire : le tiers payé (ou sa maison mère) Le bloc débiteur / bénéficiaire reprend le nom, le code, l'adresse et les coordonnées bancaires : IBAN, BIC et RUM (référence unique de mandat). Le RIB imprimé est celui réellement utilisé par la ligne du bon, à défaut le RIB par défaut du tiers. Quand le PDF n'est pas adressé à la maison mère mais que le tiers en a une, la mention « Maison mère : X » est ajoutée. Tableau des lignes Colonne Contenu Document Référence de la facture client, de la facture fournisseur ou du salaire concerné Date Date du document Échéance Date d'échéance du document Tiers Tiers facturé (utile quand le PDF regroupe plusieurs tiers sous une maison mère). Si les lignes d'un même PDF utilisent des IBAN différents, l'IBAN de chaque ligne est imprimé sous le nom du tiers Statut Statut natif de la ligne : En attente, Débité (ou Crédité pour un virement), Rejeté. Les lignes rejetées sont imprimées en rouge Montant Montant prélevé ou viré Sous chaque facture, une sous-ligne grise « Avoir XXX : -montant » est ajoutée pour chaque avoir appliqué à cette facture. Pied du tableau Total du bon. Si des lignes ont été rejetées : mention « dont N ligne(s) rejetée(s) : montant » sous le total. Texte libre de pied de page et filigrane « brouillon » si configurés (voir le chapitre Configuration du module). 2.DÉCOUPAGE DES PDF : UN PDF PAR TIERS OU PAR MAISON MÈRE Un bon de prélèvement contient généralement des lignes de plusieurs tiers. Le module ne produit donc pas un seul PDF pour le bon, mais un PDF par destinataire, selon l'option « Découpage des PDF » des paramètres : Valeur Comportement Un PDF par tiers (valeur par défaut) Chaque tiers reçoit un PDF regroupant toutes ses factures présentes dans le bon. Sa maison mère éventuelle n'est mentionnée qu'à titre d'information Un PDF par maison mère Les tiers qui ont une maison mère renseignée sur leur fiche et l'attribut « Adresser les bordereaux de prélèvement / virement à la maison mère » coché sont regroupés dans un seul PDF adressé à la maison mère (une facture par ligne, avec le nom du tiers facturé). Tout autre tiers garde son propre PDF. Une maison mère qui a elle-même des factures dans le bon obtient un seul PDF Exemple Un bon contient les factures de 10 tiers rattachés à la même maison mère, dont 8 ont coché l'attribut. En mode « Un PDF par maison mère », le module produit 3 PDF : un pour la maison mère (avec les factures des 8 tiers), plus un pour chacun des 2 tiers restants. L'attribut « Adresser les bordereaux à la maison mère » Cet attribut supplémentaire (case à cocher) est créé automatiquement sur les fiches tiers à l'activation du module. Il est visible tant que le module est actif et n'est jamais supprimé à la désactivation, pour conserver les choix faits. Il se coche sur la fiche du tiers, à côté du champ natif Maison mère. Sans maison mère renseignée, l'attribut est sans effet. Le regroupement ne se fait que sur un niveau : la maison mère directe du tiers. Une maison mère de maison mère n'est pas prise en compte. 3.NOMS DES FICHIERS Chaque PDF est nommé -.pdf, par exemple PREL2609-00012-CU2401-0042.pdf. Si le destinataire n'a pas de code, le suffixe ID est utilisé. Tous les PDF d'un bon apparaissent dans la section « Fichiers joints » de sa fiche et sont conservés dans le répertoire documents/infrasfiles/widthdraw//. 4.GÉNÉRER UN BORDEREAU Ouvrez la fiche du bon de prélèvement ou de virement Descendez jusqu'à la section « Fichiers joints », placée sous les boutons d'action Choisissez le modèle (« bordereau », ou « InfraSPlus_Bon » avec InfraSPackPlus) et la langue Cliquez sur « Générer » : un PDF par tiers ou par maison mère est créé et listé dans la section Le détail de la section, de l'onglet « Fichiers joints » et de l'envoi par email est décrit dans les chapitres suivants. 5.MODÈLE « InfraSPlus_Bon » Quand le module InfraSPackPlus est installé, un second modèle « InfraSPlus_Bon » apparaît dans le bloc Modèles de documents. Il imprime exactement le même contenu que « bordereau » mais avec la mise en page, les couleurs et les options d'InfraSPackPlus (en-têtes, adresses, mentions, pied de page…), pour une présentation homogène avec vos autres documents. Il se choisit et se met par défaut depuis la page des paramètres d'InfraSFiles. 06. INVENTAIRES Feuille de comptage d'inventaire Les inventaires du module Stock (Produits | Services > Inventaires) n'ont pas de document natif. InfraSFiles y ajoute une feuille de comptage : un document à imprimer pour relever les quantités physiquement en stock, zone par zone, avant de saisir le résultat dans Dolibarr. 1.CONTENU DE LA FEUILLE DE COMPTAGE (MODÈLE « comptage ») En-tête Logo ou raison sociale, titre « Feuille de comptage ». Référence et libellé de l'inventaire, entrepôt, date, statut. Filtres de l'inventaire repris tels quels : catégories de produits et produit, s'ils ont été renseignés à la création de l'inventaire. Corps : les références regroupées par zone Les lignes de l'inventaire sont regroupées sous une bande par zone de stockage, qui indique le nom de la zone et le nombre de références qu'elle contient. À l'intérieur d'une zone, les lignes sont triées par référence produit puis par lot. Les produits sans zone sont regroupés en fin de feuille sous la bande « Sans zone ». Colonne Affichée Contenu Référence Toujours Référence du produit Libellé Toujours Libellé du produit Entrepôt Seulement si l'inventaire porte sur plusieurs entrepôts Entrepôt de la ligne Lot / série Seulement si des produits à lots ou numéros de série sont présents Numéro de lot ou de série Stock physique Seulement si l'option « Afficher la quantité théorique » est activée Quantité connue de Dolibarr au moment de la génération Quantité relevée Toujours Case vide à remplir à la main lors du comptage La quantité théorique est masquée par défaut pour favoriser un comptage « à l'aveugle » : la personne qui compte n'est pas influencée par la valeur attendue. Fin de feuille Zone « Compté par / Date / Signature » pour tracer qui a réalisé le comptage. Texte libre de pied de page et filigrane « brouillon » si configurés. 2.LES ZONES DE STOCKAGE : LIEN AVEC INFRASWORKFLOW Le regroupement par zone n'est pas une option d'InfraSFiles : la feuille de comptage suit la configuration de la colonne « Zone » de la page de saisie des inventaires, fournie par le module InfraSWorkflow (section Gestion des inventaires de ses paramètres). Ainsi, la feuille imprimée et l'écran de saisie montrent toujours les mêmes zones, dans le même ordre. Source de la zone (réglage InfraSWorkflow) Ordre des zones sur la feuille Attribut supplémentaire du produit (de type liste) Ordre des valeurs de la liste, tel que défini dans l'attribut Sous-catégories d'une catégorie de localisation Ordre de création des sous-catégories (ordre chronologique) Les valeurs inconnues (par exemple un attribut de type texte, ou une valeur retirée de la liste) sont placées après les zones connues, par ordre alphabétique ; les lignes sans zone viennent en dernier. Sans le module InfraSWorkflow, ou si la colonne « Zone » y est désactivée, la feuille de comptage est générée sans regroupement : toutes les références sont listées à la suite, sans erreur. 3.GÉNÉRER UNE FEUILLE DE COMPTAGE La section « Fichiers joints » est disponible sur deux pages de l'inventaire : la fiche de l'inventaire (onglet principal) ; la page de saisie des lignes (onglet Inventaire), sous le tableau des lignes : pratique pour imprimer la feuille puis saisir les quantités relevées au même endroit. Ouvrez l'inventaire Descendez jusqu'à la section « Fichiers joints » Choisissez le modèle (« comptage », ou « InfraSPlus_INV » avec InfraSPackPlus) et la langue Cliquez sur « Générer » Imprimez la feuille, effectuez le comptage, puis saisissez les quantités relevées dans l'onglet Inventaire Le fichier est nommé .pdf et conservé dans documents/infrasfiles/inventory//. Regénérer la feuille remplace le fichier précédent. 4.MODÈLE « InfraSPlus_INV » Avec InfraSPackPlus, un second modèle « InfraSPlus_INV » propose le même contenu avec la mise en page et les options d'InfraSPackPlus. Il se choisit depuis le bloc Modèles de documents des paramètres d'InfraSFiles. 07. UTILISATION SUR LES FICHES Génération et onglet Fichiers joints Ce chapitre décrit ce que voit l'utilisateur sur la fiche native d'un objet pris en charge, une fois le document activé avec la « Génération PDF + Fichiers joints » dans les paramètres. Le fonctionnement est volontairement identique à celui des factures ou des devis de Dolibarr. 1.LA SECTION « FICHIERS JOINTS » EN BAS DE FICHE Elle est insérée juste sous les boutons d'action de la fiche (Valider, Modifier, Supprimer…). Elle contient : une liste déroulante des modèles activés dans les paramètres, avec le modèle par défaut présélectionné ; une liste déroulante de la langue du document ; le bouton « Générer » ; la liste des fichiers déjà présents pour cet objet : nom, taille, date, icône de téléchargement et icône de suppression (corbeille). Un clic sur « Générer » crée le ou les PDF (un par tiers ou par maison mère pour un bon de prélèvement, un seul pour un inventaire) et les ajoute à la liste. Générer de nouveau avec le même modèle remplace les fichiers portant le même nom. La section n'apparaît que si l'utilisateur dispose du droit de lecture natif de l'objet. Le bouton « Générer » et la corbeille exigent le droit de création / modification natif. Documents brouillon Tant que l'objet est au statut brouillon, le PDF porte le filigrane configuré dans les paramètres (s'il est renseigné). Une fois l'objet validé, il suffit de regénérer le document pour obtenir une version sans filigrane. 2.L'ONGLET « FICHIERS JOINTS » Un onglet « Fichiers joints » est ajouté en haut de la fiche, avec un badge indiquant le nombre de fichiers. Il est visible si le document est activé dans les paramètres et si l'utilisateur a le droit de lecture natif de l'objet. Il se comporte comme l'onglet des factures : rappel de la référence, du nombre de fichiers et de leur taille totale ; encadré de génération (modèle, langue, Générer), sauf si la « Génération PDF + Fichiers joints » est désactivée ; ajout manuel d'un fichier (déposer un scan, un justificatif…) ; ajout d'un lien (URL externe) ; liste de tous les fichiers et liens, avec téléchargement et suppression. Les fichiers déposés à la main sont stockés au même endroit que les PDF générés et sont proposés en pièce jointe lors de l'envoi par email. 3.TÉLÉCHARGEMENT ET SÉCURITÉ DES FICHIERS Chaque fichier est servi avec le contrôle d'accès natif de Dolibarr : le téléchargement exige le droit de lecture de l'objet auquel il appartient (bons de prélèvement ou stocks). Un lien de téléchargement copié et transmis à un utilisateur qui n'a pas ce droit répond « accès refusé ». Seule la permission « Télécharger TOUS les fichiers du module » (réservée aux administrateurs) passe outre. 4.EMPLACEMENT DES FICHIERS SUR LE SERVEUR Document Répertoire (sous le répertoire documents de Dolibarr) Bons de prélèvement et de virement infrasfiles/widthdraw// Inventaires infrasfiles/inventory// Ces fichiers sont indexés dans le gestionnaire de documents (ECM) de Dolibarr comme les documents natifs, et suivent donc les sauvegardes habituelles du répertoire documents. 08. ENVOI PAR EMAIL Envoi par email Quand la ligne « Envoi par email » d'un document est activée dans les paramètres, InfraSFiles ajoute à la fiche native le bouton « Envoyer par email », avec l'écran d'envoi standard de Dolibarr. 1.LE BOUTON « ENVOYER PAR EMAIL » Il apparaît parmi les boutons d'action de la fiche, pour les utilisateurs disposant du droit de création / modification natif de l'objet. Il ouvre l'écran d'envoi, positionné directement sur le formulaire. 2.L'ÉCRAN D'ENVOI C'est le formulaire d'envoi natif de Dolibarr (le même que pour une facture), avec quelques comportements propres au module : Élément Comportement Pièces jointes Le dernier PDF généré est pré-attaché. Pour un bon de prélèvement découpé en plusieurs PDF (par tiers ou par maison mère), tous les PDF du bon sont attachés. Les fichiers déposés à la main peuvent être ajoutés depuis la liste Destinataires proposés (bons) La liste « Destinataires » propose les contacts des tiers présents dans les lignes du bon. Rien n'est pré-rempli dans le champ de saisie libre : l'utilisateur choisit Destinataires proposés (inventaires) Un inventaire n'a pas de tiers : la liste propose les utilisateurs de Dolibarr (si l'option « Autoriser l'envoi aux utilisateurs » est active dans la configuration des emails), sinon la saisie libre Modèle de mail La liste propose les modèles du type propre au document (« Bons de prélèvement et de virement » ou « Inventaires ») ainsi que les modèles « Tous ». Le modèle par défaut du type est présélectionné Sujet Pré-rempli par le modèle, par exemple « Bordereau de prélèvement / virement PREL2609-00012 » Annuler Retour à la page « Fichiers joints » de l'objet Après l'envoi, Dolibarr affiche la confirmation habituelle et revient sur la fiche. 3.LES MODÈLES DE MAILS À l'activation, le module crée un modèle d'email par document, dans la langue de l'utilisateur qui active le module : Document Libellé du modèle Sujet Contenu Bons de prélèvement et de virement Envoi d'un bordereau de prélèvement / virement Bordereau de prélèvement / virement __REF__ Bonjour, Veuillez trouver ci-joint le bordereau de prélèvement / virement __REF__. Cordialement, __MYCOMPANY_NAME__ Inventaires Envoi d'une feuille de comptage d'inventaire Feuille de comptage d'inventaire __REF__ Bonjour, Veuillez trouver ci-joint la feuille de comptage de l'inventaire __REF__. Cordialement, __MYCOMPANY_NAME__ Ces modèles se modifient, se traduisent et se complètent dans : Accueil > Configuration > Emails > Modèles d'emails Les types « Bons de prélèvement et de virement » et « Inventaires » y sont ajoutés par le module dans la liste des types de modèles. Un modèle existant n'est jamais écrasé par une réactivation du module. Les substitutions habituelles de Dolibarr sont disponibles ( __REF__, __MYCOMPANY_NAME__, __USER_FULLNAME__…). 4.L'ÉVÉNEMENT DANS L'AGENDA Chaque envoi crée automatiquement un événement dans l'agenda de Dolibarr, rattaché à l'objet, comme pour l'envoi d'une facture : « Bon de prélèvement / virement envoyé par email » « Inventaire envoyé par email » Ces événements automatiques peuvent être désactivés individuellement dans : Accueil > Configuration > Agenda > Événements automatiques 5.VÉRIFIER QU'UN ENVOI A BIEN EU LIEU L'événement d'agenda est créé sur l'objet (onglet Événements de la fiche). En cas de doute sur les pièces jointes, le journal de Dolibarr ( dolibarr.log en niveau DEBUG) trace chaque fichier attaché à l'envoi. 09. SAUVEGARDE ET RESTAURATION Sauvegarde et restauration Le bloc Sauvegarde / Restauration, en haut de la page Paramètres InfraS, permet d'enregistrer l'ensemble de la configuration d'InfraSFiles et de la remettre en place plus tard. Il n'est visible que pour les utilisateurs disposant de la permission Sauvegarder / Restaurer les paramètres du module. 1.SAUVEGARDE Accédez à l'onglet Paramètres InfraS Cliquez sur le bouton « Sauvegarder », en haut de la page Une confirmation s'affiche indiquant que la sauvegarde est effectuée Sauvegarde automatique Une sauvegarde automatique est effectuée lors de la désactivation du module. Cela permet de conserver votre configuration même si vous désactivez temporairement le module, par exemple lors d'une mise à jour. Éléments sauvegardés L'activation de chaque document et de ses fonctions (génération PDF, envoi par email) Les options de chaque document : découpage des PDF, texte libre, filigrane, affichage de la quantité théorique Le modèle de document par défaut de chaque document Le fichier de sauvegarde est stocké dans le répertoire de données du module ( documents/infrasfiles/sql/), un fichier par entité. Le lien du bloc permet de le télécharger pour le conserver ailleurs. 2.RESTAURATION Accédez à l'onglet Paramètres InfraS Cliquez sur le bouton « Restaurer », en haut de la page Les paramètres sauvegardés sont restaurés Rechargez la page (F5) pour voir le résultat Restauration automatique Une restauration automatique est effectuée lors de l'activation du module. Si le module a été désactivé puis réactivé, vos paramètres sont automatiquement remis en place. Important : La restauration écrase les paramètres actuels par ceux de la sauvegarde. 3.CE QUI N'EST PAS CONCERNÉ Les fichiers PDF générés : ils restent dans le répertoire documents quoi qu'il arrive. Les modèles d'emails : gérés dans la configuration des emails de Dolibarr, jamais supprimés par le module. L'attribut « Adresser les bordereaux à la maison mère » et les valeurs cochées sur les tiers. La liste des modèles de documents activés (table native des modèles), conservée par Dolibarr lui-même. 4.RECOMMANDATIONS Effectuez une sauvegarde avant toute modification importante Effectuez une sauvegarde avant toute mise à jour du module Testez vos modifications sur un environnement de test si possible 10. COMPATIBILITÉ ET MODULES TIERS Compatibilité 1.VERSIONS SUPPORTÉES Dolibarr 18.0.0 à 24.x — la structure des fiches sur laquelle le module s'appuie a été vérifiée identique de la version 18 à la version 24 PHP 7.4 à 8.4 Base de données MySQL / MariaDB / PostgreSQL (aucune syntaxe SQL propriétaire) Multi-entités Oui : paramètres, modèles par défaut, attribut tiers et fichiers sont propres à chaque entité 2.MODULES NATIFS Module natif Rôle pour InfraSFiles Prélèvement ou Virement (paiement par virement) Nécessaire au document « Bons de prélèvement et de virement ». L'un des deux suffit Stock Nécessaire au document « Inventaires » Agenda Enregistrement des événements « envoyé par email » Emails (configuration) Modèles d'emails et envoi ECM / GED Indexation des fichiers produits, comme pour les documents natifs 3.MODULES INFRAS COMPLÉMENTAIRES InfraSPackPlus Fournit deux modèles supplémentaires, listés et activables depuis la page des paramètres d'InfraSFiles : InfraSPlus_Bon : bordereau de prélèvement / virement avec la mise en page et les options d'InfraSPackPlus InfraSPlus_INV : feuille de comptage d'inventaire avec la mise en page et les options d'InfraSPackPlus Documentation : wiki InfraSPackPlus InfraSWorkflow Détermine la zone de stockage utilisée pour regrouper les références sur la feuille de comptage (section Gestion des inventaires : colonne « Zone » alimentée par un attribut supplémentaire du produit ou par les sous-catégories d'une catégorie de localisation). Dépendance optionnelle : sans InfraSWorkflow, pas de regroupement, sans erreur. Documentation : wiki InfraSWorkflow 4.POUR LES DÉVELOPPEURS : AJOUTER SES PROPRES OBJETS InfraSFiles est conçu comme un socle. Un module tiers peut déclarer un nouvel objet à documenter, sans modifier InfraSFiles, grâce au hook infrasFilesRegisterObjects (contexte infrasfilesregistry). Le hook retourne, dans $this->results, une définition par objet avec notamment : Clé Rôle label, picto Libellé (clé de traduction) et picto affichés dans les paramètres class, classpath Classe fille de l'objet natif ajoutant la génération de document parentclass, parentpath, table Classe et table natives de l'objet modelspath, docpart, dirout Répertoire des modèles PDF, type de modèle, sous-répertoire de sortie des fichiers tabcontext, hookcontext, cardurl Accrochage de l'onglet et de la section sur la fiche native needmodule Modules natifs dont au moins un doit être actif permread, permwrite Droits natifs de lecture et d'écriture mailtype, mailtopic, mailtemplate, trigger Type de modèle de mail, sujet, modèle par défaut, déclencheur d'agenda options Options propres à l'objet, affichées automatiquement dans les paramètres (liste, texte, texte multiligne, interrupteur) Un module tiers peut aussi se contenter de fournir un modèle PDF supplémentaire pour un objet déjà pris en charge : il suffit de déclarer models dans son descripteur et de placer le modèle dans core/modules/infrasfiles//doc/ de son propre répertoire, comme le fait InfraSPackPlus. Le modèle est alors listé automatiquement dans les paramètres d'InfraSFiles. Les tables natives de Dolibarr ne sont jamais modifiées : l'état documentaire (dernier modèle, dernier fichier) est mémorisé dans la table llx_infrasfiles_document, une ligne par objet et par entité. 11. DÉPANNAGE Dépannage 1.LA SECTION « FICHIERS JOINTS » N'APPARAÎT PAS SUR LA FICHE Causes possibles : ✓ Le document n'est pas activé → Vérifiez la ligne « Activé » puis la ligne « Génération PDF + Fichiers joints » du document dans Paramètres InfraS ✓ Le module natif n'est pas activé → La ligne du document est grisée avec « Nécessite l'activation d'un de ces modules » : activez Prélèvement ou Virement (bons), Stock (inventaires) ✓ L'utilisateur n'a pas le droit de lecture natif → Vérifiez les droits « Lire les bons de prélèvement » ou « Lire les stocks » de l'utilisateur ✓ Le module vient d'être mis à jour → Désactivez puis réactivez le module 2.MESSAGE « AUCUN MODÈLE DE DOCUMENT SÉLECTIONNÉ » Causes possibles : ✓ Aucun modèle par défaut n'est défini → Dans Paramètres InfraS, bloc Modèles de documents, cliquez sur la colonne « Défaut » du modèle souhaité (il est activé automatiquement) 3.LE BOUTON « GÉNÉRER » OU LA CORBEILLE SONT ABSENTS Causes possibles : ✓ L'utilisateur n'a pas le droit d'écriture natif → Le droit « Créer / modifier les bons de prélèvement » ou « Créer / modifier les stocks » est nécessaire pour générer et supprimer 4.« ACCÈS REFUSÉ » AU TÉLÉCHARGEMENT D'UN FICHIER Causes possibles : ✓ L'utilisateur n'a pas le droit de lecture natif de l'objet → Chaque fichier est protégé par le droit de lecture de son objet (bons de prélèvement ou stocks). Attribuez ce droit, ou, pour un profil technique uniquement, la permission « Télécharger TOUS les fichiers du module » 5.LE BON DE PRÉLÈVEMENT NE PRODUIT PAS LE NOMBRE DE PDF ATTENDU Causes possibles : ✓ Le découpage est réglé sur « Un PDF par tiers » → Chaque tiers reçoit son PDF, la maison mère n'est qu'une mention. Passez sur « Un PDF par maison mère » puis cliquez sur « Modifier » ✓ Le tiers n'a pas de maison mère renseignée, ou l'attribut n'est pas coché → Sur la fiche du tiers, renseignez le champ Maison mère et cochez « Adresser les bordereaux de prélèvement / virement à la maison mère ». Les deux conditions sont nécessaires ✓ Le regroupement attendu porte sur plusieurs niveaux → Seule la maison mère directe est prise en compte 6.LA FEUILLE DE COMPTAGE N'EST PAS REGROUPÉE PAR ZONE Causes possibles : ✓ Le module InfraSWorkflow n'est pas activé, ou sa colonne « Zone » est désactivée → Activez InfraSWorkflow et configurez la colonne « Zone » dans sa section Gestion des inventaires (attribut produit ou catégorie de localisation) ✓ Les produits n'ont pas de zone renseignée → Ils sont listés sous la bande « Sans zone ». Renseignez l'attribut ou la sous-catégorie sur les fiches produits 7.LA QUANTITÉ THÉORIQUE N'APPARAÎT PAS SUR LA FEUILLE Causes possibles : ✓ C'est le comportement par défaut → Activez l'option « Afficher la quantité théorique sur la feuille de comptage » dans les paramètres du document Inventaires, puis regénérez la feuille 8.L'EMAIL PART SANS PIÈCE JOINTE, OU SANS LE MODÈLE ATTENDU Causes possibles : ✓ Aucun PDF n'a encore été généré → Générez le document depuis la section « Fichiers joints » avant de cliquer sur « Envoyer par email » ✓ Le modèle de mail n'a pas l'option « Joindre les fichiers » → Dans Configuration > Emails > Modèles d'emails, vérifiez l'option de jonction des fichiers du modèle utilisé ✓ Le modèle par défaut a été supprimé → Le module ne le recrée qu'à l'activation : désactivez / réactivez le module, ou recréez un modèle du type « Bons de prélèvement et de virement » ou « Inventaires » 9.LE FILIGRANE RESTE SUR LE DOCUMENT Causes possibles : ✓ Le document a été généré alors que l'objet était encore brouillon → Le filigrane ne s'applique qu'aux brouillons : validez l'objet puis regénérez le PDF 10.MESSAGE « ERREUR CHANGELOG.XML » OU AVERTISSEMENT SUR L'EXTENSION XML Causes possibles : ✓ L'extension PHP xml n'est pas chargée → Faites installer / activer l'extension xml sur le serveur (php-xml). Le module fonctionne, mais le numéro de version et le changelog ne peuvent pas être lus 11.AVERTISSEMENT À LA CONNEXION SUR LA VERSION DE DOLIBARR Causes possibles : ✓ La version de Dolibarr dépasse la version maximale supportée par le module → Le module reste utilisable, sans garantie. Vérifiez sur le Dolistore ou auprès du support qu'une version plus récente du module est disponible 12.INFORMATIONS UTILES POUR LE SUPPORT Onglet À propos du module : versions de Dolibarr, du module, de PHP et du serveur web Journal dolibarr.log (Configuration > Journalisation) en niveau DEBUG au moment de la reproduction du problème Capture d'écran de la page Paramètres InfraS 12. CHANGELOG ET SUPPORT Changelog et support 1.CHANGELOG / HISTORIQUE DES VERSIONS Pour consulter l'historique complet des versions : Aller dans : Outils > InfraS > InfraSFiles > Changelog / Support (ou l'onglet Changelog / Support de la page de configuration du module) La version installée et l'historique des modifications s'affichent Cliquer sur « Nouveau Changelog » pour télécharger le changelog de la dernière version disponible et savoir si une mise à jour existe Numérotation des versions Les versions sont de la forme X.Y.Z : X = version minimale de Dolibarr supportée (18), Y = ajout de fonctionnalités ou d'options, Z = corrections et ajustements. 2.PRINCIPALES ÉVOLUTIONS Version Date Contenu 18.0.0 2026-09 Version initiale : socle générique (registre des objets, table de suivi documentaire), génération PDF, section et onglet « Fichiers joints », modèle « bordereau » pour les bons de prélèvement / virement, modèle « comptage » pour les inventaires, aperçu spécimen, texte libre et filigrane, envoi par email avec modèles de mails dédiés et événements d'agenda, statut des lignes sur le bordereau 18.0.1 2026-09 Corrections : activation de modèle rejouée (double clic / F5), ajout manuel de fichier et de lien depuis l'onglet, suppression d'un PDF limitée à l'objet de la fiche, contrôle d'accès aux fichiers, fond de page PDF, avertissement PHP sur l'onglet des inventaires ; infobulles d'aide sur les options 18.1.0 2026-09 Bons de prélèvement : découpage « un PDF par maison mère » avec l'attribut tiers « Adresser les bordereaux à la maison mère » (le découpage « par ligne » est retiré) ; bordereau adressé à la maison mère, colonne Échéance, avoirs appliqués, RIB réellement utilisé par la ligne. Inventaires : zone de stockage suivant la colonne « Zone » d'InfraSWorkflow (l'ancienne option d'attribut produit est retirée), filtres de l'inventaire dans l'en-tête, remontée des erreurs SQL Après toute mise à jour : désactiver puis réactiver le module pour appliquer les changements de structure. Les paramètres sont sauvegardés et restaurés automatiquement. 3.MISE À JOUR DU MODULE Sauvegardez les paramètres depuis Paramètres InfraS (facultatif, la désactivation le fait aussi) Désactivez le module dans Configuration > Modules/Applications Remplacez le contenu du dossier htdocs/custom/infrasfiles par la nouvelle version (ou redéployez l'archive) Réactivez le module : la table, l'attribut tiers, les modèles de mails et les événements sont mis à jour, et les paramètres restaurés Vérifiez la page Paramètres InfraS et regénérez un document de test 4.DEMANDE DE SUPPORT Email : support@infras.fr Site web : https://www.infras.fr Boutique : https://infras.store Informations à fournir dans votre demande : Version de Dolibarr Version du module InfraSFiles (onglet À propos) Version PHP Document concerné (bon de prélèvement / virement, inventaire) et réglages du document dans les paramètres Description détaillée du problème et étapes pour le reproduire Captures d'écran si possible Messages d'erreur complets (écran et dolibarr.log)