General Overview of the Time-Off Policy

A time-off policy is a set of rules that defines how time off is accrued, used, and compensated. It may apply for a specific period or indefinitely, and it can differ depending on the employee or the type of contract.

Overview of the Tabs

• Active – this tab displays all policies that are currently in effect. These are the policies the system uses to calculate and grant time off to employees.

• Archive – contains previous versions of policies that were applied in the past. Such policies may have been used for historical periods and can affect past calculations. The system automatically archives a policy when a new one with the same assignment is created.

• Time-off types – this tab lists all time-off types used in the system. We will soon introduce the ability to create custom types, allowing you to tailor the system even more to your needs.

In this version, we will temporarily hide this tab until the ability to add custom time-off types is implemented.

Default Settings

After a company is created, the system automatically generates two basic time-off policies. Their effective period starts from the hire date of the first employee and has no end date.

• Company-wide policy — this is the main default policy. It applies to all employees who do not have an individual policy assigned.

• Freelancers, Partners, One-time workers — this policy is created automatically for specific contract types (freelancers, partners, and one-time workers). Time off is disabled by default here, as standard time-off policies typically do not apply to these roles.

When you create a new Company-wide policy, the system automatically sets an end date for the previous policy and moves it to the Archive tab.
Please note: an active Company-wide policy cannot be deleted — it can only be edited or replaced with a new one.

Custom Policy Settings

You can create custom policies that can be applied to:

• the entire company

• specific contract types

• specific employees

The functionality uses a link to the Contract type specified in the employee’s Contract history section.

The system determines which policy applies to an employee based on the following priority order:

  1. Exact people (employee-specific)
  2. By contract
  3. Company-wide policy

Each policy defines which time-off types are available, how they are accrued, and how they are compensated to employees.

Time-Off Configuration Options

📎 Options is enabled – enables or disables this specific time-off type within the current policy you are configuring.

📎 New employee year balance – the number of time-off days granted at the start of employment. This is used for one-time accruals, for example, in the case of sick leave or similar types. In such cases, the Days accrual parameter is set to “0”.

📎 Calculate working period proportionally – the balance is calculated proportionally to the employee’s start date.

For example, if a policy grants 5 sick-leave days per year and the balance is updated at the beginning of the year, but the employee starts on July 1, they will receive only 2.5 days instead of the full 5 — according to the proportion of the worked period.

Accruals

📎 Days balance:

Manual control – the number of days is set manually using Set balance. The system does not perform automatic accruals or updates — it simply records the specified number of days, which becomes effective from the selected date.

Unlimited – no day limit is applied; the number of days is unlimited. This is typically used for unpaid time-off types, such as Unpaid leave.

Automatic accrual – days are accrued automatically based on the rules defined below.

📎 Days accrual for period – defines how many days are accrued and for which specific period.

• For example, if you set the accrual to 1.5 days per month, the employee will receive 18 days per year. In this case, the system adds a fixed 1.5 days every month, regardless of the number of working days in that month.

Accrual Formula Examples

The formula for calculating accrual based on 1 day of a specific month:

1.5 / number of working days in that month

If you set the accrual to 18 days per year, the system will first determine the total number of working days in the year and then distribute these days across months proportionally to the number of working days in each month.

In this case, the monthly accrual amount will vary depending on the number of working days in each specific month.

The formula for daily accrual throughout the year:

18 / total number of working days in the year

📎 Calculation based on calendar days – when this option is enabled, the system uses calendar days (excluding public holidays) for calculating and tracking vacation accrual. This approach follows the vacation calculation rules defined by the Labor Code of Ukraine.

📎 Take into account the number of paid hours according to the payroll – the system takes into account the actual paid hours from the payroll. Specifically, it calculates the actual FTE based on payroll data and multiplies it by the planned number of days to be accrued for the month.

For example, if the accrual rule is set to 1.5 days per month, and the month includes 160 planned working hours, but the employee has only 80 paid hours in the payroll, their vacation accrual will be 0.75 days instead of the full 1.5.

The system will calculate the actual FTE as 0.5 (80 ÷ 160) and multiply it by the planned monthly accrual (Planned Accrued Days = 1.5).

As a result, the final Accrued Days value will be 0.75.

When this option is enabled, the employee’s day balance will be updated only after the payroll is recalculated.

It’s important to consider the additional logic that applies when this option is enabled:

🔄 Before the payroll is recalculated

If the payroll for the current month has not yet been processed, the system uses the planned FTE to calculate and accrue the corresponding planned number of days and vacation amount.

📊 After the payroll is recalculated

