---
title: "EU Pay Transparency"
description: "EU Pay Transparency"
---

**Where is it?** Salary Mapping ▸ **EU Pay Transparency**, directly after Annual report & archive. It used to sit under Exports. The report uses the same analysis and the same year as the annual report: the annual report is the written documentation under the Discrimination Act ch. 3 § 13, the EU report holds the figures under Article 9 of the directive. The permission is Exports, read, and it must not be limited to an access area: the report covers the whole organisation, so a role that only sees part of it (reporting line, own data or a custom filter) is refused both the page and the PDF/PowerPoint export. The page only shows when the feature is enabled for your organisation. When the report is built for a single legal entity, a category is also hidden if the difference from the whole organisation's report would reveal fewer people than the anonymity threshold (for example a single woman outside the entity), or if any legal entity has fewer than that in the category: otherwise a third entity's figures could be worked out by subtracting two entities' reports from the organisation's. For the same reason, an entity's pay quartiles, variable pay and hourly pay are hidden when any legal entity, or the difference from the whole organisation, has fewer women or men than the anonymity threshold. The organisation's own report is not affected. Existing links and shortcuts to the page keep working.

The EU Pay Transparency Directive (2023/970) must be transposed into national law by 7 June 2026. Statutory reporting of the gender pay gap **per job category** then begins from 7 June 2027 for employers with 150 or more employees (250+: annually, 150–249: every three years), and from 7 June 2031 for employers with 100–149 employees. That reporting must show **both a mean and a median** gap, and flag any category where the gap exceeds 5 % and isn't objectively justified. This report (requires the feature to be enabled for your organisation) builds that structured disclosure directly from your existing equal-work groupings (EQUAL WORK GROUP) — the same grouping the classification table already uses.

For each job category the report shows: headcount, share of women/men, mean and median salary broken down by gender, and the pay gap in percentage points for both the mean and the median. A category where either gap is at least 5 %, in either direction, is marked **"Needs justification"**.

**Anonymity is gated per category, exactly like the rest of the salary mapping.** A category is only shown if it clears the organization's minimum group size AND both genders independently clear the same threshold — otherwise the whole category is hidden (no numbers at all, mean or median) with the "Hidden (anonymity)" marker.

**The threshold counts people with a usable salary, not heads.** A mean or median is only computed over salaries above 0, so those are the people who must clear the threshold. A category with five women of whom only one has a recorded salary is hidden — otherwise "the women's average" would be exactly her salary. **The flag is decided on the unrounded gap.** The table shows rounded values, but "Needs justification" is decided on the exact figures: a 5.4 % gap displays as 95 % of men's pay but is still flagged. **Every comparison uses full-time-equivalent pay** (pay scaled to a 100 % contract) — mean, median, quartiles and variable components on the same basis — so part-time employees don't appear to earn less merely because they work part time. A share hidden for anonymity shows as "Hidden (anonymity)", never as 0 %.

**Which pay the report is based on.** The page (and the CSV export) shows the line **"Calculated on full-time-equivalent monthly/annual pay (basic and variable). Hourly pay is shown only as a preparation figure — Swedish pay-transparency legislation has not been enacted."** The directive defines pay level as both gross annual and hourly pay. The report compares full-time-equivalent monthly/annual pay, which gives the same gap as hourly pay only when every full-time role has the same weekly hours. The report is therefore a preparation document, not a complete statutory filing.

**Cross-reference with recorded justifications.** If your organization has enabled server-side pay-equity justifications, the report cross-references each flagged category against the actual per-employee justifications recorded on the Individual Analysis page. It is the employees **Individual Analysis flags** (those paid below their target salary) who need a justification — not everyone in the category. A flagged category shows as **"Flagged — justified"** when EVERY employee Individual Analysis flags in it has an objective justification (Experience, Performance or Market), together with the date and who recorded the most recent justification; the rest of the category needs none. When only SOME of the flagged employees have an objective justification, the category honestly shows as **"Flagged — partially justified"**, with the exact count out of the flagged employees (e.g. "2 of 5 flagged employees") — the rest of the pay gap is still unexplained. A flagged category with no such justification shows as **"No justification documented"** — action needed. **A flagged category with no individual below target.** Individual Analysis skips roles smaller than the anonymity threshold, so if everyone paid below target sits in such small roles, Individual Analysis flags nobody at all — there is nobody to justify. Such a category shows as **"Flagged — no individual below target, review the grouping"** (in the justification column: "No individual to justify — review the grouping and role sizes"). It still counts as needing action: it never counts as justified, it stays in the number of flagged categories without a justification, and it can still trigger a joint pay assessment (article 10). What to do is review the grouping: are the equal-work group and its roles right, or are the roles so small that no individual can be analysed? Merge or adjust roles so they reach the anonymity threshold, or document the reasons for the gap at group level.

