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.0Lets 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
Required by other modules
Menus it adds
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-03Confirmation 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.0Usage
Source · Odoo 17.0For End Users
- Install
report_printed_flagmodule - 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
printedfield is automatically set toTrue - 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.
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.