Time Off

Odoo’s Time Off application serves as a centralized hub for all time-off-related information. This application manages requests, balances, allocations, approvals, and reports.

Users can request time off, and see an overview of their requests and time off balances. Managers can allocate time off to individuals, teams, or the whole company, and approve time off requests.

Detailed reports can be run to see how much time off (and what kinds of time off) are being used, accrual plans can be created, and public holidays can be set.

Note

Be advised, only users with specific access rights can see all aspects of the Time Off application.

All users can access the My Time Off and Overview sections of the Time Off application. All other sections require specific access rights.

To better understand how access rights affect the Time Off application, refer to the New employees document, specifically the section about configuring the work information tab.

Configuration

In order to allocate time off to employees, and for employees to request and use their time off, the various time off types must be configured first, then allocated to employees (if allocation is required).

Time off types

To view the currently configured time off types, navigate to Time Off app ‣ Configuration ‣ Time Off Types. The time off types are presented in a list view.

The Time Off application comes with four pre-configured time off types: Paid Time Off, Sick Time Off, Unpaid, and Compensatory Days. These can be modified to suit business needs or used as-is.

Create time off type

To create a new time off type, navigate to Time Off app ‣ Configuration ‣ Time Off Types. From here, click the New button to reveal a blank time off type form.

Enter the name for the particular type of time off in the blank line at the top of the form, such as Sick Time or Vacation. Then, enter the following information on the form.

Note

The only required fields on the time off type form are the name of the Time Off Type, the Take Time Off In, and the Kind of Time Off. In addition, the Time Off Requests and Allocation Requests sections must be configured.

Time Off Requests section
  • Approval: select what specific kind of approval is required for the time off type. The options are:

    • No Validation: no approvals are required when requesting this type of time off. The time off request is automatically approved.

    • By Time Off Officer: only the specified Time Off Officer, set on this form in the Notified Time Off Officer field, is required to approve the time off request. This option is selected by default.

    • By Employee’s Approver: only the employee’s specified approver for time off, which is set on the Work Information tab on the employee’s form, is required to approve the time off request.

    • By Employee’s Approver and Time Off Officer: both the employee’s specified time off approver and the Time Off Officer are required to approve the time off request.

Allocation Requests section
  • Requires allocation: if the time off must be allocated to employees, select Yes. If the time off can be requested without time off being previously allocated, select No Limit. If No Limit is selected, the following options do not appear on the form.

  • Employee Requests: select Extra Days Requests Allowed if the employee is able to request more time off than was allocated.

    If employees should not be able to make requests for more time off than what was allocated, select the Not Allowed option.

    Example

    Ten days are allocated to the employee for this particular type of time off, and the Extra Days Requests Allowed option is enabled. The employee wants to take a vacation for twelve days. They may submit a request for two additional days, since the Extra Days Requests Allowed option is enabled.

    Important

    It is important to note that requesting additional time off does not guarantee that time off is granted.

  • Approval: select the type of approvals required for the allocation of this particular time off type.

    • Approved by Time Off Officer indicates the Time Off Officer set on this form must approve the allocation.

    • No validation needed indicates that no approvals are required.

Configuration section
  • Notified Time Off Officer: select the person who is notified and responsible for approving requests and allocations for this specific type of time off.

  • Take Time Off in: select the format the time off is requested in from the drop-down menu.

    The options are:

    • Day: if time off can only be requested in full day increments (8 hours).

    • Half Day: if time off can only be requested in half day increments (4 hours).

    • Hours: if the time off can be taken in hourly increments.

  • Deduct Extra Hours: enable this option if the time off request should factor in any extra time accrued by the employee

    Example

    If an employee works two extra hours for the week, and requests five hours of time off, the request would be for three hours, since the two extra worked hours are used first, and deducted from the request.

  • Allow To Attach Supporting Document: enable this option to allow the employee to attach documents to the time off request. This is useful in situations where documentation is required, such as long-term medical leave.

  • Kind of Time Off: select from the drop-down menu the type of time off this is, either Worked Time or Absence. Worked Time indicates that the time off taken counts toward worked time for any type of accrual the employee is working towards, whereas Absence does not count toward any type of accrual.

  • Company: if multiple companies are created in the database, and this time off type only applies to one company, select the company from the drop-down menu. If this field is left blank, the time off type applies to all companies in the database. This field only appears in a multi-company database.

