Skip to content
TAQNIX
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on TAQNIX

HR Letters & Certificates for Odoo 19 Community documentation

A guide to the HR letters: the first setup, making and issuing a letter, the register, the templates and their placeholders, and the access rights.

Documents version 1.0.0Updated Oct 23, 2026

Start here

In plain words: "Can I have a certificate saying I work here?" Every HR department types the same letters again and again, in Word, with the wrong date or the wrong job title. HR Letters & Certificates does it in Odoo Community: choose the employee and a template, the letter is filled in with their data, you review it, issue it with a number and a verification code, and print or email it with the signatory and the company stamp. Five templates come ready in English and Arabic.
A draft filled in from the template, the register of letters and a printed certificate.
A draft filled in from the template, the register of letters and a printed certificate.
Tip: The letters are recorded: you always know who got which letter, when and signed by whom.

What you get

FeatureWhat it does
TemplatesA text with placeholders such as the employee's name, job title, department, joining date, salary, the company and the signatory. Five ready-made, in English and in Arabic.
Filled inA letter takes the data of the employee; what is not known stays visible so you can complete it.
IssueAn issued letter gets a number (LTR/2026/0001) and a verification code, and is locked.
RegisterAll the letters by employee, template, status and month.
Many at onceGenerate the same letter for several employees.
Print and sendA letter with the company header, the signatory, the stamp and the verification code; by email with the PDF.
SalaryFilled in only for HR managers.
LanguagesA template can be in Arabic: dates and amounts follow its language and the letter is written right to left.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededEmployees (hr)
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_hr_letters.zip; unzip it to get the folder taqnix_hr_letters.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search HR Letters & Certificates and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_hr_letters --stop-after-init

First setup

In plain words: In the company (Settings → Companies → HR letters) choose who signs the letters and add the stamp or signature image. They appear on every printed letter. Check the company logo and address too: they make the header.

Make a letter

In plain words: Employees → Letters → Letters register → New. Choose the employee and a template: the text is filled in. A letter written for a purpose (a no-objection certificate, a warning) takes it from the Details field.
A draft: what is still to fill is shown on top.
A draft: what is still to fill is shown on top.
ButtonWhat it does
Fill the empty placeholdersAfter you complete the employee's data or the details, fills the placeholders that were empty.
Fill from the templateReplaces the text by the template, filled in again.
IssueGives the number and the verification code and locks the letter.
Tip: You can edit the text of a draft freely: it is a normal text editor.

Issue, print, send

In plain words: Issue is refused while a placeholder is still unfilled, so a letter never leaves with {{id_number}} in it. An issued letter cannot be changed: if there is a mistake, cancel it (its number is not reused) and make another.
An issued letter, with its number and verification code.
An issued letter, with its number and verification code.
In plain words: Print gives the letter as a PDF with the company header, the reference and the date, the title, the text, the signatory, the stamp and the verification code. Send by email sends the PDF to the employee's work email.
A printed certificate.
A printed certificate.

The register

In plain words: Letters register lists all the letters; search by number, employee or verification code, filter by status or year, group by employee, template or month. On the employee, the Letters button lists the letters they received.
The register.
The register.

Templates

In plain words: Employees → Letters → Letter templates: edit the five templates or make yours. Write the text and put the placeholders between double braces. Choose a language to write a letter in Arabic: the dates and amounts follow that language.
A template with its placeholders.
A template with its placeholders.
PlaceholderFilled with
{{employee_name}}, {{job_title}}, {{department}}The employee's name, job title and department.
{{company}}, {{company_address}}The company's name and address.
{{manager}}, {{id_number}}, {{nationality}}The employee's manager, ID number and nationality.
{{join_date}}, {{end_date}}The start date of the contract, and the end date or the departure date.
{{salary}}The monthly gross salary, for HR managers only.
{{today}}, {{number}}The date of the letter and its number.
{{signatory_name}}, {{signatory_title}}Who signs the letter.
{{details}}The text typed in the Details field of the letter.

Letters for many employees

In plain words: Employees → Letters → Generate letters: choose the template, the employees, the date and the details. A letter is made for each. Tick Issue the letters to issue at once the ones that are complete; the others stay in draft.
Generating a letter for several employees.
Generating a letter for several employees.

The salary

In plain words: The {{salary}} placeholder is filled only when the user is an HR manager. For an HR officer it stays unfilled and blocks the issue: a salary certificate is made by someone who is allowed to see the salary.

Who can do what

WhoCan
HR officersMake, edit, issue, print and send letters, edit the templates, see the register.
HR managersAlso have the salary filled in and set the signatory and the stamp.
Other usersNo access.

Arabic and right to left

An Arabic certificate, written right to left.
An Arabic certificate, written right to left.

Limits

LimitDetail
DataThe placeholders use the data of the employee form: complete it there (ID number, joining date, job title).
VerificationThe verification code is searched in the register; there is no public page.
SignaturesThe stamp is an image; there is no electronic signature.

For developers

In plain words: Skip this chapter if you only use the module.
letter = env['taqnix.letter'].create({'employee_id': employee.id, 'template_id': env.ref('taqnix_hr_letters.template_employment_en').id})
letter.body            # filled in from the employee's data
letter.missing         # '{{details}}' if something is still to fill
letter.action_issue()  # number and verification code, locked
letter.number, letter.verification_code
letter.action_send()   # by email, with the PDF

Troubleshooting

ProblemWhat to do
Issue says something is still to fillA placeholder has no data: complete the employee form or the details, then Fill the empty placeholders.
The salary stays emptyOnly an HR manager gets it; or the employee has no wage.
The date of joining is emptyThe employee has no contract start date.
I cannot edit the letterIt is issued: cancel it and make another.
The PDF header looks wrongComplete the company logo and address.

Updating and removing

Replace the folder with the new version, restart Odoo and run -u taqnix_hr_letters. Your letters and templates are kept.

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.