Public holidays, configured once, enforced everywhere that matters.

Build a company-wide public holiday calendar with country and state scoping, recurring patterns, and weekend shifting, then push it into native Global Time Off and broadcast it to every employee with one click.

The problem

HR teams recreate the same public holiday list by hand every January, juggling country- and state-specific dates with no single source of truth. Native Odoo treats each holiday as an isolated calendar entry, so employees still submit leave requests on days the office is closed and planning tools overstate capacity.

The solution

Company Public Holiday (Global Leaves) gives every holiday a draft-to-approved lifecycle, a country/region template library for one-click import, and a broadcast wizard that emails the schedule to staff before it goes live. Approved holidays write straight into native Global Time Off, so Time Off, Attendance and Timesheets pick them up automatically.

Capabilities

Everything a public holiday calendar needs

Every capability below is implemented in the module.

01

Draft-to-approved lifecycle

Every holiday moves through a clear draft, approved and archived workflow with a statusbar, tracked changes and a chatter audit trail, so admins know exactly which holidays are live versus still in preparation.

02

Country and state scoping

Assign each holiday to a country and, where relevant, a specific state or province, so multinational and multi-state companies keep separate holiday sets without cross-contaminating calendars.

03

One-click country import

Pick a country template — complete with fixed-date holiday lines and mandatory-day flags — choose a target year, and import a full draft holiday set in a single wizard action instead of typing dates by hand.

04

Recurring holiday patterns

Mark a holiday one-time, annual, or every N years and set how many future occurrences to generate; approving it creates every future global leave in one pass, so the calendar rebuilds itself instead of a manual redo each January.

05

Weekend shift handling

Choose whether a holiday that lands on a weekend keeps its date or shifts to the nearest, next, or previous working day, so the generated closures always land on the day the business actually treats as off.

06

Company-wide Global Time Off

Approving a holiday writes native, company-wide resource calendar leave records, so Time Off, Attendance, Timesheets and Work Entries all recognize the closed day automatically wherever those apps are installed.

07

Leave conflict prevention

Toggle whether a holiday consumes employee time-off balance and whether it blocks personal leave requests; employees are stopped from booking time off on a day the company is already closed.

08

Email broadcast with preview

Select the upcoming holidays, review a rendered preview of exactly what employees will receive, then send the schedule to every employee with a work email in one action, with each broadcast logged on the holiday's chatter.

09

List and kanban dashboard

A single dashboard lists every holiday with state, mandatory flag, and generated-leave counts, or groups them on a kanban by lifecycle stage, so admins see scope and status for the whole company at a glance.

Workflow

How it works

1

Import or create

Pull a full year from a country template or add a single holiday by hand, with country/state scope and a mandatory-day flag.

2

Set recurrence and shift

Choose annual or custom recurrence, how many years ahead to generate, and how a weekend date should shift.

3

Approve

Approving generates the native, company-wide global leaves for every occurrence and moves the holiday to Approved.

4

Broadcast

Preview the email, then send the holiday schedule to every employee with one click from the same record.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

No. It extends hr_holidays. Approved holidays are written as native, company-wide global leave records, so Time Off keeps working exactly as it does today — you just stop typing each date by hand.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

Company Public Holiday (Global Leaves)

Statutory public holidays configured once from a country template library and broadcast company-wide, keeping Time Off, Attendance, and Timesheets in sync.

Buy on Odoo App Store