OdooWiki OCA HUB

Report Printed Flag

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

This module provides a generic and extensible configuration layer to mark records as printed when specific PDF reports are generated.

Main features:

  • Reusable Mixin (report.printed.mixin) that any model can inherit to gain:
  • A printed Boolean field
  • A printed_log_ids One2many relation to audit logs
  • A printed_report_names computed field with printed report names
  • An action_view_printed_logs() method
  • Generic configuration per company and model
  • Per-report configuration using rules
  • Optional domain conditions per report
  • Automatic printed flag update
  • Optional logging of report executions
  • Optional computation of printed report names
  • Full multi-company support with isolated configurations
  • User interface for browsing printed report logs

Extension modules simply inherit the mixin:

All printed flag functionality is inherited automatically.

Limitations:

  • Only applies to QWeb PDF reports (qweb-pdf)
  • Extension modules must inherit report.printed.mixin to gain printed field support
  • Domain expressions must be valid Python domains

auto_awesome What this module does

AI-generated from the code · Odoo 17.0

Lets administrators choose which PDF reports mark records as printed, and keeps an audit log of who printed which report on which document. Models that use the provided mixin gain a printed flag, a list of printed report names and a button to view their print history.

This module adds a configuration screen where an administrator decides, per company and per document type, which reports should mark a document as printed.

Where it appears in Odoo: - A new "Printed Flag" menu under the Reporting menu, with two entries: "Configurations" and "Logs". - The configuration form lets you pick a document type (only types that already have a printed flag are offered), add one rule line per report, and optionally enter a filter condition so only matching documents are flagged. - Two switches control whether print logs are recorded and whether the list of printed report names is shown on documents.

Automatic behaviour: - When a configured PDF report is generated, the matching documents are automatically marked as printed. - If logging is enabled, a log entry is created with the document, the report, the user and the company. - The "Logs" screen lists these entries and can be searched and grouped by company, document type, name, user and print date. - Only one configuration is allowed per document type and company, and every report in a configuration must belong to the chosen document type. - Printed report names can only be enabled when logging is enabled; turning logging off also turns names off.

Models touched: ir.actions.report (report generation), plus the new configuration, rule, log and mixin models. Documents only get the printed flag, the print logs and the printed report names if their model inherits the provided mixin.

Depends on

baseweb

Menus it adds

Printed FlagConfigurationsLogs
Models and fields (4)
  • report.printed.log · new modelname, res_id (Related Record), user_id, report_id, res_model, company_id
  • report.printed.mixin · new modelprinted, printed_log_ids (Print Logs), printed_report_names (Printed Reports Names)
  • report.printed.config · new modelname, note, model (Technical Model), active, line_ids (Report Rules), model_id, company_id, display_name, allowed_model_ids, report_printed_log_active (Enable Printed Logs), report_printed_names_active (Enable Printed Report Names)
  • report.printed.config.line · new modeldomain, config_id, report_id

Text generated by AI (DeepSeek) from reading the Odoo 17.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: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 17.0

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

terminal Installation and usage

OCA documentation · Odoo 17.0

For End Users

  • Install report_printed_flag module
  • Install extension modules that support printed flags (e.g., report_printed_flag_account)
  • Go to Settings > Reporting > Printed Flag > Configurations
  • Create a configuration for your model (Company + Model)
  • Add report rules (select report + optional domain condition)
  • Generate a configured report from a document (e.g., print an invoice)

Result:

  • The printed field is automatically set to True
  • A log entry is created (if enabled in configuration)
  • Printed report names are computed (if enabled in configuration)

Access logs via:

Settings > Reporting > Printed Flag > Logs

For Module Developers

To add printed flag support to a custom model:

  • Create your model inheriting from report.printed.mixin: class MyModel(models.Model): _name = 'my.model' _inherit = ['my.model', 'report.printed.mixin']
  • Create QWeb PDF reports for your model (standard Odoo process)
  • Instruct users to configure which reports trigger the printed flag via the UI

That's it! The mixin provides all field and method implementations automatically.

Optional: Add UI Elements

You may optionally add buttons to your views to open the logs:

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.