Qweb PDF reports signer

report_qweb_signer
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/17.0/report_qweb_signer
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYReporting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSCarlos Lopez, Florian da Costa, OCA-git-bot, oca-ci, Hector Vior
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - web_editor
    - bus
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
endesive ; python_version >= '3.12'
endesive<=2.18.5 ; python_version < '3.12'
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES default-jre-headless
DESCRIPTION
DESCRIPTION
This module extends the functionality of report module to sign PDFs
using a PKCS#12 certificate.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
report_partner_demo report_partner_demo ir.ui.view qweb New
report_partner_demo_document report_partner_demo_document ir.ui.view qweb New
view_company_form Add PDF report certificates list res.company data Inherits base.view_company_form
view_report_certificate_form report.certificate.form report.certificate form New
view_report_certificate_tree report.certificate.tree report.certificate tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • pdf_sign(self, pdf, certificate)

New fields (15)
  • action_report_ids Many2many → ir.actions.report
    column1='report_certificate_id' column2='action_report_id' comodel_name='ir.actions.report' domain="[('model_id', '=', model_id)]" help='Reports to sign for the selected model.No report selected means all reports are allowed.' relation='report_certificate_action_report' string='Allowed reports'
  • allow_only_one Boolean
    default=True help='If True, this certificate can not be useb to sign a PDF from several documents.' string='Allow only one document'
  • attachment Char
    help='Filename used to store signed document as attachment. Keep empty to not save signed document.' string='Save as attachment'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • domain Char
    help='Domain for filtering if sign or not the document'
  • endesive_certificate_location Char
    help='Location to include in digital signature (typically, a city name). ' string='Signature location'
  • endesive_certificate_mail Char
    help='E-mail address to include in PDF digital signature.' string='Signature e-mail'
  • endesive_certificate_reason Char
    help='Reason text to include in digital signature.' string='Signature reason'
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where apply this certificate' ondelete='cascade' required=True
  • model_name Char
    related='model_id.model'
  • name Char
    required=True
  • password_file Char
    help='Path to certificate password file' required=True string='Password file path'
  • path Char
    help='Path to PKCS#12 certificate file' required=True string='Certificate file path'
  • sequence Integer
    default=10
  • signing_method Selection
    default='java' required=True selection=[('java', 'Java'), ('endesive', 'Endesive')]
Public methods (0)

No public methods.

New fields (1)
  • report_certificate_ids One2many → report.certificate
    comodel_name='report.certificate' inverse_name='company_id' string='PDF report certificates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/16.0/report_qweb_signer
VERSION
VERSION 1.0.5
CATEGORY
CATEGORYReporting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, Benjamin Willig, oca-ci, Hector Vior, hda, len
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - web_editor
    - bus
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
endesive ; python_version >= '3.12'
endesive<=2.18.5 ; python_version < '3.12'
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES default-jre-headless
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
report_partner_demo report_partner_demo ir.ui.view qweb New
report_partner_demo_document report_partner_demo_document ir.ui.view qweb New
view_company_form Add PDF report certificates list res.company data Inherits base.view_company_form
view_report_certificate_form report.certificate.form report.certificate form New
view_report_certificate_tree report.certificate.tree report.certificate tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • pdf_sign(self, pdf, certificate)

New fields (14)
  • action_report_ids Many2many → ir.actions.report
    column1='report_certificate_id' column2='action_report_id' comodel_name='ir.actions.report' domain="[('model_id', '=', model_id)]" help='Reports to sign for the selected model.No report selected means all reports are allowed.' relation='report_certificate_action_report' string='Allowed reports'
  • allow_only_one Boolean
    default=True help='If True, this certificate can not be useb to sign a PDF from several documents.' string='Allow only one document'
  • attachment Char
    help='Filename used to store signed document as attachment. Keep empty to not save signed document.' string='Save as attachment'
  • company_id Many2one → res.company
    comodel_name='res.company' default=_default_company required=True string='Company'
  • domain Char
    help='Domain for filtering if sign or not the document'
  • endesive_certificate_location Char
    help='Location to include in digital signature (typically, a city name). ' string='Signature location'
  • endesive_certificate_mail Char
    help='E-mail address to include in PDF digital signature.' string='Signature e-mail'
  • endesive_certificate_reason Char
    help='Reason text to include in digital signature.' string='Signature reason'
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where apply this certificate' ondelete='cascade' required=True
  • name Char
    required=True
  • password_file Char
    help='Path to certificate password file' required=True string='Password file path'
  • path Char
    help='Path to PKCS#12 certificate file' required=True string='Certificate file path'
  • sequence Integer
    default=10
  • signing_method Selection
    default='java' required=True selection=[('java', 'Java'), ('endesive', 'Endesive')]
Public methods (0)

No public methods.

New fields (1)
  • report_certificate_ids One2many → report.certificate
    comodel_name='report.certificate' inverse_name='company_id' string='PDF report certificates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/14.0/report_qweb_signer
