Module UltimatePropale FR
Sommaire
Informations
| Module name | UltimatePropale |
| Editor / Editeur | |
| Download or buy page / Page achat ou téléchargement | External module - www.dolistore.com |
| Status / Statut / Estado | Stable |
| Prerequisites / Prérequis | Module Propositions commerciales activé - PHP 8.2 minimum
Dolibarr min version: See on Dolistore Dolibarr max version: See on Dolistore |
| Last update date / Date mise à jour fiche / Fecha última actualización | 2026-10-7 |
| Note / Nota | ⬆ Retour au sommaire |
Fonctionnalités
UltimatePropale remplace le modèle PDF natif des propositions commerciales (devis) de Dolibarr par un modèle entièrement personnalisable : ultimatepropale_propal. Il permet de définir votre charte graphique (logo, couleurs, marges, fond de page, largeurs de colonnes), de choisir précisément ce qui s'affiche sur le devis, d'y joindre vos CGV ou des PDF annexes, d'y ajouter des codes-barres et QR-codes, et de le faire signer en ligne par votre client.
UltimatePropale est l'édition du module UltimatePDF dédiée aux devis. Pour les commandes et les factures, voir UltimatepdfLight ou UltimateInvoice. Pour les contrats, expéditions, bons de livraison, notes de frais, interventions, projets, produits/nomenclatures ou documents fournisseurs, la version complète UltimatePDF est nécessaire.
Deux niveaux de configuration
Le module s'articule autour de deux notions à ne pas confondre :
- Le Design (onglet Modèles) définit à quoi ressemble le devis : couleurs, marges, logo, alias société, fond de page, largeur des colonnes. Plusieurs Designs peuvent coexister, un seul est actif par défaut (constante
ULTIMATE_DESIGN), et un sélecteur en haut à droite de l'application permet d'en changer instantanément. - Les pages Options et Devis décident ce qui s'affiche sur le devis : colonnes visibles, blocs d'adresses, mentions légales, bon pour accord, signatures imprimées, etc. Elles ne touchent pas à l'habillage graphique.
Personnalisation graphique (Designs)
- Fond de page : image de fond ou PDF de fond (papier à en-tête déjà maquetté), avec transparence et positionnement X/Y.
- En-tête : hauteur et largeur du logo, second logo (partenaire, certification), largeur du bloc expéditeur avec aperçu glisser-déposer et préréglage enveloppe à fenêtre norme postale française.
- Alias société : permet d'afficher sur le devis une raison sociale, une adresse, un capital ou un n° de TVA différents de l'entité juridique réelle — utile pour une marque commerciale ou une filiale.
- Icônes vectorielles : les icônes téléphone, mobile, fax, e-mail et site web des blocs d'adresse sont des icônes Font Awesome, nettes à tous les niveaux de zoom, avec une couleur réglable par Design.
- Marges et colonnes : marges du PDF et largeur de chaque colonne du tableau de lignes (référence, image, TVA, PU, quantité, unité, remise), chacune redimensionnable à la souris sur un aperçu graphique.
- Pied de page : taille de police, hauteur réservée au texte libre, couleurs du texte et du fond.
- Police : choix de la police du document (DejaVuSans pour les jeux de caractères étendus ou cyrilliques).
- Export / import : chaque Design s'exporte dans un fichier JSON et se réimporte sur le même Dolibarr ou sur un autre, y compris un Design exporté depuis UltimatePDF, UltimatepdfLight ou UltimateInvoice. Le Design importé est créé désactivé, et renommé si son libellé existe déjà.
- Aperçu PDF réel : un bouton du formulaire génère le PDF du devis le plus récent avec les réglages en cours de saisie, sans les enregistrer.
Chaque bloc du formulaire possède son propre bouton Enregistrer : vous validez bloc par bloc sans perdre votre saisie sur les autres. Les blocs se replient en accordéon.
Contenu du devis
- Lignes : numérotation des lignes, photo produit, PU HT, remise, PU après remise, quantité, poids et poids total, unité, tirets entre les lignes, description masquée par défaut.
- En-tête et adresses : coordonnées destinataire et client, identifiants professionnels (SIRET...), n° de TVA intracommunautaire, projet lié, objets liés, en-tête non répété, texte associé à la date, repère de pliage.
- Commercial suiveur : mention « Affaire suivie par » avec le nom et l'e-mail du commercial interne qui suit le devis.
- Spécifique aux devis : gestion des versions, pages de présentation supplémentaires avant le devis, mention d'autoliquidation de TVA (sous-traitance BTP), masquage de la date du devis, de la date de livraison ou des références client.
- Signature : bloc « bon pour accord », zone de signature client en ligne remplie depuis la page publique de signature de Dolibarr, signature du responsable et du commercial (images).
Fusion de PDF et CGV
- CGV : un fichier de conditions générales de vente est téléversé depuis la page Options puis ajouté à la suite du devis, avec présélection par défaut possible. Les CGV sont ajoutées à chaque génération, y compris la régénération automatique à la validation et les actions de masse.
- Fichiers additionnels : après activation de l'option sur la page Devis, un ou plusieurs PDF quelconques peuvent être fusionnés au devis depuis sa fiche, avec renumérotation des pages en option.
- PDF liés aux produits : les fiches techniques PDF des produits peuvent être ajoutées automatiquement à la suite du devis.
Codes-barres et QR-codes
- Codes-barres produits (EAN13 avec clé de contrôle, CODE128, CODE39) et codes-barres tiers, en haut ou en bas de page.
- QR-codes société (MyCompany) ou tiers. Un seul QR-code à la fois est autorisé en haut du devis, pour éviter les superpositions.
Compatibilité avec le module Milestone
UltimatePropale reconnaît les lignes jalons du module Milestone (product_type = 9) : elles ne sont pas traitées comme des lignes produit classiques dans le calcul du poids de ligne et du prix unitaire après remise, et conservent leur mise en forme propre dans le PDF.
Guide d'utilisation intégré
Un guide complet en français, anglais, allemand, espagnol et italien est consultable directement depuis la configuration du module, onglet Guide utilisateur, dans la langue de l'interface. Il est mis à jour à chaque version et détaille chaque option.
Prérequis
Dolibarr : Versions supportées :
- 25.x
PHP : version 8.2 minimum, testé jusqu'à PHP 8.5.
Modules Dolibarr : le module Propositions commerciales doit être activé.
Modules incompatibles : UltimatePropale ne peut pas être actif en même temps qu'UltimatePDF, UltimatepdfLight ou UltimateInvoice.
⚙️ Procédure d'installation
Trois méthodes sont possibles, de la plus simple à la plus technique. Le zip d'UltimatePropale pèse environ 1,5 Mo : il passe sous les limites d'envoi par défaut de Dolibarr et de PHP (2 Mo), mais une installation plus restrictive peut le refuser (voir ci-dessous).
⚙️ Méthode 1 : installation via l'interface Dolibarr
- Accédez au menu Accueil > Configuration > Modules/Applications.
- Allez dans l'onglet Déployer/Installer un module externe.
- Cliquez sur Choisir un fichier et sélectionnez le fichier .zip du module.
- Cliquez sur Envoyer fichier pour lancer l'installation.
- Activez le module une fois l'installation terminée.
Vérifier la taille maximale d'envoi
Trois limites s'appliquent à l'envoi du zip, et c'est la plus petite qui l'emporte :
| Limite | Où la voir / la modifier | Valeur fréquente |
|---|---|---|
Limite Dolibarr (MAIN_UPLOAD_DOC) |
Accueil > Configuration > Sécurité, onglet Fichiers, « Taille maximum des fichiers envoyés » (en Ko) | 2048 Ko (valeur d'installation de Dolibarr) |
upload_max_filesize (PHP) |
fichier php.ini du serveur |
2M (valeur par défaut de PHP) |
post_max_size (PHP) |
fichier php.ini du serveur |
8M |
Comment connaître les valeurs en vigueur :
- Sur la page Déployer/Installer un module externe, passez la souris sur l'icône d'information à droite du bouton Envoyer fichier : Dolibarr affiche « Limite Dolibarr : X Ko, Limite PHP : Y Ko ».
- Le détail des paramètres PHP est visible dans Accueil > Outils d'administration > Infos PHP (page
admin/system/phpinfo.php) : cherchezupload_max_filesizeetpost_max_size.
Si l'une des limites est inférieure à la taille du zip, Dolibarr refuse le fichier avec le message « La taille du fichier est trop grande ou le fichier n'est pas fourni ».
Comment les augmenter :
- Limite Dolibarr : dans Accueil > Configuration > Sécurité, onglet Fichiers, saisissez par exemple
10240(10 Mo) et enregistrez. - Limites PHP : dans le
php.ini(ou le panneau de votre hébergeur : Plesk, cPanel, « Configuration PHP »…), réglez par exemple :
upload_max_filesize = 10M post_max_size = 12M
post_max_sizedoit rester supérieur ou égal àupload_max_filesize. Redémarrez ensuite le serveur web ou PHP-FPM (inutile chez la plupart des hébergeurs, qui appliquent le changement directement), puis vérifiez les nouvelles valeurs dans Infos PHP.
En hébergement mutualisé, les limites PHP ne sont pas toujours modifiables. Dans ce cas, utilisez la méthode 2 ou 3.
⚙️ Méthode 2 : installation manuelle sur le serveur (SSH)
Le zip contient un dossier htdocs/ultimatepropale/ ; c'est le dossier ultimatepropale qui doit se retrouver dans le répertoire custom de Dolibarr.
- Copier le zip sur le serveur, par exemple dans
/tmp. - Décompresser :
unzip module_ultimatepropale-X.Y.Z.zip -d /tmp/ultimatepropale_zip - Copier le dossier du module :
cp -r /tmp/ultimatepropale_zip/htdocs/ultimatepropale /chemin/vers/dolibarr/htdocs/custom/ - Donner les droits au serveur web si nécessaire, par exemple :
chown -R www-data:www-data /chemin/vers/dolibarr/htdocs/custom/ultimatepropale - Vérifier que l'emplacement du module est bien :
htdocs/custom/ultimatepropale(et nonhtdocs/custom/htdocs/ultimatepropale). - Activer le module depuis Dolibarr.
⚙️ Méthode 3 : envoi par FTP / SFTP (en dernier recours)
Si vous n'avez ni accès à l'envoi de fichiers dans Dolibarr ni accès SSH :
- Décompresser le zip sur votre ordinateur (clic droit > « Extraire tout… » sous Windows).
- Ouvrir le dossier extrait : il contient
htdocs, qui contient lui-même le dossierultimatepropale. - Se connecter au serveur avec un client FTP/SFTP (par exemple FileZilla), avec les identifiants fournis par votre hébergeur.
- Trouver le répertoire de Dolibarr : c'est celui qui contient les dossiers
admin,core,conf… etcustom. Selon l'hébergeur, il s'appellehtdocs,httpdocs,wwwoupublic_html. Sicustomn'existe pas, créez-le. - Envoyer le dossier
ultimatepropale(et non le zip, ni le dossierhtdocsqui l'entoure) danscustom. - Attendre la fin du transfert et vérifier dans le journal du client FTP qu'aucun fichier n'est en échec : un transfert interrompu donne un module incomplet.
- Vérifier que le chemin final est
…/custom/ultimatepropale/core/modules/modUltimatePropale.class.php. - Activer le module depuis Accueil > Configuration > Modules/Applications.
Pour une mise à jour par FTP, remplacez le dossier ultimatepropale existant (après en avoir fait une sauvegarde), puis désactivez et réactivez le module pour appliquer les éventuelles évolutions de la base de données. Vos modèles et réglages, stockés en base, sont conservés.
Configuration
Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, allez sur la page "Accueil - Configuration - Modules". Le module apparait dans l'onglet "Atoo-Net", cliquez sur "Activer". Un pictogramme apparait à la fin de la ligne du module, cliquez dessus pour accéder aux pages de paramétrage spécifiques à ce module.
Toutes les pages d'administration du module sont protégées par le droit ultimatepropale -> config : seuls les utilisateurs disposant de ce droit (généralement les administrateurs) peuvent y accéder. Les autres utilisateurs voient simplement le modèle ultimatepropale_propal apparaître dans la liste déroulante "Modèles" des fiches devis.
La configuration se compose de cinq onglets : Modèles, Options, Devis, Guide utilisateur et À propos.
Onglet Modèles (Designs)
C'est ici que se crée l'habillage graphique de vos devis.
- La liste affiche tous les Designs existants : libellé, description, type de bordure, couleurs, statut et badge "Défaut" pour celui actuellement utilisé.
- Cliquez sur Ajouter un design pour en créer un nouveau, ou sur le crayon pour modifier un design existant.
- Renseignez bloc par bloc : informations du modèle et police, fond de page, en-tête et logos, alias société, bloc central, marges et largeurs de colonnes, pied de page. Chaque bloc dispose de son propre bouton Enregistrer.
- Un Design désactivé n'apparaît plus dans les listes de sélection. Le "Modèle maître" et le Design par défaut ne peuvent pas être supprimés, afin de ne jamais casser la génération de documents.
- Exporter ce modèle télécharge le Design dans un fichier JSON, Importer un modèle le recrée sur le même Dolibarr ou sur un autre. Le Design importé est créé désactivé, et renommé si son libellé existe déjà.
- Le bouton Aperçu PDF réel du formulaire génère le PDF du devis le plus récent, avec le modèle ultimatepropale_propal et les réglages en cours de saisie, sans les enregistrer. Le PDF de ce devis est régénéré au passage : régénérez-le après avoir enregistré le Design.
Important : après modification d'un Design, si le devis généré ne semble pas avoir changé, vérifiez que c'est bien ce Design qui porte le badge "Défaut".
Onglet Options (réglages globaux)
Ces réglages s'appliquent au devis indépendamment du Design choisi : logos, blocs d'adresses et identifiants professionnels, fond de page, contenu des lignes, CGV, coordonnées bancaires, format de papier.
La plupart des réglages sont des interrupteurs on/off appliqués immédiatement ; le format de papier et les identifiants professionnels se valident avec un bouton Enregistrer dédié.
Téléversement des CGV
Dans le bloc dédié, sélectionnez votre fichier PDF de conditions générales de vente et envoyez-le. Il apparaîtra ensuite dans une liste déroulante près du bouton Générer de la fiche devis, et peut être présélectionné par défaut.
Onglet Devis
La page regroupe les réglages propres au contenu du devis : adresses, commercial suiveur, codes-barres et QR-codes, projet et objets liés, en-tête et mise en page, colonnes de lignes, autoliquidation de TVA, masquages, versions de devis, pages de présentation, bon pour accord et zone de signature en ligne, signatures imprimées, fusion de PDF.
Les sections de cette page se replient en accordéon.
Onglet Guide utilisateur
Affiche le guide complet du module dans la langue de l'interface (français, anglais, allemand, espagnol ou italien, le français servant de repli). C'est la documentation de référence, plus détaillée que cette page.
Utilisation
- Ouvrez la fiche du devis, puis, dans le bloc Documents en bas de fiche, choisissez le modèle ultimatepropale_propal dans la liste déroulante "Modèles" et cliquez sur Générer.
- Modèle par défaut : dans Accueil - Configuration - Modules, page Propositions commerciales, choisissezultimatepropale_propalcomme modèle par défaut. C'est lui qu'utilisent la validation du devis, les actions de masse et les autres modules. L'ancien modèleultimate_propald'Ultimatepdf disparaît une fois ce module désactivé.
- Le PDF apparaît dans la liste des fichiers joints : il peut être téléchargé, prévisualisé ou envoyé par e-mail.
- Changer de Design rapidement : utilisez le sélecteur dédié dans le menu en haut à droite de l'application, sans repasser par la configuration complète.
- Ajouter les CGV : sélectionnez le fichier CGV dans la liste déroulante située près du bouton Générer.
- Fusionner un PDF annexe : après activation de l'option sur la page Devis, sélectionnez le ou les fichiers à fusionner depuis la fiche.
- Faire signer le devis en ligne : activez la zone de signature électronique sur la page Devis, puis envoyez au client le lien de la page publique de signature de Dolibarr. Sa signature est apposée dans le cadre prévu.
Pages de présentation et signature en ligne
Pages de présentation et page de couverture
Activez Ajouter une ou plusieurs pages d'introduction (ULTIMATE_PDF_PROPAL_ADD_NEW_PRESENTATION_PAGES) sur la page Devis du module. Le PDF du devis s'organise alors ainsi :
| Ordre | Pages | Où les régler |
|---|---|---|
| 1 | Page de couverture | Édition du Design, bloc Configuration du corps du document |
| 2 | Pages de présentation propres au devis | Fiche du devis, colonne Position = Avant la proposition (présentation) |
| 3 | Le devis : en-tête, lignes, totaux et cadre « Bon pour accord » | — |
| 4 | Annexes : fichiers fusionnés après le devis, fiches techniques des produits, CGV | Fiche du devis (Après la proposition), page Devis, page Options |
Choisir la couverture. Dans l'édition du Design, dépliez le bloc Configuration du corps du document :
- la liste Image de fond de la présentation des propositions propose les quatre fonds fournis (bleu, cyan, vert, orange) et les couvertures que vous avez envoyées ;
- le champ Télécharger une couverture personnalisée pour la proposition (image ou PDF) ajoute une couverture à cette liste. Un PDF est rangé dans
proposals/cover: seule sa première page est utilisée, étirée sur toute la page.
Le module imprime par-dessus la couverture le logo de la société, le titre du document, le nom du destinataire, la date du devis et sa date de fin de validité : choisissez une couverture sur laquelle ces zones restent lisibles.
Ajouter des pages de présentation à un devis.
- Joignez le PDF au devis (onglet Fichiers joints).
- Sur la fiche du devis, dans le bloc Document(s) pdf fusionné(s) avec la proposition commerciale, cochez le fichier, choisissez Avant la proposition (présentation) dans la colonne Position, puis cliquez sur Enregistrer.
- Régénérez le PDF du devis.
Plusieurs fichiers sont insérés dans l'ordre de la liste, c'est-à-dire l'ordre alphabétique de leurs noms : préfixez-les (1-, 2-...) pour imposer un ordre. Chaque page importée, avant comme après le devis, garde son format et son orientation et reçoit le pied de page du devis (mentions de la société et numéro de page « n / total »).
Signature en ligne du client
Le client signe le devis depuis une page web, sans l'imprimer : sa signature est apposée dans le cadre « Bon pour accord » du PDF et le devis passe au statut Signé.
Mise en place
- Dans Configuration > Modules > Propositions commerciales, activez Autoriser la signature en ligne (option du cœur Dolibarr,
PROPOSAL_ALLOW_ONLINESIGN). - Sur la page Devis du module, activez Afficher le bloc : « Bon pour accord » (
ULTIMATEPDF_PDF_PROPAL_USE_ELECTRONIC_SIGNING). Le devis imprime alors sous les totaux un cadre « Cachet, Date, Signature et mention "Bon pour Accord" ». - Validez le devis et générez son PDF avec le modèle
ultimatepropale_propal.
Envoyer le lien au client. La fiche du devis validé affiche le bloc Lien pour signature en ligne. Copiez-le dans votre e-mail, ou utilisez la variable __ONLINE_SIGN_URL__ dans un modèle d'e-mail. Le client ouvre la page, consulte le PDF, clique sur Accepter la proposition, saisit son nom, trace sa signature et valide. Dolibarr enregistre alors un nouveau fichier REF_signed-AAAAMMJJHHMMSS.pdf à côté du PDF d'origine, qui reste inchangé.
Sur quelle page la signature est-elle apposée ? Sur la page qui porte le cadre « Bon pour accord », et seulement celle-là. À chaque génération, le modèle inscrit le numéro de cette page dans les propriétés du PDF (mot-clé PAGESIGN=n), que la page de signature de Dolibarr lit. La couverture et les pages de présentation placées avant le devis sont comptées. Les annexes placées après (fichiers fusionnés, fiches techniques, CGV) ne déplacent jamais la signature. Exemple : couverture, deux pages de présentation, devis de deux pages, annexe technique et CGV donnent PAGESIGN=5, quelle que soit la longueur des annexes.
Bon à savoir
- C'est le PDF présent sur la fiche qui est signé : régénérez-le après toute modification du devis, avant d'envoyer le lien. Un PDF produit par une version antérieure du module, sans mot-clé
PAGESIGN, est signé sur sa dernière page. - Les versions antérieures écrivaient le nombre de pages du dernier PDF généré dans la constante
PROPAL_SIGNATURE_ON_SPECIFIC_PAGE. Globale à l'entité et prioritaire surPAGESIGN, elle envoyait la signature sur les annexes, voire sur la page d'un autre devis. Le module la supprime désormais à chaque génération : ne la recréez pas. - La hauteur de la signature dans la page vient d'une autre constante du cœur,
PROPAL_SIGNATURE_YFORIMGSTART, également globale : le module y écrit la position du cadre à chaque génération. Si un autre devis, dont le cadre est à une autre hauteur, est généré entre la génération et la signature, la signature peut être décalée verticalement. Dans ce cas, régénérez le PDF du devis avant de renvoyer le lien.
Dépannage
| Symptôme | Cause probable |
|---|---|
Le modèle ultimatepropale_propal n'apparaît pas dans la liste |
Le module UltimatePropale ou le module Propositions commerciales n'est pas activé, ou le modèle n'est pas activé dans la configuration des propositions commerciales |
| Les générations automatiques (validation, actions de masse) utilisent un autre modèle | ultimatepropale_propal n'est pas le modèle par défaut des propositions commerciales
|
| Impossible d'activer UltimatePropale | UltimatePDF, UltimatepdfLight ou UltimateInvoice est actif : désactivez-le d'abord |
| Le devis ne reflète pas les modifications d'un Design | Ce Design n'est pas celui qui porte le badge "Défaut" |
| Deux QR-codes se superposent en haut du devis | Configuration antérieure : désactivez l'un des QR-codes, un seul est autorisé à la fois |
| La signature en ligne n'est pas sur la bonne page, ou pas à la bonne hauteur | PDF généré par une version antérieure (sans mot-clé PAGESIGN), constante PROPAL_SIGNATURE_ON_SPECIFIC_PAGE recréée par un autre module, ou autre devis généré entre-temps : régénérez le PDF puis renvoyez le lien
|
| Le lien pour signature en ligne n'apparaît pas sur la fiche du devis | Devis non validé, ou option Autoriser la signature en ligne désactivée dans la configuration des propositions commerciales |
| Les pages de présentation n'apparaissent pas dans le PDF | Option des pages d'introduction désactivée, ou fichier non coché sur la fiche du devis, ou position non enregistrée |
Le journal Dolibarr (Accueil - Configuration - Autres - Journaux) trace chaque génération.