Skip to Content

Spain Statutory Leave

55.65 55.65

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

Spain Statutory Leave Rule Pack

Article 38 of the Workers' Statute, computed inside Odoo Time Off - 30 calendar-day entitlement, accrual, proration, carry-over and termination settlement

Spain Statutory Leave is an add-on rule pack for the Odoo community Time Off engine (hr_holidays). It turns the Spanish legal annual-leave rules into a calculation you can run, store and audit per employee and per year - without any Enterprise payroll module.

Spanish annual leave is set by Article 38 of the Estatuto de los Trabajadores (Royal Legislative Decree 2/2015): paid annual holiday shall in no case be fewer than thirty calendar days (treinta dias naturales), it cannot be replaced by money while the contract lasts, and the worker must know their holiday dates at least two months in advance. This pack encodes those rules and the related Supreme Court and CJEU case law.

What it computes

30 calendar-day entitlement

Full-year entitlement defaults to the Article 38 floor of 30 calendar days. A collective agreement (convenio) may grant more; any value below 30 is automatically raised to the legal minimum, never below.

Accrual (devengo)

Choose daily accrual (entitlement × calendar days worked ÷ days in the year) or monthly accrual (completed months × one twelfth), the two conventions used in Spanish HR practice and by the official settlement calculators.

Mid-year proration

Employees who join or leave during the year, or whose contract is suspended without accrual (excedencia, unpaid leave), get their 30-day entitlement prorated to the calendar days actually worked, as confirmed by the Spanish Supreme Court.

Calendar / working-day view

Leave is legal in calendar days but planned in working days. The pack converts both ways using the conventional ratios quoted in agreements - 30 calendar days = 22 working days on a five-day week, 25 on a six-day week.

Carry-over and expiry

Ordinary unused holiday lapses on 31 December. Holiday that could not be taken because of sickness or maternity carries over for 18 months after the year end, following CJEU C-214/10 (KHS) and C-350/06 (Schultz-Hoff). A convenio carry-over cap is honoured.

Termination settlement (finiquito)

On termination - the only case Article 38 allows holiday to be paid in cash - the wizard values accrued-but-untaken days at the daily wage (annual gross ÷ 365). Over-taken leave is returned as a deduction.

Annual statement

Build a per-year statement, populate one line per employee, and compute the full picture in one click. Booked, validated Time Off is read straight from the Odoo engine and de-duplicated by date range so overlapping bookings are never double-counted.

Figure Unit Basis
Full entitlementCalendar daysArt. 38 floor or convenio, prorated
Accrued to dateCalendar daysDaily or monthly devengo
TakenCalendar daysValidated Time Off bookings, de-duplicated
BalanceCalendar + working daysEntitlement + carried-in − taken
Carry-over / lapsedCalendar daysYear-end split, 18-month rule if protected
Settlement amountCurrencyPending days × daily wage (gross / 365)

Highlights

  • Pure-Python calculation core, fully unit tested - no figure is hard-coded into the ORM.
  • Per-company defaults and reusable named leave policies.
  • Per-employee agreement entitlement, accrual start date and annual gross.
  • Works on Odoo Community: depends only on hr_holidays, no Enterprise payroll.
  • Compatible with Odoo 18.0 and 19.0.

Important note

This module computes Spanish statutory annual-leave figures locally inside Odoo for HR planning and payroll preparation. Default rates and rules carry the current statutory values (Article 38 ET, 30 calendar days, the CJEU 18-month carry-over window). Always confirm the applicable collective agreement and the latest legislation before applying the figures to live payroll.

Screenshots

Spanish Leave Settings

Spanish Leave Settings

Leave Policies

Leave Policies

Termination Settlement

Termination Settlement

Leave Statements

Leave Statements

Update date: 2026-07-02