Migrating to Absences in Days

This article will explain the steps you will need to take to migrate an existing absence balance and the related absence types from hours to the new absences in days feature

Premium Plan

Important Notice:

If you feel like after reading this entire article once, you are not certain about all these steps please do not start the migration, and instead reach out to our support team directly to plan some time to go through all the required steps with you in person.

We are aware that this is a great new feature, but also requires an accurate migration to ensure your absence data stays correct.

We are happy to help you in person to ensure you understand the migration steps well!

Enjoy planning absences in days! 


The following information is based on the example of an existing customer having used absences in hours to do their vacation planning. We will show you how you can migrate over to doing your absences in days from now on. The example vacation is used due to the fact that every employee has an annual balance as well as an absence type that can be requested for their vacation needs, and therefore displays a full migration.



Migrating Absence Balances & Absence Types 

Due to the fact that we want to move over employees to the new absences in day feature, we first have to determine which accrual balance(s) and correlating absence type(s) we want to convert into days for the future. For the selected balance(s) and absence type(s) follow the steps described below. 

Go to your Absence Settings in Shiftbase.

  • Rename your existing Absence Balance and label it with a name indicating hours.

  • Rename the correlating existing Absence Types and label it with something indicating hours

  • Generate a new Absence Balance by clicking on "Add balance", name it and select days for "this balance is set in" and set your default accrual rate over the calculator.

  • Create a new Absence Type in days to replace your old absence type in hours for the future, by clicking Add type. The absence type should be equivalently configured to the absence type in hours you are looking to replace, only for the option This type is set in you should now select days instead of hours. 

After that, you will need to select the absence policies you are currently using for specific contract types, which you would like to turn into absence policies supporting absence balance(s) and absence type(s) in days. 

  • Rename the existing Absence Policies indicating those to be the old hour policies

  • Add a new absence policy for each old absence policy you want to convert to using absences in days, by clicking "Add policy"

  • The Policy details in the new absence policy should be equivalent to the old absence policy details
  • In the Policy configuration, activate all absence types that should stay the old hourly absence types, as in the previous absence policy that we are replacing. And activate the new absence type in day that you want to include in this policy.
  • For each absence type you are activating, you will now be asked 3 things:
    • Which Balance(s) if any this absence type should consume. For our new vacation absence types in days, we select the newly created Time off balance in days
    • Absence autofill: configures how you want to determine which days are to be taken off by the absence type. In our fixed employee example, we will use "Contract"
    • Absence conversion: configures how the system will allocate hours to this absence type, in our fixed employee example we will use "Contract"
  • This is how this can look like after doing so. You see which absence types are active, which are attached to a balance and on the right you also see if it's an absence type in days or hours:
  • Once you have activated all absence types that should be included in this new absence policy and determined their balance(s), autofill and conversion methodology, you are done with configuring your new absence policy.  

Once you have configured all your new absence policies, it is time to generate the new contract types.

Generating new Contract Types to migrate specific employees

Go to your employee's settings page and select contract types.

  • First select the contract types that you want to migrate to absences in days and rename them to indicate that those are the old hourly contract types.

  • Now you can generate the new contract types with the same name as the previously renamed contract type and configure it the same way as the existing contract type but select the newly created Absence policy for the specific contract in question. 

The rest of the contract type configuration should be equivalent to the old contract type that we are reproducing.

Once you have done this with all the contract types you want to migrate, we can continue with migrating our employees

Migrating our existing employees to Absences in Days

Note: If an employee has varying daily work hours in their contract (e.g., 8.5 hours from Monday to Thursday and 6 hours on Friday) and their contract started this year, you may need to update the contract. Change it to the new type with the correct absence policy in days, and convert their used vacation hours into days. The system will then calculate the correct number of days based on their average daily hours.
If the employee with different daily hours in their contract started in the previous year or earlier, you should consider migrating them as of January 1, 2023, this year.

Once you understood the singular migration - you could use our feature Bulk Action: Change Contract to execute these changes faster. 

Go to your employee menu and select the first employee you want to migrate, by clicking on their name.

Decide at which date you want to make the switch from absences in hours to absences in days. In this example, we have chosen to switch on September 1st, 2023. 

  • Go to your employee's contract menu and edit the existing contract
  • End the contract the day before you want to start using absences in days. In our example this would be August 31st, 2023.
  • Add a new contract with the starting date September 1st, 2023, select the new contract type we previously configured. 
    • At the bottom you now see the new absence balance, enter the correct accrual rate for this employee in the absence balance included in the contract, or just click the orange recalculate button if you want to use the default accrual configured for this absence balance. 
    • Also set the accrual rate for the old absence balance to 0.
    • click "Save".

Once this is done, we can continue with correcting the new absence balance.

Migrating future absence types and ending balance to days

Note: This step is only needed if you actually have approved absences that we want to migrate after your selected migration date. 

If you are choosing to do this migration as per the new calendar year for example and your employees have not started requesting absences for the new year yet, you do not have to migrate any absence days to the new type. 

Due to the contract changes your employees will only be able to request the new absence type as of the new contract date. 

  • Go to your employees' absence menu. You now should already see an absence balance in hours and the same new one in days - the values are not correct yet.

  • Start by editing all absence types you want to move over to day values that are in the future. So everything as of September 1st, 2023, and change the old hourly absence type to the newly generated absence type in days. 

  • Once you have done this, you can select "Add correction"
  • As Date select September 1st, 2023 select the old hourly absence balance. As action, select move to the new absence balance in days.
  • Select "Set balance to zero"
  • The system will now show you how it would suggest converting the balance on the given date from hours to days. If you agree with the proposed value, you can save the correction. If you do not agree, you can adjust the hours in a day factor to modify the resulting value of days. 

You have now successfully migrated your employee as of the September 1st, 2023 to absences in days. And as of September 1st, 2023 this employee will only be able to request the new absence types activated in his absence policy that related to his current contract type. 


Let's quickly verify what we see:

In 2023, the employee is able to view both balances in hours as well as the new day balance. The employee also still can see all the taken absences, no matter if they are in hours or days. 

Additionally, the employee also sees the correction that we did. We deducted the remaining hourly balance from the hourly absence balance and added a converted day value to the new absence balance in days. 

We can see that in total in 2023 the employee has taken 96 hours of vacation on the old hourly absence balance. This is for this employee with 8 contract hours per day, an equivalent to 12 days.

Also, the employee has already approved 10 days of vacation of the new day-based absence type "vacation". The new absence balance Time off in days shows an Ending balance of 3 days.

This means in total this employee had this year:

12 days (taken in hours) + 10 days (taken as day absences) + 3 days (remaining vacation days) = 25 days of vacation for the full contract year 2023.


If you are satisfied with this result, you can now continue migrating your next employees. 

Once again, if you feel like you did not fully understand any step in this guide, do not hesitate first reaching out to us before you start the migration process.