VERSION
VERSION 2.0.3
CATEGORY
CATEGORYReporting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSThomas Binsfeld, Omar (Comunitea), oca-travis, Weblate, OCA-git-bot, Isaac Gallart Bochons, oca-ci, Olga Marco, Héctor Vi Or, sistecem
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - web_editor
    - web
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
endesive
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES default-jre-headless
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
report_partner_demo report_partner_demo ir.ui.view qweb New
report_partner_demo_document report_partner_demo_document ir.ui.view qweb New
view_company_form Add PDF report certificates list res.company data Inherits base.view_company_form
view_report_certificate_form report.certificate.form report.certificate form New
view_report_certificate_tree report.certificate.tree report.certificate tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • pdf_sign(self, pdf, certificate)

New fields (14)
  • action_report_ids Many2many → ir.actions.report
    column1='report_certificate_id' column2='action_report_id' comodel_name='ir.actions.report' domain="[('model_id', '=', model_id)]" help='Reports to sign for the selected model.No report selected means all reports are allowed.' relation='report_certificate_action_report' string='Allowed reports'
  • allow_only_one Boolean
    default=True help='If True, this certificate can not be useb to sign a PDF from several documents.' string='Allow only one document'
  • attachment Char
    help='Filename used to store signed document as attachment. Keep empty to not save signed document.' string='Save as attachment'
  • company_id Many2one → res.company
    comodel_name='res.company' default=_default_company required=True string='Company'
  • domain Char
    help='Domain for filtering if sign or not the document' string='Domain'
  • endesive_certificate_location Char
    help='Location to include in digital signature (typically, a city name). ' string='Signature location'
  • endesive_certificate_mail Char
    help='E-mail address to include in PDF digital signature.' string='Signature e-mail'
  • endesive_certificate_reason Char
    help='Reason text to include in digital signature.' string='Signature reason'
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where apply this certificate' ondelete='cascade' required=True string='Model'
  • name Char
    required=True
  • password_file Char
    help='Path to certificate password file' required=True string='Password file path'
  • path Char
    help='Path to PKCS#12 certificate file' required=True string='Certificate file path'
  • sequence Integer
    default=10
  • signing_method Selection
    default='java' required=True selection=[('java', 'Java'), ('endesive', 'Endesive')] string='Signing Method'
Public methods (0)

No public methods.

New fields (1)
  • report_certificate_ids One2many → report.certificate
    comodel_name='report.certificate' inverse_name='company_id' string='PDF report certificates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/13.0/report_qweb_signer
VERSION
VERSION 3.0.0
CATEGORY
CATEGORYReporting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSStéphane Bidoul, Enric Tobella, david, OCA Transbot, Thomas Binsfeld, oca-travis, Weblate, OCA-git-bot, oca-ci, Laurent-Corron
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - web_editor
    - web
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
endesive
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES default-jre-headless
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
report_partner_demo report_partner_demo ir.ui.view qweb New
report_partner_demo_document report_partner_demo_document ir.ui.view qweb New
view_company_form Add PDF report certificates list res.company data Inherits base.view_company_form
view_report_certificate_form report.certificate.form report.certificate form New
view_report_certificate_tree report.certificate.tree report.certificate tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (2)
  • pdf_sign(self, pdf, certificate)
  • render_qweb_pdf(self, res_ids=None, data=None)

New fields (14)
  • action_report_ids Many2many → ir.actions.report
    column1='report_certificate_id' column2='action_report_id' comodel_name='ir.actions.report' domain="[('model_id', '=', model_id)]" help='Reports to sign for the selected model.No report selected means all reports are allowed.' relation='report_certificate_action_report' string='Allowed reports'
  • allow_only_one Boolean
    default=True help='If True, this certificate can not be useb to sign a PDF from several documents.' string='Allow only one document'
  • attachment Char
    help='Filename used to store signed document as attachment. Keep empty to not save signed document.' string='Save as attachment'
  • company_id Many2one → res.company
    comodel_name='res.company' default=_default_company required=True string='Company'
  • domain Char
    help='Domain for filtering if sign or not the document' string='Domain'
  • endesive_certificate_location Char
    help='Location to include in digital signature (typically, a city name). ' string='Signature location'
  • endesive_certificate_mail Char
    help='E-mail address to include in PDF digital signature.' string='Signature e-mail'
  • endesive_certificate_reason Char
    help='Reason text to include in digital signature.' string='Signature reason'
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where apply this certificate' ondelete='cascade' required=True string='Model'
  • name Char
    required=True
  • password_file Char
    help='Path to certificate password file' required=True string='Password file path'
  • path Char
    help='Path to PKCS#12 certificate file' required=True string='Certificate file path'
  • sequence Integer
    default=10
  • signing_method Selection
    default='java' required=True selection=[('java', 'Java'), ('endesive', 'Endesive')] string='Signing Method'
Public methods (0)

No public methods.

