OdooWiki OCA HUB

Report Qweb Element Page Visibility

report_qweb_element_page_visibility folder_open OCA/reporting-engine open_in_new
Tools License: AGPL-3

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.0

Lets 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

web

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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 13.0

Confirmed on 2026-11-03 in branch 13.0 of OCA/reporting-engine.

terminal Installation and usage

OCA documentation · Odoo 19.0

To 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.

info

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.