Documentation10 min de lecture

Vos documents PDF : en-têtes, filigranes, étiquettes et couvertures

Le module OCA `report_layout_config` (dépôt `reporting-engine`, version 18.0.1.0.0, licence AGPL-3) permet de **remplacer entièrement l'en-tête et le pied de page** des rapports PDF d'une société **par une simple image**, au lieu de recomposer logo, adresse et mentions légales dans les champs du standard. Quinze autres modules traitent les filigranes, les couvertures, les étiquettes et les commentaires types.

Documents imprimés empilés sur un bureau

Un devis, une facture, un bon de livraison sont les seuls documents qu'un client voit de votre ERP. Odoo les génère avec un gabarit unique, un en-tête composé champ par champ, et aucune possibilité d'ajouter une couverture, un filigrane ou une mention conditionnelle.

Seize modules communautaires rendent ces documents présentables — et imprimables comme on en a besoin.

Résumé

Quatre modules traitent l'en-tête et le pied de page : l'en-tête et le pied remplacés par une image, un contenu HTML libre injecté dans le pied, le nom du document affiché à côté de la pagination, et un format d'adresse personnalisé et traduit par langue sur la fiche contact.

Quatre modules traitent les habillages : un filigrane image ou PDF en fond de chaque page, des pages de couverture et de dos, des images positionnées au millimètre définies au niveau de la société ou du rapport, et des classes CSS contrôlant l'affichage d'un élément selon sa position dans la pagination.

Trois modules traitent le contenu : des modèles de commentaires insérés au-dessus ou en dessous des lignes d'un document, la précision décimale et les options d'affichage des champs numériques configurées sans code, et trois attributs de longueur utilisables dans les gabarits.

Cinq modules enfin traitent l'impression et la substitution : des étiquettes autocollantes avec format de planche configurable, des règles de substitution remplaçant un rapport par un autre, des paramètres transmis au moteur PDF, des options d'encodage pour les rapports texte, et un générateur de QR codes de meilleure qualité.

L'essentiel

  • L'en-tête et le pied remplacés par une image.
  • Un filigrane image ou PDF en fond de page.
  • Une page de couverture et une page de dos.
  • Des images positionnées au millimètre : tampon, mention, logo.
  • Des commentaires types au-dessus ou en dessous des lignes.
  • Des étiquettes autocollantes avec format de planche configurable.
  • Un rapport substitué par un autre selon une règle.
  • Un format d'adresse traduit par langue.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
En-tête et piedreport_layout_config, report_footer_html, report_display_name_in_footer, report_partner_address4
Habillagesreport_qweb_pdf_watermark, report_qweb_pdf_cover, report_positioned_image, report_qweb_element_page_visibility4
Contenubase_comment_template, report_qweb_field_option, report_qweb_parameter3
Impression et substitutionreport_label, report_substitute, report_wkhtmltopdf_param, report_text_format_option, report_qr5

Les menus, tous sous Paramètres ▸ Technique ▸ Analyse : Modèles de commentaires, Label Paper Formats, Qweb Field Options.

L'en-tête : composé ou remplacé

L'en-tête standard d'Odoo se compose de champs : logo, nom, adresse, numéro de TVA, chacun positionné par le gabarit. Toute identité visuelle un peu travaillée — un bandeau, une mise en page sur deux colonnes, une typographie précise — ne rentre pas dans ce moule.

report_layout_config prend le problème à l'envers : remplacer l'en-tête et le pied par une image. Le graphiste livre deux fichiers, et les documents sortent exactement comme la charte le prévoit.

C'est la solution la plus simple et la plus durable : une image ne casse pas à la montée de version, contrairement à une surcharge de gabarit.

  • report_footer_html (LGPL-3) ajoute un champ de contenu HTML libre sur la configuration d'un rapport, injecté dans son pied de page. Les mentions légales d'une facture ne sont pas celles d'un bon de livraison.
  • report_display_name_in_footer (LGPL-3) affiche le nom du document dans le pied de chaque page, à côté de la pagination, pour les modèles désignés par un paramètre système.
  • report_partner_address ajoute un champ détails d'adresse traduisible sur la fiche contact, utilisé à la place du format standard. L'adresse d'un client allemand s'écrit dans l'ordre allemand.