Negative Cap section

Enable the Allow Negative Cap option if employees are able to request more time off than they currently have, allowing a negative balance. If enabled, an Amount in Negative field appears. In this field, enter the maximum amount of negative time allowed, in days.

Example

Sara currently has three days of the time off type Vacation. She is planning a trip that requires five days of time off.

The Vacation time off type has the Allow Negative Cap option enabled, and the Amount in Negative is set to five.

These settings allow Sara to submit a request for five days of the Vacation time off type. If approved, her Vacation time off balance will be negative two (-2) days.

The top half of the time off type form, with all the information filled out for sick time off.
Payroll section

If the time off type should create Work entries in the Payroll application, select the Work Entry Type from the drop-down list.

Timesheets section

Note

The Timesheets section only appears if the user is in developer mode. Refer to the Developer mode (debug mode) document for details on how to access the developer mode.

When an employee takes time off, and is also using timesheets, Odoo creates entries in the Timesheets application for the time off. This section defines how they are entered.

  • Project: select the project that the time off type entries appear in.

  • Task: select the task that appears in the timesheet for this time off type. The default options are: Time Off, Meeting, or Training.

Display Option section
  • Color: select a color to be used in the Time Off application dashboard.

  • Cover Image: select an icon to be used in the Time Off application dashboard.

The lower half of the time off type form, with all the information filled out for sick time off.

Accrual plans

Some time off is earned through an accrual plan, meaning that for every specified amount of time an employee works (hour, day, week, etc), they earn or accrue a specified amount of time off.

Example

If an employee accrues a vacation day for every week they work, they would earn 0.2 vacation days for each hour they work. At the end of a forty hour work week, they would earn one whole vacation day (8 hours).

Create accrual plan

To create a new accrual plan, navigate to Time Off app ‣ Configuration ‣ Accrual Plans. Then, click the New button, which reveals a blank accrual plan form.

Enter the following information on the form:

  • Name: enter the accrual plan name.

  • Accrued Gain Time: select when the employee begins to accrue time off, either At the start of the accrual period or At the end of the accrual period.

  • Carry-Over Time: select when the employee received previously earned time. The options are:

    • At the start of the year: select this if the accrual rolls over on January 1 of the upcoming year.

    • At the allocation date: select this if the accrual rolls over as soon as time is allocated to the employee.

    • Other: select this option if neither of the other two options are applicable. When selected, a Carry-Over Date field appears. Select the date using the two drop-down menus, one for the day and one for the month.

  • Based on worked time: enable this option if time off accrual is determined by the employee’s worked hours. Days not considered as worked time do not contribute to the accrual plan in Odoo.

  • Milestone Transition: this selection determines when employees move up to a new milestone. If they qualify to change milestones in the middle of a pay period, select if the employee changes milestones Immediately or After this accrual’s period (after the current pay period).

    Important

    The Milestone Transition field is only visible after a minimum of two rules have been configured on the accrual plan.

  • Company: using the drop-down menu, select the company the accrual plan applies to. If left blank, the accrual plan can be used for all companies. This field only appears in a multi-company database.

An accrual plan form with all the entries filled out.
Rules

Rules must be created in order for employees to accrue time off from the accrual plan.

To create a new rule, click the New Milestone button in the gray Rules section, and a Create Milestone modal form appears.

