Skip to main content
EU Pay Transparency

EU Pay Transparency for Odoo 20: how to tell whether it fits your company

EU Pay Transparency for Odoo 20 fits if you work in Odoo and want to calculate, inside it, the pay gap indicators from the Annex of Directive 2023/970 and, if you are in Spain, the Registro Retributivo under RD 902/2020, without the module storing salary amounts. Before installing it, decide on a handful of settings such as the anonymisation threshold. It is published for Odoo 17, 18, 19 and 20, not only for the version in its name.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 4 November 2026

Key facts

Versions
Odoo 17, 18, 19 and 20
Checked
in the module's source code, version 20.0 · against the sources linked at the end
Reading time
5 min

What the module covers according to its documentation

Everything below comes from the module's README. Read it as what the app does, not as a summary of the law: for what applies to you, the reference is the legal text and your employment adviser.

  • It computes the 10 pay gap indicators that the README describes as mandatory under the Annex of Directive 2023/970.
  • It lets you configure which pay components go into the gender pay gap calculation: basic pay, bonus, complementary pay and parental leave.
  • It shows the salary quartile distribution, with the female percentage from Q1 to Q4.
  • It produces the full Registro Retributivo under RD 902/2020 for Spanish companies of any size.
  • It keeps a 4-year historical chain (previous_report_id) for trend analysis.
  • It exports to PDF and CSV with country-specific field mapping.
  • It handles remediation measures with reminder emails at 60, 30 and 7 days, and a JPA closes itself once all its measures have evidence attached.
  • It gives the works council access through a 60-day secure token, with anonymised data only.
  • It includes a Right-to-Information portal, with a 12-month cooldown between requests and protection through rate limiting and a honeypot.
  • It handles GDPR access and erasure requests.
  • It adds salary ranges on hr.job: minimum, maximum, currency and a public flag.
  • It sends employees a pay secrecy prohibition notice, which the README links to art. 6 of Directive 2023/970.
List of EU pay transparency reports with a single YourCompany report for the 2024 period in Draft status
The reports list, with a single record in Draft

If you want to see how these pieces fit together inside Odoo before deciding, we cover it in how the module works under the bonnet.

Criteria to decide whether it fits

The quickest way to decide is to look at your situation and see what the module does with it. The table only includes behaviour described in its documentation.

If your company...What the module does
Is in Spain, whatever its sizeProduces the full Registro Retributivo under RD 902/2020
Has 250 employees or moreWorks with an annual reporting frequency
Has between 100 and 249 employeesWorks with a triennial reporting frequency
Has fewer than 100 employeesStays with the Registro only, no periodic report
Has 50 employees or more and a gap above 25%Makes gap justification mandatory
Has small groups where someone could be identifiedSuppresses cells with fewer than N employees, N configurable and 5 by default
Has a works council that wants to review the dataGrants access with a 60-day secure token and anonymised data only
Wants to compare with previous yearsKeeps the 4-year historical chain
Gets requests from employees about their payOffers the Right-to-Information portal with a 12-month cooldown between requests

If several rows describe you, the module covers that part of the work inside Odoo. If what you need is in neither the table nor the list above, ask us before buying rather than assuming it is there.

Pay Gap Dashboard with four summary cards and a category table, the dashboard list filtered by Approved, the Reporting Cycles list and the joint pay assessments list with a JPA in Open status
From the pay gap dashboard to reporting cycles and joint pay assessments

What the module does not do, or does in a particular way

These points can weigh on the decision as much as the features. Go through them with whoever handles payroll and data protection.

  • It does not store salary amounts. It only keeps metric codes and anonymised percentages.
  • It blocks salary history in Spain. Salary history collection is blocked by default for Spanish companies. The Salary History Block setting takes ISO country codes and defaults to ES.
  • It uses a fallback template for Spain. The module links to the Spain template based on the Annex of Directive 2023/970 until Spain's Royal Decree is enacted.
  • It refuses GDPR erasure with a legal citation. Erasure requests are refused citing GDPR art. 17(3)(b).
  • The audit log cannot be altered. pt.audit.log records are immutable: write and unlink always raise an error. The module also attempts a PostgreSQL REVOKE DELETE on that table.
Report Templates list in Pay Transparency with a single row, the Spain template based on the Directive Annex
The only report template listed: the fallback one for Spain

What to have ready before installing it

The installation the README describes is short:

  1. Copy flexigo_paytransparency and, if you want the website part, flexigo_paytransparency_website as well.
  2. Update the app list in Odoo and install the module.

The README adds a note about the automatic installation of the website bridge module (flexigo_paytransparency_website); read it in the documentation before deciding whether to copy it.

What is worth thinking through beforehand are the values for the module's settings:

  • RTI Cooldown (months): minimum months between RTI requests per employee (12 by default).
  • Anonymisation Threshold: minimum cell size before suppression (5 by default).
  • Portal Rate Limit: maximum RTI or DSAR requests per minute and per hour.
  • Parental Leave Types: leave types included in the parental leave gap calculation.
  • Salary History Block: ISO country codes where salary history collection is prohibited (ES by default).

Once those are settled, the first calculation is launched from Pay Transparency → Computation → New Run.

Worker Categories list in Pay Transparency with three YourCompany categories: Administrative, Management and Technical, valid from January 2024
The worker categories, still with no employees assigned

The detail of each setting and what to check in the first days is in the module set-up guide.

Which Odoo version you can use it on

Although its Odoo Apps name says Odoo 20, the module is published for Odoo 17, 18, 19 and 20, each with its own listing. The price is the same on all four: €9 excluding VAT, a one-off payment per Odoo version. If you plan to upgrade Odoo later, bear in mind that payment is per version. You can check the Odoo Apps listing or the module page on flexigotech.com.

How FlexigoTech can help

If you are still implementing Odoo, or your HR data lives in another system, we can help. At FlexigoTech we implement Odoo 17, 18, 19 and 20 and build bespoke connectors and integrations, so we can set up the environment where you will use the module or connect it to what you already have.

Keep reading

How EU Pay Transparency for Odoo 20 works: menus, scheduled actions and recordsWhich menus EU Pay Transparency for Odoo 20 adds, which scheduled actions run daily, weekly and every 12 months, and which records the module stores.EU Pay Transparency for Odoo 20 error messages: when they appear and what to doThe error messages in EU Pay Transparency for Odoo 20, quoted word for word: when each one appears, what it means and what to do next.Setting up EU Pay Transparency in Odoo: fields, states and your first weekWhich pt_ fields to fill in on EU Pay Transparency for Odoo (17, 18, 19 and 20), which states its records go through and what to check in week one.
Checked in the module's source code (version 20.0) and the linked sources

Sources