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.

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 size | Produces the full Registro Retributivo under RD 902/2020 |
| Has 250 employees or more | Works with an annual reporting frequency |
| Has between 100 and 249 employees | Works with a triennial reporting frequency |
| Has fewer than 100 employees | Stays 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 identified | Suppresses cells with fewer than N employees, N configurable and 5 by default |
| Has a works council that wants to review the data | Grants access with a 60-day secure token and anonymised data only |
| Wants to compare with previous years | Keeps the 4-year historical chain |
| Gets requests from employees about their pay | Offers 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.

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 Blocksetting takes ISO country codes and defaults toES. - 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.logrecords are immutable: write and unlink always raise an error. The module also attempts a PostgreSQLREVOKE DELETEon that table.

What to have ready before installing it
The installation the README describes is short:
- Copy
flexigo_paytransparencyand, if you want the website part,flexigo_paytransparency_websiteas well. - 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 (ESby default).
Once those are settled, the first calculation is launched from Pay Transparency → Computation → New Run.

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
Checked in the module's source code (version 20.0) and the linked sources
Sources
- Module source code: flexigo_paytransparency 20.0 (a4edd772): README.rst
- apps.odoo.com/apps/modules/20.0/flexigo_paytransparency
- apps.odoo.com/apps/modules/17.0/flexigo_paytransparency
- apps.odoo.com/apps/modules/18.0/flexigo_paytransparency
- apps.odoo.com/apps/modules/19.0/flexigo_paytransparency
- flexigotech.com/en/services.html
