Netherlands Statutory Leave Pack
Dutch holiday accrual, statutory expiry and the five-year limitation - wired into Odoo Time Off
The Dutch Civil Code (Burgerlijk Wetboek) splits paid holiday into two buckets that accrue the same way but expire on completely different timelines - the single most expensive mistake in Dutch HR administration. This rule pack computes both buckets, tracks every deadline, and turns the result into ready-to-approve Odoo Time Off allocations. No external service, no certification: a pure, auditable calculation engine plus the Odoo wiring around it.
What it does
Statutory minimum - art. 7:634 BW
The wettelijke minimum is four times the agreed weekly working time. A five-day week yields 20 statutory days; a four-day week 16; a 38-hour week 152 statutory hours. The pack derives the figure from each employee's working pattern.
Supplementary days - bovenwettelijk
Days granted above the statutory minimum by CAO or contract are tracked as a separate bucket, because they survive far longer than statutory days and may be bought off where statutory days may not.
1-July statutory expiry - art. 7:640a BW
Statutory days expire six months after the end of the accrual year, i.e. on 1 July of the following year. The pack flags entitlements "at risk" and reports exactly how many days will be forfeited and when.
Five-year limitation - art. 7:642 BW
Supplementary days - and statutory days protected by the art. 7:640a exception - are time-barred only after five years, counted from the year end. Both deadlines are computed and stored per entitlement.
Key features
- Pro-rata accrual over the year for new hires and leavers (art. 7:634 lid 2), to the day.
- Month-by-month accrual register - an auditable trail showing how the year's entitlement was built up.
- Statutory-first consumption - taken leave is deducted from the soonest-expiring bucket first to minimise forfeiture.
- Protected-days mode for the art. 7:640a exception (long-term illness / breach of the employer duty of care).
- Remaining bookable balance and the art. 7:641 termination payout, per employee per year.
- Buy-off check (art. 7:640): supplementary only during employment, the full balance on termination.
- One-click Time Off allocations - separate statutory and supplementary allocations, idempotent on re-run.
- Batch generation wizard with carry-forward of the previous year's still-valid balance.
Statutory rules implemented
| Civil Code article | Rule | How the pack applies it |
|---|---|---|
| Art. 7:634 BW | Statutory minimum = 4 × weekly working time | 20 days for a 5-day week; pro-rata accrual over the year |
| Art. 7:640 BW | Statutory days may not be bought off during employment | Buy-off limited to supplementary days until termination |
| Art. 7:640a BW | Statutory days expire 6 months after the accrual year | 1-July deadline computed; "at risk" flag and forfeiture report |
| Art. 7:641 BW | Untaken holiday is paid out on termination | Termination payout in days, both buckets |
| Art. 7:642 BW | Five-year limitation period | 31-December deadline 5 years after the accrual year |
How it fits into Odoo
Install on top of the community Employees and Time Off apps - no Enterprise modules required. A new "Dutch Leave" section under HR lets you generate statutory leave entitlements per employee and year, inspect the monthly accrual and the two expiry timelines, and push the result into draft Time Off allocations your managers approve as usual. Configure the statutory and supplementary leave types, the default weekly pattern and the protected-days option in the Settings page.
Every figure is produced by a framework-free Python engine that is fully covered by automated tests against the published statutory values - no estimates, no black box.
Support
Questions or a CAO-specific configuration? Contact us at support@pokutsoft.com. This module covers the statutory framework of the Dutch Civil Code; sector CAOs may grant more than the minimum, which you model with the supplementary-days input.
Screenshots
Generate Statutory Leave
Statutory Leave
Settings
Update date: 2026-07-02