OdooWiki OCA HUB

Qweb PDF reports signer

report_qweb_signer folder_open OCA/reporting-engine open_in_new
Reporting License: AGPL-3

This module extends the functionality of reports to sign PDFs using a PKCS#12 certificate.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Sign Qweb PDF reports with a PKCS#12 digital certificate. Configure a certificate and signing rules per report, and optionally save the signed PDF as an attachment.

This module lets you digitally sign PDF reports generated by Odoo using a PKCS#12 certificate. On any report configuration (the ir.actions.report screen), a new "Sign" tab appears where you can pick a certificate, define a domain to decide which records should be signed, allow or disallow signing when several documents are merged into one PDF, and optionally save the signed file as an attachment with a chosen filename.

When a report is printed, Odoo checks the report type and certificate. If the report is a Qweb PDF and a certificate is set, the PDF is signed automatically. If "Allow to sign only one document" is enabled and more than one record is selected, the report is not signed. A signing domain can further filter which records qualify.

If a signed attachment filename is configured, the signed PDF is stored as an attachment on the record and reused on later prints instead of re-signing. The module adds a demo report "Test PDF certificate" on partners and a demo certificate for testing. It depends on the certificate and account modules.

Depends on

certificateaccount
Models and fields (1)
  • ir.actions.report · extends an existing modelcertificate_id, signing_domain, signed_attachment (Save as attachment), signing_allow_only_one (Allow to sign only one document)

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

Sources · Odoo 12.0

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

terminal Installation and usage

OCA documentation · Odoo 18.0

To install this module, you need to install pyhanko-cli, e.g.:

> pipx install pyhanko-cli

To start signing PDF reports you'll need first to configure your desired certificate. To do so:

  • Go to Settings > General Settings and then to the section Certificates and Keys. Then click on Certificates.
  • Add the cert you want to use: upload the file and set the password.

Now you need to configure the reports using this certificate:

  • Go to Settings > Thecnical > Reporting > Reports.
  • Search for the pdf report you want to sign.
  • In the report form, open the Sign tab.
  • Choose the Certificate you created before.
  • Optionally, you can set:
  • Allow to sign only one document: disallow signing a pdf that contains multiple docs.
  • Save as attachment: Set the signed document report file name pattern. Example: (object.name or '').replace('/','_') + '.signed.pdf'
  • Signing domain: Filter the document that will be signed. Example: [('move_type','=','out_invoice'), ('state', '=', 'posted')]

User just prints PDF documents (only Qweb PDF reports supported) as usual, but signed PDF is automatically downloaded if this document model is configured as indicated above.

If 'Save as attachment' is configured, signed PDF is saved as attachment and next time saved one is downloaded without signing again. This is appropiate when signing date is important, for example, when signing customer invoices.

You can try the signing with the demo report that is included for customers called "Test PDF certificate".

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.