Skip to main content

Manage Public Holidays

Project description

Beta License: AGPL-3 OCA/hr-holidays Translate me on Weblate Try me on Runbot

This module is a technical module to handle public holidays.

The calculation of each leave can exclude rest public holiday, depending on the leave type configuration.

Table of contents


Go to Leaves -> Configuration and open a Leave Type

  • Check “Exclude Public Holidays” to exclude public holidays.


For adding public holidays:

  1. Go to the menu Leaves > Public Holidays > Public Holidays.
  2. Create your public holidays.

For using public holidays on leaves:

  1. Go to Leaves > Dashboard.
  2. Select dragging on the calendar the days you want to be on leave, or go to the form view for selecting start and end dates.
  3. Select the proper “Leave Type” that has “Exclude Public Holidays” checked.
  4. If no leave type is yet specified, then default configuration is to exclude public holidays.
  5. The number of days will be computed excluding public holidays that match the selected employee, including global, country and state holidays.
  6. If no employee is yet selected, only global holidays will be taken into account.

Known issues / Roadmap

In Odoo 12.0, _leave_intervals() returns Intervals which is a list of tuples (start_timestamp, end_timestamp, resource.calendar.leaves record). Since this module does not operate with resource.calendar.leaves, it’s setting third component of a tuple to a hr.holidays.public.line record. This may or may not be a problem, yet since this component is also being set to resource.calendar.attendance records in _attendance_intervals(), seems it should be ok.

There are no restrictions to block users from modifying or removing calendar events linked to public holidays. There’s a suggestion to overload write and unlink methods of calendar.event, but it might have other impacts like users not being able to edit event tags, or even custom fields.

Regional public holidays are shown in the public calendar. The regions will be noted in the description of the event, but it’ll be shown to all users. It’d be good to have it show only for users in these regions.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.



  • Michael Telahun Makonnen
  • Tecnativa
  • Fekete Mihai (Forest and Biomass Services Romania)
  • Druidoo



This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/hr-holidays project on GitHub.

You are welcome to contribute. To learn how please visit

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for odoo13-addon-hr-holidays-public, version
Filename, size File type Python version Upload date Hashes
Filename, size odoo13_addon_hr_holidays_public- (94.7 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page