Fill out the following fields on the form:

  • Employee accrue: select the parameters for earned time off in this section.

    First, select either Days or Hours for the increment of accrued time using the drop-down menu.

    Next, enter the numerical amount of the selected parameter that is accrued. The numerical format is X.XXXX, so that partial days or hours can also be configured.

    Last, select how often the time is accrued using the drop-down menu. The default options are Hourly, Daily, Weekly, Twice a month, Monthly, Twice a year, and Yearly.

    Depending on which option is selected, additional fields may appear. For example, if Twice a month is selected, two additional fields appear, to specify the two days of each month that the milestone occurs.

  • Cap accrued time: if there is a maximum amount of days the employee can accrue with this plan, enable this option.

    When enabled, two additional fields appear beneath it. Select the type of time period from the drop-down menu, either Days or Hours.

    Then, enter a numerical value in the field to specify the maximum amount of time that can be accrued.

  • Milestone reached: enter the number and value of the time period that must pass before the employee starts to accumulate time off. The first value is numerical; enter a number in the first field.

    Then, select the type of time period using the drop-down menu in the second field. The options are: Days, Months, or Years.

  • Carry over: select how any unused time off is handled. The options are either:

    • None. Accrued time reset to 0: any unused time off is gone.

    • All accrued time carried over: all unused time off is rolled over to the next calendar year.

    • Carry over with a maximum: unused time off is rolled over to the next calendar year, but there is a cap. An Up to field appears if this is selected. Enter the maximum number of Days that can roll over to the following year. Any time off beyond this parameter is lost.

Once the form is completed, click Save & Close to save the form and close the modal, or click Save & New to save the form and create another milestone. Add as many milestones as desired.

A milestone form with all the entries filled out.

Public holidays

To observe public or national holidays, and provide extra days off as holidays to employees, configure the observed public holidays in Odoo.

It is important to configure these days in Odoo, so employees are aware of the days they have off, and do not request time off on days that are already set as a public holiday (non-working days).

Additionally, all public holidays configured in the Time Off app are also reflected in any app that uses working schedules, such as Calendar, Planning, Manufacturing, and more.

Due to Odoo’s integration with other apps that use working schedules, it is considered best practice to ensure all public holidays are configured.

Create public holiday

To create a public holiday, navigate to Time Off app ‣ Configuration ‣ Public Holidays.

All currently configured public holidays appear in a list view.

Click the New button, and a new line appears at the bottom of the list.

Enter the following information on that new line:

  • Name: enter the name of the holiday.

  • Company: if in a multi-company database, the current company populates this field by default. It is not possible to edit this field.

    Note

    The Company field is hidden by default. To view this field, click the two dots in the top-right corner of the list, to the far-right of the column titles, and activate the Company selection from the drop-down menu that appears.

  • Start Date: using the date and time picker, select the date and time that the holiday starts. By default, this field is configured for the current date. The start time is set according to the start time for the company (according to the working schedules). If the user’s computer is set to a different time zone, the start time is adjusted according to the difference in the time zone, compared to the company’s time zone.

  • End Date: using the date and time picker, select the date and time that the holiday ends. By default, this field is configured for the current date, and the time is set to the end time for the company (according to the working schedules). If the user’s computer is set to a different time zone, the start time is adjusted according to the difference in the time zone, compared to the company’s time zone.

    Example

    A company located in San Francisco operates from 9:00 AM - 6:00 PM, with an eight hour work day and one hour lunch break.

    For a user in New York, with a computer time zone set to Eastern Standard Time, a created public holiday displays a start time of 12:00 PM - 9:00 PM, accounting for the three hour time zone difference.

    Similarly, a user located in Los Angeles, with a computer time zone set to Pacific Standard Time, sees a public holiday time as 9:00 AM - 6:00 PM.

  • Working Hours: if the holiday should only apply to employees who have a specific set of working hours, select the working hours from the drop-down menu. If left blank, the holiday applies to all employees.

  • Work Entry Type: if using the Payroll application, this field defines how the work entries for the holiday appear. Select the work entry type from the drop-down menu.

The list of public holidays in the configuration menu.

Mandatory days

Some companies have special days where specific departments, or the entire staff, is required to be present, and time off is not allowed on those specific days.

These types of days are called mandatory days in Odoo. These can be configured to be company-wide, or department specific. When configured, employees in the specified department or company are unable to submit time off requests for these mandatory days.

Create mandatory days

No mandatory days are configured in Odoo by default. To create a mandatory day, navigate to Time Off app ‣ Configuration ‣ Mandatory Days.

Click the New button in the top-left corner, and a blank line appears in the list.