Once the payroll is processed, the system switches to using the actual FTE obtained from the payroll instead of the planned value.

With every Run payroll, the FTE is updated, and therefore the following values are updated as well:

  • the number of accrued days (Accrued days),
  • the accrued amount,
  • the remaining balance at the end of the period.

🚫 If an employee reports no time at all

Their FTE = 0, which means no vacation days will be accrued for that month.

📈 If FTE > 1

For vacation accrual purposes, the system will still treat the maximum as 1.

This ensures that an employee cannot accrue more days than the amount defined for a full FTE (according to the Planned accrued days).

💸 If the option for paying unreported hours is enabled

This does not affect the FTE in the payroll. Even if the employee receives additional pay for missing hours, but the time is not reported, the FTE will remain 0, and therefore no vacation days will be accrued for that month.

📎 Calculate vacation reserve – enables the calculation of the vacation reserve within the policy. You can find detailed instructions here: Vacation Reserve Calculation Guide.

📎 Adjust the balance when days are burned – automatically creates an adjustment entry for the value of burned days to keep the vacation reserve balance accurate.

📎 Reset balance – allows you to automatically reset the vacation balance: at the end of the year, in a specific month, or in the employee’s hire month (in this case, the reset occurs on the first day of that month).

We intentionally did not include an option to update the balance on the exact hire date, because the variation in the number of working days in the first and second half of the month across different years can lead to mathematical discrepancies within the same year.
It’s important to keep in mind that if an employee moves, for example, from freelance to an employment contract in the middle of the year, and your time-off balance reset is configured for December 31, the balance will not be recalculated immediately after the contract type is changed. The balance will only be updated during the next automatic accrual at the end of the year.

📎 Days transferred for the next year – allows you to carry over the remaining days before the reset into the next period. You can specify either a fixed number of days or a percentage of the remaining balance.

📎 Compensated with bonus – if days are not carried over but some of the burned days are compensated as a bonus, this option should be enabled.

📎 Bonus days limit – defines the limit of days that can be compensated with a bonus: either a specific number or a percentage.

📎 Accrual limit – sets a limit on the total number of days that can be accrued. This is relevant for the Automatic accrual type when Reset balance is disabled and helps prevent excessive accumulation of days.

📎 Max days for accrual – the maximum allowable number of accrued days. Any days exceeding this limit are automatically burned — with or without compensation, depending on the settings.

📎 Add burned timeoff days to payroll compensation – enables automatic compensation in payroll for burned days that exceeded the allowed limit.

📎 Show the remaining vacation days until the end of the year – displays in the calculator the projected number of days until the end of the year, or the available balance until the end of the year (if Reset balance is enabled). By default, the system shows the balance as of the current date.

📎 Show accrued time-off days – displays only the days actually accrued up to the current date, both in the calculator and in the employee’s balance.

Examples of configuration combinations that affect how balances are displayed are provided below.

📎 Applying Time-off accrued start date – starts accruing days only from the end date of the trial period (Trial period end date) specified in the employee’s profile.

📎 Transition to a negative balance (debt) – allows an employee to have a negative time-off balance (i.e., go “into minus”). This is useful when the balance is reset and only earned days are displayed.

📎 Debt limit – defines the maximum allowable negative balance (entered as a negative value).

📎 Available after – defines the period after which an employee gains access to using the time off. The value is specified in days or months from the accrual start date.

📎 Calculation method – determines how the system calculates the compensation amount for the time off in the payroll.

FIFO – recommended when you maintain a vacation reserve. Under this method, the employee’s vacation is paid using the amounts they have earned starting from the beginning of their employment.
Salary based – used when you want to compensate time off based on the salary that is active at the moment the time off is taken.
Average (6 months or 12 months) – calculates the payout amount based on the employee’s average daily salary over the last 6 or 12 months.

📎 The minimum period of time off – defines the minimum duration of a time-off request. If set to “minute,” employees will be able to request 1 day, half a day, several hours, or even just a few minutes of time off.

Balance Display

Depending on whether the time-off balance reset is enabled, as well as other parameters defined in the policies, employees may see their balance displayed in different ways. The calculator will also show day accruals differently based on these settings.

Below are examples of the most common configuration combinations and how the balances are displayed accordingly.

Creating a Time-Off Request

In the time-off request widget, the employee will see in the dropdown list only those time-off types that are allowed according to the policy currently assigned to them.

💡 If an employee’s policy is changed (for example, they were a contractor and moved to a freelancer status where vacation is not provided), they will no longer be able to create a time-off request on their own for the remaining vacation balance. However, the remaining balance will still be visible in the Employee time offs widget in their profile.

