Odoo Community Association

Report Printed Flag

Alpha License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

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

Main features:

Extension modules simply inherit the mixin:

class AccountMove(models.Model):
    _name = 'account.move'
    _inherit = ['account.move', 'report.printed.mixin']

All printed flag functionality is inherited automatically.

Limitations:

Important

This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. More details on development status

Table of contents

For End Users

  1. Install report_printed_flag module
  2. Install extension modules that support printed flags (e.g., report_printed_flag_account)
  3. Go to Settings > Reporting > Printed Flag > Configurations
  4. Create a configuration for your model (Company + Model)
  5. Add report rules (select report + optional domain condition)
  6. 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:

  1. Create your model inheriting from report.printed.mixin:

    class MyModel(models.Model): _name = ‘my.model’ _inherit = [‘my.model’, ‘report.printed.mixin’]

  2. Create QWeb PDF reports for your model (standard Odoo process)

  3. 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:

<button name="action_view_printed_logs"
        type="object"
        string="View Printed Logs"
        icon="fa-print"
        invisible="not printed_report_names"/>

Known issues / Roadmap

  • Provide official extension modules (stock, account)
  • Add support for additional report types (HTML, XLSX)
  • Optimize performance for high-volume batch printing
  • Improve handling of large datasets

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • Binhex Systems Solutions S.L

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/reporting-engine project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.