**Outdated justifications.** Justifications never expire, but one recorded before the current calendar year (Swedish time) is marked **"Outdated — recorded {year}, review"** in the justification column. It still counts exactly as before toward the status above. Above the table the report shows how many justifications were recorded before this year, and the CSV export has an extra last column (yes/no) for whether the category's justifications include an outdated one. A justification classified as "Unjustified" deliberately does NOT count as an objective justification (it documents that the gap should be corrected), so that employee isn't counted among the justified ones. If the feature isn't enabled, the justification column shows a dash (your organization is still using the browser-local justifications).

**Gaps in either direction.** A positive gap means women are paid less, a negative one that women are paid more. A difference of at least 5 % in mean or median pay — in either direction — needs a justification and is checked against the recorded justifications, even when the report's display tolerance does not flag it. It is the same rule that decides whether a joint pay assessment may be required (article 10), so a fully justified category does not count there either, whichever gender the gap favours.

**The direction is shown.** Under each gap the page says whether it is **in women's favour** or **in men's favour**, and the CSV export has two last columns with the direction of the mean and the median gap. A group with a gap of at least 5 % either way gets a status that needs action, counts among the groups that need a justification (also in the annual report's EU box and in the PDF and PowerPoint export, where the direction is also printed after every gap) and, until it is fully justified, is a joint pay assessment candidate — where the direction is shown too.

**Anonymity applies to justifications too:** a hidden (anonymity-gated) category NEVER shows any justification information — no status, date, or who — exactly as it never shows any salary numbers.

The report has three exports: **Export CSV** (built in the browser from the same, already anonymity-protected figures shown on the page), plus **Download PDF** and **Download PowerPoint** (an editable presentation). The PDF and PowerPoint files are generated on the server from a fresh, permission-checked report, and every download is recorded in the audit log — if it cannot be logged, no file is created. The exports give you a standalone, downloadable record for the written documentation the law (and the directive) requires. Justification status and the recorded date are included in the CSV export, and after the category table the CSV carries two sections of its own: the proportion of women and men per pay quartile, and the variable pay components (the share receiving variable pay plus the mean and median gap). A value hidden for anonymity — a protected quartile band, a hidden share or a withheld gap — is exported as a dash, never as a number.


**Quartiles and variable pay components.** Beyond the per-category gap, the report also discloses two things the category table cannot show. The quartile table ranks the whole workforce by total pay — basic salary plus any variable components — splits it into four equal bands, and shows the proportion of women and men in each; this is what surfaces gender concentration at the top or bottom of the pay structure. When several people on exactly the same total pay straddle a band boundary, the tied group is split proportionally: each seat the group takes in a band carries the group’s own gender mix (four people on the same pay, two women and two men, with one seat in the lowest band and three in the next, add 0.5 women and 0.5 men to the lowest band). The proportions are therefore the same whatever order the staff records are stored in, every person is counted exactly once, and band sizes do not change. Variable and complementary components (bonus, commission and the like) are reported separately from basic salary: the proportion of women and of men who receive any, plus the mean and median gap among those who actually receive them. That split is deliberate — "women receive smaller bonuses" and "women receive no bonuses" are different findings, and averaging the non-recipients' zeros into the gap would hide the second one behind the first. Both sections are anonymity-gated on the same threshold as the rest of the report. A quartile band with fewer people than the threshold is shown as protected; the variable-pay gap is withheld when too few recipients of one gender would make it identifying, while the receiving proportions still show, since those describe each gender's whole population rather than a handful of recipients.

**Basic and variable pay per category of workers (Article 9(1)(g)).** After the main table, the report shows for each group the gender pay gap in **basic pay** and in **variable or complementary components** (bonus, commission and the like) separately, each as a mean and a median. The basic-pay gap is exactly the gap the main table flags on, to one decimal. The variable-pay gap is computed among those in the group who actually receive variable pay, and the share of women and of men who receive it is shown beside it. The same anonymity rules apply: a group hidden in the main table is hidden here too, the variable-pay gap is shown only when both genders' recipients meet the anonymity threshold, and a share is hidden when it would single out the few who do (or do not) receive variable pay. When exactly one share would be hidden, the smallest group's share is hidden as well, so the hidden one cannot be worked out from the organisation-wide figure. The section is included in the CSV, PDF and PowerPoint exports, frozen in the annual snapshot and shown as material in the joint pay assessment (Article 10(2)(b)). A snapshot created before the section existed displays as before.

**Reference period and pay concept.** Variable and complementary components are counted over the report's reference year: by default the most recent full calendar year, and the chosen year when a year is picked explicitly (the annual snapshot uses its own year). Bonus and commission are that year's recorded amounts divided by 12. Allowances are included as a complementary component (the directive's pay concept) — in the share receiving complementary pay, in the mean and median gap, in the quartiles' total pay and in hourly pay — counted as the average over the year's twelve months of the allowances in force on the 15th of each month. An employee without dated entries keeps their recorded amount. The reference period and the pay concept are saved with the report and in the snapshot. The same reference year and pay concept apply to variable pay per category of workers. The Swedish pay mapping (Overview, Group analysis, Individual analysis) still uses base salary; the "Include variable pay year to date" option adds the current calendar year's bonus/commission so far, divided by 12.

**Pay components (art. 3 and 9).** The directive's pay concept covers basic pay and any other consideration, in cash or in kind. Under Settings › System parameters › **EU pay concept: pay components** you choose for each pay component whether it counts as basic pay, as variable (complementary) pay, or not at all: bonus, commission and other variable pay, one-off payments, allowances, and benefits per category (health, insurance and pension, vehicle, meals, equipment, other). The base salary is always basic pay. The defaults: variable pay, one-off payments and allowances count as variable pay, benefits with a monetary value (health, insurance and pension, vehicle, meals) as variable pay, and equipment and other benefits are not counted. The defaults are assumptions that should be reviewed by a lawyer. The report shows which components were counted as basic pay, as variable pay and not at all, and the snapshot saves the choices, so an archived year shows the pay concept it was calculated on even if the choices change later. Every change is recorded in the audit log with the value before and after. The choices are stored on the same rows as the PAXml pay-code mapping, and a PAXml change does not touch them. While the feature is not switched on for the organisation, the report counts as before (variable pay and allowances as variable pay, no one-off payments or benefits) and says so. Benefits are counted only when the benefits module is on, and benefits without a monetary value are not counted (the report shows how many). How the amounts are calculated: see Concepts and calculations, point 12. The Swedish analysis's pay basis is not affected.

**Hourly pay (preparation).** After variable pay, the report shows hourly pay as a secondary figure marked **Preparation**. It does not replace the annual and monthly figures. Hourly pay is annual pay (basic plus variable, × 12) divided by contracted annual hours: employment rate × full-time weekly hours × 52. Full-time weekly hours come from the employee's legal entity when the entity has its own full-time week (for example 37 hours for a Danish entity), otherwise from the organisation's default, and are 40 when neither is set. Both are set under **Settings › Company settings**: the default on the Organisation tab and an entity's own week when you edit the legal entity (0–60 hours; an empty field means the default applies). Employees without a recorded employment rate are left out, because a guessed full time would invent hours; the report shows how many are covered out of how many (for example 45/50). Mean and median hourly pay by gender and the gap are shown only when both genders with known hours meet the anonymity threshold. Hourly pay is included in the CSV export and saved in the annual snapshot. As long as everyone has the same full-time week, the hourly gap equals the full-time-equivalent gap; it differs when the full-time week varies between legal entities. The text then shows the range used (for example 37–40 h/week) and that the full-time week differs between entities. A collective agreement with a different full-time week is set on the legal entity where the agreement applies.

**Actual hourly pay from contracted hours.** When an employee has a value in **Contracted hours per week** (on the employee record, or the CONTRACTED HOURS / "Avtalade timmar per vecka" import column, 0–60 hours), that person's own hours are used: annual pay ÷ (contracted hours per week × 52). Otherwise the hours are worked out as before: employment rate × the entity's or organisation's full-time week × 52. Anyone with neither is left out. **The label follows the coverage:** when at least **90 %** of the employees in the report have known hours (from either source) the hourly figure is marked **Reported** instead of **Preparation**, and the text describes the actual calculation. Below 90 % it stays a preparation figure, since more than one in ten people is missing. The card shows the coverage in percent, how many have their own contracted hours and the threshold; the same line is in the CSV export and the annual snapshot (an older snapshot keeps its label). The anonymity rules are unchanged: the figures are hidden when either gender has fewer people with known hours than the anonymity threshold, or when 1 to the threshold minus 1 women or men have no hours.

**Excluded from the analysis.** The directive covers all workers, so setting **Include in analysis** to no now needs a **reason**: Not a worker, Left before the reference date, Long-term absence without pay in the period, Incorrect or incomplete data, or Other (Other also needs a comment, at most 500 characters). The reason is picked on the employee record (shown when the box is unticked), in bulk edit (the Exclusion reason and Exclusion comment fields together with Include in analysis = no) and in the import (the EXCLUSION REASON and EXCLUSION NOTE columns; the template has a dropdown with the codes). Without a reason the import stops, and so does the save. Someone already excluded before the rule existed can be saved as before but is shown as "Reason missing". Every change is logged in the audit log with the reason code, never the comment (it may hold sensitive detail). When the person is included again the reason is cleared. When anyone is excluded, the EU report shows a warning with the count per reason (and how many have no reason); the same figures are in the CSV export and frozen in the annual snapshot. The **Show who and why** button lists name, reason and comment, but only for an administrator who may see individual salaries and holds the Employees permission without an access area; others see only the counts. The list can be turned off for the organisation (it is on by default); the reason requirement always applies.

**Danish (and other countries') legal entities.** The report follows the country of the legal entities the employees belong to. Numbers and dates are formatted for that country (for Denmark, for example, 1.234,5 and 28.09.2026), including the decimals in the CSV export, where the delimiter is always a semicolon. A Danish entity sees no references to Swedish law: the page and the CSV instead state that the report is a preparation document and not a statutory filing under Danish law — neither the gender-segregated pay statistics required by Ligelønsloven §5a (from 35 employees) nor a report under the Danish act that is to transpose the directive, which has not been adopted yet. Legal entities in other countries outside Sweden get a neutral text about the EU directive. A Swedish organisation sees the same text as before.

**One currency per report.** Pay in different currencies is never averaged together. If the organisation has employees paid in several currencies (the currency comes from the employee's legal entity, or from a currency set on the employee), the report is built on the organisation's default currency — or on the largest group if nobody is paid in the default — and a warning shows how many employees in other currencies were left out. The currency is also its own row in the CSV export. The same rule applies to the Overview, the classification, Group Insights, Individual Analysis and the annual snapshot.

**How it is calculated.** The report's parts do not all use exactly the same pay concept, and it helps to be able to say which:

- **The per-category table:** full-time-equivalent base salary. Variable pay is not included here, not even when "Include variable pay" is ticked on other pages.
- **Quartiles and hourly pay:** full-time-equivalent total pay (base + variable); hourly pay uses actual contracted hours instead.
- **Variable pay components:** only the variable part, full-time equivalent.

For mean and median separately, the pay gap is (men's pay − women's pay) ÷ men's pay × 100. Example: women on SEK 30,000, 30,000 and 36,000 and men on SEK 33,000, 35,000, 37,000 and 43,000 (full time) give a mean gap of (37,000 − 32,000) ÷ 37,000 = 13.5 % and a median gap of (36,000 − 30,000) ÷ 36,000 = 16.7 %; the category needs a justification. **Needs justification** = at least 5 % in the mean or median gap, unrounded, in either direction: 5.4 % (women 47,300, men 50,000) is marked even though it shows as 95 %, 4.96 % (47,520 against 50,000) is not. **The anonymity threshold** is the organisation's minimum group size, 5 if no value is saved, never below 3, and here it also applies to anyone allowed to see salaries. **Quartiles:** everyone is ranked by total pay and split into four bands as equal as possible, with a remainder in the lowest bands (10 people give 3, 3, 2 and 2). **Variable pay:** example — three women with SEK 1,000, 1,500 and 2,000/month and four men with SEK 1,500, 2,000, 2,500 and 3,000/month give (2,250 − 1,500) ÷ 2,250 = 33.3 %; the gap is shown only when at least the minimum group size of women and of men receive variable pay. **Hourly pay:** SEK 30,000 + 1,000/month at 80 % and 40 hours gives 372,000 ÷ (0.8 × 40 × 52 = 1,664) = SEK 223.56/hour. **Justified:** a flagged category is justified when every employee Individual Analysis flags in it has an objective justification. Every concept, with one shared worked example, is in the article Concepts and calculations.

**Attesting, submitting and distributing the report (Article 9).** Under **Annual report & archive**, for the selected year, there is a card for the EU report's attestation, submission and distribution (right after the joint pay assessment). Step 1: management attests the report — the signer's name, role, date and a statement (a default text is filled in). The attestation is made after consulting the workers' representatives: tick one or more consultations from the consultation log (they must be dated on or before the attestation), or state why there was none. An attestation can never be edited; a change is saved as a new version that replaces the previous one, and earlier versions are kept. If the year's snapshot is regenerated after the attestation, it is marked out of date and must be attested again before the report is submitted. Step 2: record the submission to the authority — date, channel, reference/case number and who submitted it. You are asked to confirm first, because the date becomes the joint pay assessment's submission date and starts the six-month window of Article 10; it can then no longer be changed in the assessment form, only replaced by a corrected submission. Step 3: record each distribution to workers and/or representatives — date, audience and method (intranet, email, meeting, letter, notice board or other). All three steps are written to the organisation's audit log (without the statement text) and stored with the report year. Permission: Admin, or a custom role with write access to Annual report & archive and no restricted access area; read access is enough to see the records.

**Report per legal entity.** When the organisation has two or more legal entities, the **Report for** picker appears in the toolbar: *Whole organisation* or one entity. The report and the PDF and PowerPoint exports follow the choice. Per entity, categories and quartiles that could be worked out by comparing with the organisation-wide report are withheld, so no individual's pay can be derived.

**Attest and submit.** Below the report, the **Attest and submit** box has the same attestation, submission and distribution as Annual report & archive, for this year's report. It needs this year's annual report to be generated; otherwise it says so, with a button to Annual report & archive. The box is shown to roles with access to the annual report.

**Previous reporting years and retention.** Below hourly pay the report shows up to four earlier years — number of categories, flagged without justification, the variable pay gap (mean/median), the mean hourly gap, the share of women per quartile and the number excluded — exactly as frozen in each year's annual snapshot. Nothing is recomputed: a figure that was hidden for anonymity that year shows as a dash, and a year without a frozen EU report says so. The same table is in the CSV export (whole-organisation report only). At the bottom of the page an administrator sees **Retention of personal data**: how long answered pay-transparency requests are kept after the answer (default 36 months) and how long action-plan attachments are kept after upload (default 60 months), 12–120 months. A daily sweep applies the setting. The default mode is **dry run**: the sweep only counts and logs in the audit log what it would delete. Only when an administrator switches to **delete** (with a confirmation) are the requests deleted and the attachment files removed, while a record that the file existed stays. An unanswered request is never deleted. Closed vacancies have their own retention period on the recruitment page.

**Authority format.** The **Authority format** card downloads the art. 9(1)(a)–(g) figures as a structured file, CSV or JSON, with a profile per country: **Sweden**, **Denmark** or **EU baseline**. The profile follows the report's country but can be changed. No country has published the format its monitoring body (art. 29) will accept yet, so the file follows a documented structure: one row per figure with indicator, article, category, quartile, gender, measure, value, unit and status. Status is *disclosed*, *withheld* (for anonymity), *not_applicable* (for example no variable pay) or *unavailable*. The file starts with metadata: employer, country, currency, reference period, and that the official format is pending. The overall gaps (a) and (c) are on gross hourly pay as a preparation figure, the categories (g) on full-time-equivalent monthly pay. The structure can be set per export (columns, headers, delimiter and decimal separator), so it can be adapted once an official format exists. The file is built on the server from the report with the same anonymity rules, and every download is logged. The permission is the same as for the report.

**Publishing mode.** Under **Publishing mode — (a)–(f)** you publish a public summary of the year's frozen annual report. It holds organisation-level figures only, (a)–(f); worker categories (g) and legal entities are never included. **Publish summary** asks first, stores a record (version, who, when, language and a checksum) and downloads the summary as HTML. Novro does not put it on the web: you publish the file on your own website. While it is published it can be downloaded as HTML or PDF. **Unpublish** needs a reason and asks first; the record is stored as a new version and the earlier one stays in the history. Every publish and unpublish is logged in the audit log. It needs the year's annual report and the same permission as attesting the report (Annual report & archive, write, with no Access Area restriction).
