Skip to content
PokutsoftPokutsoft
GlobalProductivity/Documents
Certificate Generator & QR Verification icon

Certificate Generator & QR Verification

Generate QWeb PDF certificates from any record with a unique number and a public QR verification page

Odoo 20.0Odoo 19.0Odoo 18.0
Compatible with Odoo 18.0 · 19.0 · 20.0
OPL-1 license · 35+ languages · Community & Enterprise
Certificate Generator & QR Verification for Odoo — preview banner

Certificate Generator & QR Verification

Generate QWeb PDF certificates from any record with a unique number and a public QR verification page

Certificate Generator & QR Verification generates professional PDF certificates, training completions, product warranties, membership cards, from reusable templates with placeholder field mappings, a unique running number and a tamper-evident QR code. Anyone can check a certificate's authenticity on a public verification page without logging in, seeing only whether it is Valid, Expired, Cancelled or Not Yet Valid.

Key Features

Reusable certificate templates

certificate.template defines the certificate type (training, warranty, membership, other), an HTML body with {{placeholder}} tokens, a configurable number format string and a validity window in days, or never-expiring.

Field mappings from any source record

certificate.template.field.map maps any placeholder to a dotted field path evaluated against the certificate's linked source record (e.g. partner_id.name), each with its own fallback default value.

Collision-free per-template numbering

Each template gets its own dedicated ir.sequence created on demand, so certificate numbers formatted from patterns like CERT-%(year)s-%(seq)05d never collide across templates even with the same format string.

Tamper-evident HMAC verification token

Every certificate gets a unique certificate number and a deterministic HMAC-SHA256 verification token derived from a per-database secret, generated automatically on creation and impossible to forge without that secret.

Live validity status

Each certificate's status (Valid, Expired, Cancelled, Not Yet Valid) is computed from its issue date, expiry date and cancellation flag using the same rule set on the record, the report and the public page, so they can never disagree.

One-click cancellation with audit trail

action_cancel cancels a certificate with a recorded reason and cancellation date, fully tracked via chatter (mail.thread).

QWeb PDF report with embedded QR code

The certificate report renders the template's HTML body plus a QR code built from Odoo's built-in barcode engine, linking to the public verification page.

Public, unauthenticated verification page

The /certificate/verify/ controller shows Valid/Expired/Cancelled/Not Yet Valid/Not Found to anonymous visitors, exposing only certificate number, template name, type, recipient name and dates, never internal notes or the linked source record.

Use Cases

✓Issue training completion certificates that employees or customers can verify online without a login
✓Print product warranty certificates with a QR code customers can scan to confirm coverage is still valid
✓Generate membership cards with an expiry window and let a scanned QR show current status instantly
✓Cancel a certificate that was issued in error, with a reason recorded for audit
✓Map any custom record's fields into a reusable certificate template without touching code for each new use case
✓Give auditors a public, safe verification link instead of sharing the underlying business record

Screenshots

Certificate Generator & QR Verification — 01 Certificates List in Odoo

01 Certificates List

Certificate Generator & QR Verification — 02 Certificate Form in Odoo

02 Certificate Form

Certificate Generator & QR Verification — 03 Templates List in Odoo

03 Templates List

Certificate Generator & QR Verification — 04 Template Form in Odoo

04 Template Form

Why Choose This Module

Certificates only carry weight if a third party can check them without trusting a screenshot or a PDF that could have been edited. This module ties every certificate to a deterministic, HMAC-secured token and a public verification page that reflects the exact same validity logic used internally, so a QR scan is always the source of truth, whether the certificate is a training record, a warranty or a membership card.

Specifications

  • Compatible: Odoo 18.0 / 19.0 / 20.0
  • License: OPL-1
  • Languages: 35+
  • Author: Pokutsoft
  • Dependencies: mail
  • Support: support@pokutsoft.com
  • Update date: 2026-10-01

Related modules