Enter the following information on that new line:

  • Name: enter the name of the mandatory day.

  • Company: if in a multi-company database, this field is visible, and the current company populates this field by default. Using the drop-down menu, select the company the mandatory day is for.

  • Departments: this column is hidden by default. First, click the (optional columns) icon in the top-right corner, next to Colors, and then click the checkbox next to Departments to reveal that column.

    Next, select the desired departments from the drop-down menu. Multiple departments can be selected, and there is no limit to the amount of departments that can be added.

    If this field is left blank, the mandatory day applies to the entire company.

  • Start Date: using the calendar picker, select the date the mandatory day starts.

  • End Date: using the calendar picker, select the date the mandatory day ends. If creating a single mandatory day, the end date should be the same as the start date.

  • Color: if desired, select a color from the available presented options. If no color is desired, select the No color option, represented by a white box with a red line diagonally across it. The selected color appears on the main Time Off application dashboard, in both the calendar and in the legend.

The Mandatory Days section with three configured days.

Overview

To view a color-coded schedule of the user’s time off, and/or of the team managed by them, navigate to Time Off app ‣ Overview. This presents a calendar with the default filter of My Team, in a month view.

To change the time period displayed, click on the Month button to reveal a drop-down menu. Then, select either Day, Week, or Year to present the calendar in that corresponding view.

To navigate forward or backward in time, in the selected increment (Month, Week, etc.), click the ← (left arrow) or → (right arrow) to move either forward or backward in that specified amount of time.

For example, if Month is selected, the arrows adjust the view by one month.

To return to a view containing the current day, click the Today button at any time.

Team members are listed alphabetically on individual lines, and their requested time off, regardless of the status (validated or to approve), is visible on the calendar.

Each employee is color-coded. The employee’s color is selected at random, and does not correspond to the type of time off they requested.

The status of the time off is represented by the color detail of the request, either appearing solid (validated) or striped (to approve).

The number of days or hours requested is written on the request (if there is enough space).

At the bottom of the calendar, in the Total line, a bar graph shows how many people are projected to be out on any given day. The number on each individual bar represents the number of employees out for those highlighted days.

Click on a time off entry to view the details for the specific time off entry. The total number of hours or days are listed, along with the start and end time of the time off. To view the details of the time off request in a modal, click the View button.

Overview of the user's team, with time off requests shown.

Reporting

The reporting feature allows users to view time off for their team, either by employee or type of time off. This allows users to see which employees are taking time off, how much time off they are taking, and what time off types are being used.

Any report can be added to a spreadsheet through the Insert in Spreadsheet button that appears in the top-left of a report. If the Documents application is installed, an option to add the report to a spreadsheet appears. If not, the report can be added to a Dashboard.

By employee

To view a report of employee time off requests, navigate to Time Off app ‣ Reporting ‣ by Employee.

The default report presents the current year’s data in a list view, displaying all the employees in alphabetical order. Each employee’s line is collapsed by default. To expand a line, click anywhere on the line.

The view expands, and has the time off requests organized by time off type. Click anywhere on a time off type line to expand it, and view all the individual time off requests that fall under that type.

The information shown in the list includes: the Employee name, Number of Days off requested, the Start Date, End Date, Status, and Description.

Report of time off, shown by each employee in a list view.

The report can be displayed in other ways, as well. Click the corresponding button option in the top-right corner of the page to view the data in that specific way. The various options are a List (the default view), Graph, Pivot table, or Calendar view.

The various other views highlighted, for the employee time off report.

When a selection has been made, additional options appear for that particular selection. For more detailed information on the reports and their various options, refer to the reporting documentation.

By type

To view a list of all time off, organized by time off type, navigate to Time Off app ‣ Reporting ‣ by Type. This shows all time off requests in a default bar chart.

Hover over a bar to view the Duration (Days) of that specific time off type.

The various time off types, and how many days requested, in a bar chart. Details are highlighted in a red box.

Click on a bar to go to a detailed list view of all the time off requests for that time off type.

Each request is listed, with the following information displayed: the Employee, Number of Days, Request Type, Start Date, End Date, Status, and the Description.

The report can be displayed in other ways, as well. Click the corresponding button option in the top-right corner of the page to view the data in that way. The various options are a Graph (the default view), List, or Pivot table.

When a selection has been made, additional options appear for that particular selection. For more detailed information on the reports, and their various options, refer to the reporting documentation.