In this situation, creating a request or adding time off must be done by an HR manager who has the appropriate access rights to this widget.

📌 The compensation calculation formula in this case is:

Remaining earned amount / remaining days × number of days used.

Use Cases

Policy for employees on bench, sabbatical, etc.

For employees who are not involved in projects for an extended period but officially remain with the company, it is common to apply a rule that no vacation days are accrued during this time.

💡 To implement this in the system, you can use one of the following approaches:

🔹 Option 1: Separate contract type + policy with no vacation accrual

Create a dedicated contract type (for example, Bench, Sabbatical):

Add a policy that will apply for the duration of the corresponding contract. In this policy, either disable vacation entirely or set it to manual adjustment — depending on whether you want employees to retain the ability to request their remaining balances:

🔹 Option 2: Contract + accrual based on paid hours (Take into account the number of paid hours according to the payroll)

A separate contract type is also created and assigned to the employees. In the policy, the option Take into account the number of paid hours according to the payroll is enabled.

In this case, the system will accrue vacation days proportionally to the number of reported paid hours in the payroll.

If there is no payment — there is no accrual.

🔹 Option 3: Custom unpaid time-off types (in development)

The system will support the creation of custom unpaid time-off types, during the use of which vacation days will not be accrued. This functionality is currently under development, but it will provide more flexibility for managing special periods when an employee is not actively engaged.

Allowing Freelancers to Report Unpaid Leave

By default, for the contract types Freelancers, Partners, and One-time workers, the system assigns a policy in which all time-off types are disabled. As a result, employees with these contract types do not see the Request leave widget.

If you need to allow them to report unpaid leave, go to the settings of the corresponding policy and enable this time-off type.

After you activate it, the widget will become available.

The role must have the tracking_can_track_timeoffs permission enabled.

Configuring a Policy for Part-Time Employees

If you have employees working 4- or 6-hour days and they are eligible for vacation, you can implement this in one of two ways.

🔹 Option 1: Individual calendar

In the calendar settings section, create a separate calendar for the specific employee or group of employees. In this calendar, you need to specify that the working day duration is not 8 hours but, for example, 4 or 6 hours.

When assigning a calendar to an employee, the system relies on the value in the Country field in their profile. Therefore, it is important to create an individual calendar for a country that does not already have another calendar in the system.If two calendars are created for the same country, the system will not be able to handle the conflict correctly, which may lead to errors.

This setting affects both the employee’s standard working hours in payroll and the duration of one vacation day measured in hours.

For example, if an employee has a 4-hour working day, then 1 vacation day = 4 hours. And even though they, like other employees, may have 20 vacation days per year, in hours this equals only 80 hours instead of 160.

Possible disadvantages of this approach:

1. Data inconsistency in reports — the system operates with the same values in days, but in reality the number of hours is different.

For example: 10 vacation days for Ivan = 80 hours, while for Mykola = only 40 hours. Comparing these values without additional calculations becomes difficult.

2. Issues when switching schedules — if an employee moves from an 8-hour schedule to a 4-hour schedule (or vice versa), the number of vacation days in the system remains the same, but the number of hours changes. This may lead to discrepancies that must be manually adjusted via balance corrections.

3. Using a “dummy” country — to create a separate calendar, you need to select a country that does not already have a calendar in the system. This can be confusing and may complicate future maintenance of the settings.

🔹 Option 2: Using a policy with accrual based on paid hours from payroll (Take into account the number of paid hours according to the payroll)

In this approach, it is recommended to create a separate contract type (e.g., Part-time contractor) and assign a dedicated policy to it with this option enabled.

 Create new ploicy:

Configuring the vacation policy:

Under these conditions, for employees with the Part-time worker contract type, the policy applied during this period will accrue vacation days based on the reported paid hours from payroll.

The standard working time for such an employee in the system remains 8 hours per day. However, if the employee reports only 4 hours per day, the payroll will register 80 hours instead of 160 for the month.

Accordingly, the system will accrue not the full 1.5 vacation days per month (as for full-time employees with 18 days per year), but proportionally — only 0.75 days, based on the actual workload.

The downside of this option is that 1 vacation day for this employee will still equal 8 hours, so they must request each vacation day as a part-day (4 hours) instead.

Current Functional Limitations

Area affected:
Description
Transition from an individual-year policy to a calendar-year policy
When creating future-dated requests (transitioning from an individual-year policy into the period governed by a calendar-year policy), users will only see the current balance from the individual-year policy.
Partial compensation for sick leave
At the moment, partial sick-leave compensation cannot be configured.

Last modified