Report Qweb Element Page Visibility
This module allows you to use 4 classes in QWEB reports:
- not-first-page: shows element in every page but first
- not-last-page: shows element in every page but last
- first-page: shows element only on first page
- last-page: shows element only on last page
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets report designers show or hide parts of a QWeb PDF report depending on the page it is printed on, using simple CSS classes like first-page, last-page, single-page or multi-page.
This module adds page-aware visibility to QWeb reports. Instead of always printing the same header, footer or block on every page, you can mark an element with a class and Odoo will decide on which pages it appears.
The available classes are:
- first-page: only on the first page
- last-page: only on the last page
- not-first-page: on every page except the first
- not-last-page: on every page except the last
- single-page: only when the report has exactly one page
- multi-page: only when the report has more than one page
It works by extending the standard minimal report layout (web.minimal_layout), which is the base used when reports are rendered. A small script reads the page numbers that the PDF engine passes to the report and then shows or hides the elements carrying those classes.
There are no new menus, models or database fields. The change is purely in the report layout, so it applies to any QWeb report that uses the standard minimal layout. Typical uses are a different header on the first page, a signature block only on the last page, or a note that should not repeat on every page.
Depends on
Required by other modules
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 15.0
Confirmed on 2026-11-03 in branch 15.0 of OCA/reporting-engine.
terminal Installation and usage
OCA documentation · Odoo 19.0Usage
Source · Odoo 19.0To use this module, you need to:
In the QWEB ir.ui.views used by your report, you can add an element with css class with any of the classes described above. For example if you need to improve invoice report header with invoice's number in every page but first, and sale order report header with order's name in every page but last, add this code to external_layout_header:
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.