Le nom du document dans le pied de page est le détail qui sauve une liasse tombée par terre : « page 3 / 12 » ne dit rien, « FA/2026/0184 — page 3 / 12 » permet de reconstituer.

Les habillages : filigrane, couverture, tampons

report_qweb_pdf_watermark ajoute un filigrane — image ou PDF — en fond de chaque page. Le module existe parce que le moteur de génération PDF d'Odoo ne sait pas produire un fond de page complet en HTML : il faut fusionner deux documents.

report_qweb_pdf_cover ajoute une page de couverture et une page de dos à n'importe quel rapport, fournies sous forme de fichiers.

La couverture est ce qui distingue un devis de 20 pages envoyé par une PME sérieuse d'un devis de 20 pages sorti d'un ERP : une page de garde, un sommaire, et un dos avec les coordonnées. Rien de cela ne demande de développement.

  • report_positioned_image place des images au millimètre — filigranes, logos, tampons — définies au niveau de la société ou du rapport.
  • report_qweb_element_page_visibility fournit des classes CSS contrôlant l'affichage d'un élément selon sa position : première page, dernière page, toutes les pages. C'est la dépendance du module d'images positionnées.

L'usage le plus fréquent du dernier est la mention « suite au verso » ou le bloc de signature, qui ne doit apparaître qu'une fois.

Le contenu du document

base_comment_template permet de définir des modèles de commentaires — texte ou HTML — insérés automatiquement au-dessus ou en dessous des lignes d'un document : devis, facture, bon de livraison. Référentiel sous Paramètres ▸ Technique ▸ Analyse ▸ Modèles de commentaires.

C'est l'outil des conditions de vente, des mentions de garantie, des consignes de réception — tout ce texte type qu'on recopie autrement à la main, avec des variantes qui divergent.

  • report_qweb_field_option permet de configurer sans code la précision décimale des champs numériques et les options d'affichage des champs d'un rapport. Menu Qweb Field Options.
  • report_qweb_parameter ajoute trois attributs de longueur utilisables dans les gabarits de rapport — un outil pour intégrateurs.

La précision décimale configurable répond à un besoin concret : afficher un prix unitaire à quatre décimales sur une facture de pièces détachées, et à deux sur une facture de prestations.

Imprimer, substituer, régler le moteur

report_label permet de créer, sur n'importe quel modèle, une action d'impression d'étiquettes autocollantes : format de planche configurable, gabarit libre pour le rendu d'une étiquette, et un assistant. Référentiel sous Label Paper Formats.

C'est le module qui manque à toute entreprise qui étiquette : produits, emplacements, équipements, colis. Le format de planche configurable évite d'acheter des planches au format d'Odoo.

  • report_substitute définit des règles de substitution : quand un rapport standard est appelé, le système le remplace par un autre. Utile pour un document réglementaire propre à une société ou à un pays.
  • report_wkhtmltopdf_param transmet des paramètres personnalisés au moteur de génération PDF, depuis le format de papier.
  • report_text_format_option (LGPL-3) ajoute des options d'encodage et de fin de ligne aux rapports de type texte, pour les systèmes qui exigent un format précis.
  • report_qr ajoute une route générant des QR codes de meilleure qualité que le générateur standard, avec des options de personnalisation.

Les paramètres du moteur PDF sont le dernier recours sur un rapport qui ne sort pas juste : une marge ignorée, une image coupée, un tableau qui saute une page. Mieux vaut un paramètre documenté qu'un gabarit contourné.

Limites connues

  • Remplacer l'en-tête par une image fige la mise en page : changer d'adresse demande un nouveau fichier, non une modification de champ.
  • Le filigrane fusionne deux PDF : le temps de génération augmente, sensiblement sur les documents longs.
  • Les images positionnées au millimètre dépendent du format de papier : un passage de A4 à Letter décale tout.
  • report_substitute remplace un rapport silencieusement : un utilisateur qui imprime et obtient autre chose n'a aucun indice.
  • Les paramètres du moteur PDF sont propres à sa version : un paramètre valide aujourd'hui peut disparaître.
  • report_label crée des actions serveur : leur portée se restreint par les droits, sinon chacun imprime des étiquettes de tout.
  • Les modèles de commentaires s'insèrent sur les documents : une mention erronée part chez tous les clients jusqu'à correction.
  • La couverture et le dos sont des fichiers : ils ne reprennent aucune donnée du document.