New fields (1)
  • report_certificate_ids One2many → report.certificate
    comodel_name='report.certificate' inverse_name='company_id' string='PDF report certificates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/12.0/report_qweb_signer
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYReporting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, Enric Tobella, david, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Marcel Savegnago
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - web_editor
    - web
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES /usr/bin/java
default-jre-headless
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
report_partner_demo report_partner_demo ir.ui.view qweb New
report_partner_demo_document report_partner_demo_document ir.ui.view qweb New
view_company_form Add PDF report certificates list res.company data Inherits base.view_company_form
view_report_certificate_form report.certificate.form report.certificate form New
view_report_certificate_tree report.certificate.tree report.certificate tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (2)
  • pdf_sign(self, pdf, certificate)
  • render_qweb_pdf(self, res_ids=None, data=None)
    @api.multi

New fields (9)
  • allow_only_one Boolean
    default=True help='If True, this certificate can not be useb to sign a PDF from several documents.' string='Allow only one document'
  • attachment Char
    help='Filename used to store signed document as attachment. Keep empty to not save signed document.' string='Save as attachment'
  • company_id Many2one → res.company
    comodel_name='res.company' default=_default_company required=True string='Company'
  • domain Char
    help='Domain for filtering if sign or not the document' string='Domain'
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where apply this certificate' required=True string='Model'
  • name Char
    required=True
  • password_file Char
    help='Path to certificate password file' required=True string='Password file path'
  • path Char
    help='Path to PKCS#12 certificate file' required=True string='Certificate file path'
  • sequence Integer
    default=10
Public methods (0)

No public methods.

New fields (1)
  • report_certificate_ids One2many → report.certificate
    comodel_name='report.certificate' inverse_name='company_id' string='PDF report certificates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/10.0/report_qweb_signer
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYReporting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, Jairo Llopis, Jordi Ballester, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttps://www.tecnativa.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - report
    - base
    - web
    - base_setup
    - web_kanban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES /usr/bin/java
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
report_partner_demo report_partner_demo ir.ui.view qweb New
report_partner_demo_document report_partner_demo_document ir.ui.view qweb New
view_company_form Add PDF report certificates list res.company data Inherits base.view_company_form
view_report_certificate_form report.certificate.form report.certificate form New
view_report_certificate_tree report.certificate.tree report.certificate tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (2)
  • get_pdf(self, docids, report_name, html=None, data=None)
    @api.model
  • pdf_sign(self, pdf, certificate)

New fields (9)
  • allow_only_one Boolean
    default=True help='If True, this certificate can not be useb to sign a PDF from several documents.' string='Allow only one document'
  • attachment Char
    help='Filename used to store signed document as attachment. Keep empty to not save signed document.' string='Save as attachment'
  • company_id Many2one → res.company
    comodel_name='res.company' default=_default_company required=True string='Company'
  • domain Char
    help='Domain for filtering if sign or not the document' string='Domain'
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where apply this certificate' required=True string='Model'
  • name Char
    required=True
  • password_file Char
    help='Path to certificate password file' required=True string='Password file path'
  • path Char
    help='Path to PKCS#12 certificate file' required=True string='Certificate file path'
  • sequence Integer
    default=10
Public methods (0)

No public methods.

New fields (1)
  • report_certificate_ids One2many → report.certificate
    comodel_name='report.certificate' inverse_name='company_id' string='PDF report certificates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/8.0/report_qweb_signer
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYReporting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Antiun Ingeniería S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Antiun Ingeniería S.L.
COMMITTERS
COMMITTERSGitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, Antonio Espinosa
WEBSITE
WEBSITEhttp://www.antiun.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:27
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - report
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES /usr/bin/java
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
report_partner_demo report_partner_demo ir.ui.view qweb New
report_partner_demo_document report_partner_demo_document ir.ui.view qweb New
view_company_form Add PDF report certificates list res.company data Inherits base.view_company_form
view_report_certificate_form report.certificate.form report.certificate form New
view_report_certificate_tree report.certificate.tree report.certificate tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (2)
  • get_pdf(self, cr, uid, ids, report_name, html=None, data=None, context=None)
    @api.v7
  • pdf_sign(self, pdf, certificate)

New fields (9)
  • allow_only_one Boolean
    default=True help='If True, this certificate can not be useb to sign a PDF from several documents.' string='Allow only one document'
  • attachment Char
    help='Filename used to store signed document as attachment. Keep empty to not save signed document.' string='Save as attachment'
  • company_id Many2one → res.company
    comodel_name='res.company' default=_default_company required=True string='Company'
  • domain Char
    help='Domain for filtering if sign or not the document' string='Domain'
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where apply this certificate' required=True string='Model'
  • name Char
    required=True
  • password_file Char
    help='Path to certificate password file' required=True string='Password file path'
  • path Char
    help='Path to PKCS#12 certificate file' required=True string='Certificate file path'
  • sequence Integer
    default=10
Public methods (0)

No public methods.

New fields (1)
  • report_certificate_ids One2many → report.certificate
    comodel_name='report.certificate' inverse_name='company_id' string='PDF report certificates'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/reporting-engine
PULL REQUEST
PULL REQUEST[18.0][MIG] report_qweb_signer: Migration to 18.0 (#1105)