Odoo 18 introduces advanced integrated watermarking capabilities into its PDF reporting engine, providing greater control of business documents. With this update, enterprises can strengthen brand identity and improve document security by not having to use third-party tools. The watermarking capabilities integrate seamlessly with QWeb templates, making it easy for developers to apply and edit text, image, or PDF watermarks.
Technical System Architecture
The upgraded QWeb template system provides several ways to configure watermarks, ranging from settings applied to a single report to options that affect every document produced across the company. It also supports condition-based watermarks that adjust according to the document's status, such as showing "Draft", "Cancelled", or custom brand elements when required. Thanks to CSS styling and XML inheritance, developers can minutely define how each watermark is shaped, placed, blended, and rotated.
The improved QWeb templating engine allows multiple levels of watermark application, from custom settings for specific reports to global rules that will apply to all documents generated. Developers can even create state-aware watermarks that automatically change based on the status, displaying labels such as “Draft,” “Cancelled,” or whatever custom branding is desired based on the flow of work. Using CSS and XML inheritance, the framework provides detailed control over the styling, placement, blending, and rotation of each watermark.
Business Strategy Solutions
Organizations using Odoo 18 can further enhance document security and brand visibility by leveraging its built-in watermarking capabilities. It supports multiple watermark types, such as scalable text, high-quality logos, and full-page PDF overlays that allow companies to build reliable verification layers in their reports. Everyday business documents will be transformed into protected, professional-looking assets that do not invite misuse and consistently advocate for the identity of the company through all outward-facing materials.
Deployment Process
The process of adding watermarks to PDF reports in Odoo 18 requires customizing the layout of the report using QWeb, along with defining the required CSS rules. This would typically involve inheriting the default report template and adding to it the watermark element with the appropriate positioning and styling attributes.
This example shows the watermark, the essence of the core method in Odoo 18 for putting in-place text-style watermarks in reports. Image-Based Watermarks
<div class="watermark-mark-text" t-if="report_type == 'pdf'"
style="position: absolute;transform: translate(0%, -170%) rotate(-45deg);-webkit-transform: translate(0%, -170%) rotate(-45deg);color: coral;font-size: 6em;opacity: 0.15;pointer-events: none;z-index: 0;">
CONFIDENTIAL
</div>
With Odoo 18 reports, you can include image-based watermarks that enable embedding company logos or custom graphics into generated PDFs.
Core Image Watermarking Logic
This example shows how easy it is to add image-based watermarks:
<div class="water-mark-img" t-if="report_type == 'pdf'">
<img src="/custom_sale_report_watermark/static/src/img/watermark.png"
style="position: absolute;top: 25%;left: 15%;width: 70%;opacity: 0.1;pointer-events: none;z-index: 0;"/>
</div>
Applying Watermarks to Sales Order Reports
Now let's incorporate your logic for the watermark in an actual sale order report in Odoo 18. Here is an example of how you can put a “CONFIDENTIAL” watermark on every page of the generated sale order PDF:
Let’s Create the Template File
To do this, add a new XML file in our custom module and extend the current sale order report template. The structure in your code should exactly be as follows:
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<!-- Custom Watermark Template for Sale Order Reports -->
<template id="custom_sale_order_watermark" inherit_id="sale.report_saleorder_document">
<xpath expr="//div[@class='page']" position="inside">
<!--WATERMARK TEXT -->
<div class="water-mark-text" t-if="report_type == 'pdf'"
style="position: absolute;
transform: translate(0%, -170%) rotate(-45deg);
-webkit-transform: translate(0%, -170%) rotate(-45deg);
color: coral;
font-size: 6em;
opacity: 0.15;
pointer-events: none;
z-index: 0;">
CONFIDENTIAL
</div>
</xpath>
</template>
</odoo>
You can adjust the position of a watermark with CSS attributes like top, left, and rotation to suit your needs—changing colors, scaling text, or positioning labels like “DRAFT” exactly where you want them. You can actually use CSS to do pretty much anything you need to do with the watermark.
Results
Below are some sample printouts that show the effect of using the watermark feature in Odoo 18 PDF reports. These examples have shown that both text and image watermarks would fit seamlessly into the document layout, maintaining clarity while still giving it a visible layer of security through well-placed semi-transparent markings.


Conclusion
Adding watermark features in Odoo 18 PDF reports provides a powerful combination for document protection and reinforces branding. This tutorial has looked at both text-based and image watermarks to show how extensions in QWeb templates with CSS styling transform simple reports into both secure and branded documents. Whether it is a label like “CONFIDENTIAL” for sensitive documents or your company's logo for the sake of branding consistency, these approaches help deter unauthorized sharing while keeping a professional and polished look on all your business documents.
Odoo 18 watermarking gives extensive room for the developer to customize placement, rotation, transparency, color, and so on. In this way, organizations will be able to fortify their document processes, protect key business information, and guarantee a common brand identity across all reports by applying the methods described within. Watermarking is effective and useful in any document management workflow since its setup is pretty straightforward, delivering powerful security benefits with a professional visual standard.
To read more about How to Add Watermark in PDF Reports in Odoo 17, refer to our blog, How to Add Watermark in PDF Reports in Odoo 17.