Identité technique

Les seize modules viennent du dépôt OCA reporting-engine, branche 18.0 — 34 modules au total. Treize sont en AGPL-3, trois en LGPL-3. Les dépendances : web pour la plupart, mail pour les commentaires et les substitutions, base_automation pour les étiquettes, uom pour les options de champ, report_qweb_element_page_visibility pour les images positionnées.

Voir aussi exports SQL et indicateurs pour le reste du dépôt.

Questions fréquentes

Peut-on utiliser sa propre charte graphique sur les documents Odoo ?

Oui, et le plus simplement avec report_layout_config, qui remplace l'en-tête et le pied par une image. Le graphiste livre deux fichiers. C'est aussi la solution la plus durable : une image ne casse pas à la montée de version, contrairement à une surcharge de gabarit.

Peut-on ajouter une page de couverture à un devis PDF ?

Oui : report_qweb_pdf_cover ajoute une page de couverture et une page de dos à n'importe quel rapport, fournies sous forme de fichiers. Elles ne reprennent aucune donnée du document — ce sont des pages fixes.

Comment ajouter des conditions de vente sur les factures sans les retaper ?

base_comment_template définit des modèles de commentaires insérés automatiquement au-dessus ou en dessous des lignes d'un document. C'est l'outil des conditions de vente, des mentions de garantie et des consignes de réception, dont les variantes divergent autrement à la main.

Odoo peut-il imprimer des étiquettes autocollantes ?

report_label le permet sur n'importe quel modèle : format de planche configurable, gabarit libre pour une étiquette, et un assistant. Le format configurable évite d'acheter des planches au format d'Odoo. À restreindre par les droits, car il crée des actions serveur.

Peut-on afficher une adresse au format du pays du client ?

Oui : report_partner_address ajoute un champ détails d'adresse traduisible sur la fiche contact, utilisé à la place du format standard. L'adresse d'un client allemand s'écrit alors dans l'ordre allemand.

Se faire accompagner

Les documents sortants sont la seule partie de votre ERP que vos clients voient. Un devis mal mis en page coûte plus cher qu'un écran mal paramétré, et pourtant c'est le dernier poste traité dans un projet — généralement par une surcharge de gabarit qui casse à la mise à jour suivante.

Nous traitons donc la charte documentaire avec des images et des réglages, pas avec du code, et nous vérifions chaque document sur une impression réelle. Un en-tête en image vaut mieux qu'un gabarit sur mesure. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Un devis, une facture, un bon de livraison sont les seuls documents qu'un client voit de votre ERP. Seize modules les rendent présentables : en-tête remplacé par une image, filigrane, page de couverture, commentaires types, étiquettes autocollantes. Parlons de vos documents.

Documentation OCAOdoo CommunityErgonomie

Partager

Fiches connexes

Équipe au travail sur des ordinateurs portables autour d'une table
Le module OCA `account_invoice_en16931` (dépôt `fr-einvoicing`, version 18.0.1.0.0, licence AGPL-3) est le socle qui fabrique le fichier de facture électronique conforme à la norme européenne **EN 16931** : Factur-X (PDF/A-3 avec XML CII embarqué), XML UBL, XML CII ou PDF accompagné d'un UBL — et il ajoute des **contrôles bloquants à la validation** d'une facture client. Les quatre modules qui s'y greffent pour la France, et ce que le socle ne fait pas.
Lire la suite
Documentation OCA, Facturation électronique
Réunion d'approbation autour d'un document de travail
Relevé sur une instance Odoo 18 Community, le module OCA `base_tier_validation` (dépôt `server-ux`, version 18.0.3.5.1, licence AGPL-3) ajoute 1 modèle, 101 champs et 3 menus, mais ne s'active sur aucun document métier par lui-même : il lui faut un module d'implémentation. C'est le point qui surprend le plus — voici ce qu'il fait réellement, et comment le mettre en service.
Lire la suite
Documentation OCA, Odoo