The Problem
In most payroll implementations, the law defines what you pay. The Estatuto de los Trabajadores sets the minimum wage. The Code du travail defines overtime multipliers. The Belgian CCT establishes vacation entitlements. Straightforward — until you realize that in Spain, France, and Belgium, the collective agreement is not the exception but the rule.
Over 90% of Spanish workers are covered by a convenio colectivo. In France, nearly every employee falls under a convention collective de branche. In Belgium, joint committees (paritaire comités) negotiate sector-wide minimums that override — and typically improve upon — statutory baselines. For payroll, this means the statutory calculation is only the starting point, and the real computation lives in a separate, often industry-specific, rule set that can change independently of legislation.
Key insight: A collective agreement doesn't just change a number — it changes the structure of the calculation. An IT-sector convenio in Spain may reduce sick-pay waiting days from the statutory 3 to 1 (Art. 169 LGSS allows convenio override via Art. 14 ET). A French metallurgy convention may add a seniority supplement that statutory law doesn't even define. The payroll system must model an entire alternative calculation layer, not just a parameter override.
The practical challenge is threefold. First, these agreements define supplements that have no statutory equivalent — seniority bonuses based on tramo tables, distance-based transport allowances, sector-specific vacation pay formulas. Second, they override statutory defaults with sector-specific rules — IT waiting days, overtime thresholds, minimum salary scales. Third, they evolve on their own timeline — a convenio revision published in the BOE in September may be retroactive to January, triggering salary recalculations for eight months.
Traditional payroll systems handle this by hardcoding the most common convenios as "plans" or "templates." This works until a company switches convenio, operates across sectors, or faces a mid-year revision with retroactive effect. At that point, the hardcoded approach collapses under its own rigidity.
How It Works
To understand the implementation challenge, let's examine how collective agreements operate in each country and what they demand from a payroll calculation engine.
Spain: The convenio colectivo system
Spanish collective bargaining operates at two levels: sector-level (convenio sectorial) and company-level (convenio de empresa). Under the 2012 labor reform (Real Decreto-Ley 3/2012, Art. 84 ET), company agreements take priority over sector agreements in key areas including salary, working time, and classification. For payroll, this creates a layered override system:
- IT waiting days (días de espera): The statutory default under Art. 169 LGSS is 3 days before sick pay begins (workers receive no income for days 1–3 of IT). Many convenios reduce this to 1 or 0 days by obliging the employer to pay a complemento de IT from day 1. The payroll must know which waiting-day rule applies.
- Seniority supplement (plus de antigüedad): Art. 25 ET establishes the right to seniority-based pay progression. The convenio defines the actual table — a tramo structure with fixed amounts per years-of-service bracket. For example: 0–2 years = EUR 0, 3–5 years = EUR 60/month, 6–10 years = EUR 120/month, 11–20 years = EUR 180/month, 21+ years = EUR 240/month. The bracket lookup must be automatic based on hire date.
- Transport plus (plus de transporte / plus de distancia): Not statutory at all — purely a convenio creation. Typically a fixed monthly amount (EUR 50–150) or distance-based scale. Tax treatment under Art. 17.1.d) LIRPF requires checking whether the amount exceeds exempt thresholds (Art. 9 RIRPF, EUR 0.26/km up to 9 km/day).
- Vacation pay formula (vacaciones): Art. 38 ET mandates 30 calendar days minimum. The convenio defines how vacation pay is calculated — some include only base salary, others include all regular supplements. The payroll must apply the correct composition formula.
The ConvenioConfig in a Spanish payroll implementation typically includes: IT waiting days (1–3), transport plus amount, vacation composition rules, and a reference to the tramo table for seniority calculations.
France: Conventions collectives de branche
The French system under Art. L2253-1 to L2253-3 Code du travail establishes a strict hierarchy: statutory law → branch convention → company agreement. Branch-level conventions are identified by their IDCC (Identifiant De la Convention Collective) number and published in the Journal Officiel.
Key payroll implications of French conventions collectives:
- Salary minimums by classification: Each convention defines a grille de salaires — a salary grid indexed by job classification (cadre/non-cadre, coefficient, level). These minimums override the SMIC when higher. The payroll must verify that the employee's contractual salary meets or exceeds the applicable convention minimum for their classification.
- Overtime rules: While Art. L3121-36 Code du travail sets the statutory overtime supplement at 25% (first 8 hours) and 50% (beyond), a branch convention may set different rates — typically higher for specific industries. Art. L2253-3 allows branch-level agreements to set a floor that company agreements cannot undercut for overtime.
- Seniority premiums: The prime d'ancienneté is defined entirely by convention — there is no statutory equivalent. Each branch specifies percentage increases (typically 3%–15% of base salary) at defined service thresholds. The Syntec convention (IDCC 1486), for example, grants 5% after 2 years, 10% after 5 years, and 15% after 10 years.
- Sector-specific contributions: Certain branches have additional mandatory contributions (prévoyance cadre, formation professionnelle supplements) that don't exist in statutory law. These must be calculated and reported in the DSN alongside standard cotisations sociales.
Belgium: Joint committees and CCTs
Belgian collective bargaining operates through paritaire comités (joint committees), numbered by sector (e.g., PC 200 for white-collar workers, PC 111 for metal workers). Each joint committee negotiates sector-level CCTs (conventions collectives de travail) that set binding minimums.
- GGMMI validation: The gewaarborgd gemiddeld minimum maandinkomen (guaranteed average minimum monthly income) is the Belgian minimum wage, currently set by CAO nr. 43/16 at EUR 2,070.48/month (2026 after indexation). For part-time workers, validation requires proportional calculation based on contractual hours vs. full-time equivalent — a payroll must reject any salary below this floor adjusted for working time fraction.
- Sector minimums: Beyond GGMMI, each joint committee defines its own barema — salary scales by function classification and seniority. PC 200 scales, for example, define minimums per category (A through D) and experience years. These are typically higher than GGMMI and must be validated independently.
- End-of-year premium (eindejaarspremie): Many joint committees mandate a 13th-month payment or equivalent. The calculation formula varies by sector — some are 100% of December salary, others pro-rate based on service months, and some exclude certain supplements. The payroll must apply the correct sector formula.
- Eco-cheques and meal vouchers: Sector-level CCTs define entitlements to eco-cheques and meal voucher employer contributions. These have specific social security exemption conditions (Art. 19bis AR 28/11/1969) that depend on the CCT establishing them correctly.
Where It Gets Tricky
Mid-year convenio revision with retroactive effect
The most disruptive scenario in Spanish payroll: a convenio revision published in the BOE in August with economic effects retroactive to January 1st. This happens routinely — the convenio estatal de consultorías, for example, frequently publishes salary table revisions 6–8 months into the year with full retroactivity.
The payroll consequences cascade:
- Base salary for January–July must be recalculated against the new salary tables
- All percentage-based supplements (seniority, nocturnidad, etc.) must be recalculated on the new base
- IRPF regularization must account for the higher annual projection
- Social security bases (bases de cotización) for all affected months must be verified against new minimums and maximums
- The retroactive differential (atrasos) is paid in the current period but must be correctly attributed to each original month for social security purposes
This isn't a simple delta. The retroactive salary increase changes the IRPF type (porcentaje de retención) going forward because the annual projected income is now higher. The regularization formula under Art. 85–89 RIRPF must be re-applied with the corrected annual projection. And if the employee crossed a social security ceiling in any of the retroactive months, the contributions must be capped per-month according to Art. 19 LGSS.
Seniority threshold crossing mid-period
An employee hired on June 15, 2021 crosses the 5-year seniority threshold on June 15, 2026. The tramo table grants EUR 120/month for the 3–5 year bracket and EUR 180/month for the 6–10 year bracket. In June 2026, which rate applies?
The answer depends on the convenio: some specify that the higher bracket applies from the month of crossing (full-month rule), others prorate the month (day-exact rule), and others apply it from the first day of the following month. A payroll system that doesn't support time-segmented seniority calculations will either overpay or underpay every employee who crosses a threshold mid-period.
Higher-of comparison: convenio minimum vs. individual salary
French and Belgian labor law both establish the principio de norma más favorable — the most favorable rule applies to the worker. When an employee's individual salary exceeds the convention minimum, the individual salary governs. But "salary" isn't a single number when supplements are involved.
The comparison must be structured correctly: is the transport plus part of "salary" for purposes of the minimum comparison? In France, the Cour de cassation (Soc., 4 février 2009, n° 07-41.505) established that the comparison is made on total remuneration for the same working time. But different conventions define "remuneration" differently for this purpose — some exclude variable premiums, others include them. The payroll must know which comparison formula applies per convention.
Multiple active agreements
Under the 2012 Spanish reform, a company may have both a sector convenio and a company convenio simultaneously active. Art. 84.2 ET defines which subjects are governed by which level. Salary structure is governed by the company agreement (if one exists), but certain minimum protections in the sector agreement cannot be undercut.
In practice, this means the payroll must maintain two parallel reference tables and apply a complex precedence logic: company agreement prevails for salary, overtime, and classification; sector agreement prevails for minimum annual vacation (if higher than company agreement), occupational risk supplements, and geographic mobility compensation. A single employee's payslip may draw rules from both agreements simultaneously.
Belgian index-linked escalator clauses
Belgian collective agreements include automatic salary indexation tied to the health index (gezondheidsindex). When the index pivot is crossed, all salaries under that joint committee must be adjusted — typically 2% per crossing. The timing of crossing is unpredictable (dependent on CPI), and the effect is retroactive to the month of crossing. A payroll system must monitor index publications and trigger mass recalculations when a crossing occurs mid-period.
How PE Solves It
Payroll Engine's architecture addresses collective agreements through four design principles that map directly to the layered nature of labor law.
1. Industry regulation layer in the composable stack
PE's regulation model is composable: country → industry → company. Each layer is a separate regulation definition that can override, extend, or supplement the layer below. A Spanish convenio is modeled as an industry-level regulation that sits between the country regulation (ES.Nomina) and the company-specific configuration.
This means a convenio regulation can:
- Override country-level default parameters (IT waiting days 3 → 1)
- Add new wage types that don't exist at country level (plus de antigüedad, plus de transporte)
- Replace calculation logic for specific wage types (vacation pay composition)
- Define its own data regulations with sector-specific lookup tables
The key architectural decision: the industry layer inherits all calculations from the country layer by default. Only the elements that differ need to be defined. A convenio regulation for the IT sector might contain only 5–10 overrides out of the 200+ wage types defined at country level.
2. Lookup tables for convenio parameters
Tramo tables, salary grids, and supplement amounts are modeled as PE lookups with validFrom versioning. When a convenio revision publishes new salary tables effective January 1st (but published in August), the lookup receives a new version with validFrom: 2026-01-01. All calculations automatically resolve to the correct table for any given period — past, present, or future.
Seniority calculations use threshold lookups: the tramo table maps years-of-service ranges to supplement amounts. The lookup key is the employee's years of service (calculated from hire date), and the resolution is automatic — including time-segmented scenarios where a threshold is crossed mid-period.
| Parameter type | PE modeling | Example |
|---|---|---|
| Seniority brackets | Threshold lookup (years → amount) | Tramo antigüedad: 0→0, 3→60, 6→120, 11→180 |
| Salary grid | Two-key lookup (category × level) | FR Syntec coefficient 95 = EUR 1,780/month |
| IT waiting days | Simple parameter lookup | ConvenioConfig.ITEspera = 1 |
| Transport plus | Range lookup (km → amount) | 0–5km→0, 5–15km→60, 15–30km→100, 30+→150 |
| Index pivot | Data regulation with validFrom | BE gezondheidsindex pivot 2026 = 131.38 |
3. Override keys for convenio-level defaults
PE's override mechanism allows an industry regulation to replace specific parameters without duplicating the entire calculation chain. An override key targets a specific wage type attribute — calculation formula, parameter reference, or threshold value — and substitutes the industry-level version for the country-level default.
For the IT waiting days example: the country regulation defines a wage type for sick pay complement (complemento IT) that references a parameter ITEsperaDias = 3. The convenio regulation overrides this single parameter to ITEsperaDias = 1. The entire sick pay calculation chain — daily base, complement percentage, calendar day counting — remains inherited from the country layer unchanged. Only the waiting-day gate is modified.
This override architecture ensures that when statutory law changes (e.g., a new IRPF formula under Art. 85 RIRPF), the update to the country regulation automatically propagates through all convenio layers. Convenio-specific overrides are preserved; everything else updates automatically.
4. Time-segmented seniority calculations
Seniority supplements in PE are calculated with full time-segmentation support. When an employee crosses a tramo threshold mid-period, the wage type automatically segments the month into two sub-periods: days at the old bracket and days at the new bracket.
For the June 15th threshold crossing example: if the 3–5 year bracket pays EUR 120/month and the 6–10 year bracket pays EUR 180/month, June is segmented as 14 days at EUR 120 (prorated: EUR 56) + 16 days at EUR 180 (prorated: EUR 96) = EUR 152 total. This happens automatically through PE's period-value arithmetic — no special handling is needed in the convenio regulation definition.
The same time-segmentation handles retroactive convenio revisions. When a new salary table is published with retroactive effect, the validFrom on the lookup triggers re-resolution of all affected periods. The retro architecture (delta calculations, period-parametrized re-runs) applies identically — the system computes what the correct pay was versus what was actually paid, and flows the difference into the current period.
Test Case References
The following integration tests validate the collective agreement scenarios described in this article:
| Test | Country | Scenario |
|---|---|---|
WT-TC1075-ES-ConvenioITEspera |
ES | Convenio IT waiting days override: statutory 3 days reduced to 1 day, employer complement from day 1 |
WT-TC1310-ES-PlusAntiguedadAuto |
ES | Automatic seniority supplement from tramo table: bracket lookup by years of service, time-segmented threshold crossing |
These integration tests run against a live Payroll Engine backend with the industry regulation layer active. They verify both the override mechanics (convenio parameters superseding country defaults) and the time-segmented calculations (threshold crossings producing correct prorated amounts).
The test architecture validates the full composable stack: country regulation provides the base calculation, industry regulation injects convenio-specific parameters, and the test asserts that the final payslip reflects the sector-specific rules rather than statutory defaults. Each test includes both the "with convenio" and "without convenio" assertion to confirm that the override is active and correctly scoped.
See how PE handles this
Explore the full industry regulation layer — composable convenio modeling, automatic seniority calculations, and retroactive agreement revisions across ES, FR, and BE.
Request a Demo →
Spain
France
Belgium