Skip to Content
Author's profile photo Archit Mittal

SAP SuccessFactors Employee Central Time Off – Floating Holidays


Yes, you read that right. This blog is on our all-time favourite topic – HOLIDAYS.

We must have come across different holiday requirements from our client. I came too, which is as follows:

Requirement – Organization has a list of ten full-day holidays. Out of ten, the employee is eligible to take only two. He should not be able to apply on any other day except the list of ten holidays already defined by the organization. Also, these ten holidays should be visible to the employee on the calendar (on Time-off UI) and are not carried forward to next year. (These are generally called as floating holidays / restricted holidays/optional holidays)

Let us first understand what are floating holidays.

Floating holidays are the list of holidays that an employee is entitled to take up to a certain limit. For example., the organization decides a list of ten floating holidays before the start of a new fiscal year and declares it to his employees with a condition that they can avail any two out of ten. The dates for floating holiday changes every year (for eg. a holiday X happens to be on 11th May in the year 2016 and on 19th May in the year 2017).

While using SuccessFactors TimeOff functionality all the predefined leaves including national holidays and weekends are clearly visible on the calendar indicating the name of the national holiday or the non-working days. Employees cannot mark these holidays as their working day (unless your Manager is !). For including floating holidays on the calendar I got to know about SAP that it is not possible to have floating days on the calendar view while the employee is applying for leaves. So while working on leaves I got a workaround which might be useful while configuring floating leaves.

Techie Talks:

Let us first understand the technical perspectives to achieve our goal. Here I have explained the basic steps to be followed:

 Creating a new holiday:

Go to Manage Time Off Structures / Manage Data and on right side of Create New search for Holiday. Write down the name of floating holiday which will appear on the calendar and after finished click on Save. You can create all the floating holidays from here or you can import them using Import and Export Data.

 Assigning Holiday to Holiday Calendar:

Assign holidays that you have created in the first step to your existing or new holiday calendar. But this time instead of using Full or Half in holiday class, choose NONE.

 Creating Time Account Type and Time Type:

Once holiday calendar is created, you have to create a new Time Account Type with all the rules as per the organization’s standard and assign it to Time Type. Below is an example of Time Type I have created:

In this time type, as you can see I have attached a rule under Take Rules which restricts the user to apply for floating holiday other than the designated ones.

Please find below the “CPU” of my blog:

In our example, we have taken 11th August 2017 and 30th August 2017 as the floating holidays. This is now visible on the calendar (UI) highlighted with an asterisk sign on white background. So when the user tried to take leave on 12th September 2017 from Floating holiday account, system threw an error (you can customize the error message as per requirement):

While if he takes this holiday either on 11th August or 30th August, the system does not throw any error and he can apply only for these two days with Floating holiday account.

Hurray!! Now you can go ahead and apply for your leave

I have tried explaining in detail wherever I can. There could be multiple ways to tackle this kind of requirement, I came out of this approach. Still, if you find something not in accordance with the system or something that can be fine-tuned, your inputs are warmly welcomed.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Archit Mittal , Thanks much for explaining the details of the configuration for floating holiday scenario. Appreciate the detailed approach you've taken to decipher the components involved.

      However, i believe with the configuration details you provided above all system will do is to alert employee if they try to apply for particular floating holiday on a day when it's not meant to be taken. I am not sure if we can restrict employee to not apply for more than 2 floating holidays in an year with just this config?? Employee will still be able to apply for more than 2 days of floating leaves out of ten floating leaves. Please correct me if i am missing something..



      Author's profile photo Archit Mittal
      Archit Mittal
      Blog Post Author

      Hey Himanshu, thanks a lot for your appreciation.

      Affan Amir has rightly mentioned in his comment below, the time account has been created for restricting the employees not to take more than the designated amount of leaves.

      Hope you would find this useful.



      Archit Mittal

      Author's profile photo Sneha kalburgi
      Sneha kalburgi

      There is another rule to be wriiten to restrict the employees from taking more than 2 holidays, which you can find in the implementation guide(link below), also instead of creating 'time account type' and 'time type' we can create 'MDF object' for 'Holiday calendar' as per the guide.

      Author's profile photo Former Member
      Former Member

      Nice work around Archit. Very simple and effective.


      @Himanshu, use the time account to generate 2 leaves every year for this time type. This will restrict the users from taking more than 2 leaves in a year.

      I am guessing Archit has created time account for this purpose :).




      Author's profile photo Archit Mittal
      Archit Mittal
      Blog Post Author

      Hi Affan,

      Thank you for the kind words.

      Your guess is perfectly right ;).



      Archit Mittal

      Author's profile photo Former Member
      Former Member

      Excellent blog and very useful.


      Adding to what Former Member said


      One more option what I can think of is, we can have a take rule to check number of times employee has applied for a leave request. This way we can avoid one more accrual rule that runs in the system.




      Author's profile photo Archit Mittal
      Archit Mittal
      Blog Post Author

      Hi Hari,

      Thanks a ton. Hope you would find this useful.

      We would surely try your workaround as well in future for this. Thank you.



      Archit Mittal

      Author's profile photo Former Member
      Former Member

      Hi Archit,

      Wondering if you can help.

      Is there a way to restrict a group of employees from canceling preset leave dates in the system?

      Many Thanks


      Author's profile photo Gopinath B
      Gopinath B

      Nice description




      Author's profile photo vamsi manchu
      vamsi manchu

      Hi Archit,

      Thank you for detailed information.

      Can you please share us Time account type screenshot if possible.

      Thanks & Regards


      Author's profile photo Petra Rana
      Petra Rana

      Thank you Archit!

      Author's profile photo Evangelia Panagiotou
      Evangelia Panagiotou

      Hi Archit! Very nice article and very useful for many customers. The only additional comment I would add, is that we need to most probably further enhance the Take Rules so that the user is not able to request a Time Off which might Contain one of these Floating Holidays. Right now you just control and block in case the Start Date is Equal to the Floating Holiday.

      However, if the employee tries to cheat the system and request an Absence starting from the previous day, the system will let them!



      Author's profile photo Carol Beaulieu
      Carol Beaulieu

      Hi Archit,


      Great description! Thank you for sharing.

      I have a slightly different scenario. Say that a holiday is set to happen on July 1st every year, but this year it happens to fall on a Thursday. The employee would rather work on Thursday and take the holiday on the Friday so he can enjoy a long weekend. It should be registered as such on the timesheet and of course not calculate OT for work done on the Thursday. Is that something that can be configured?

      If so, can we keep a rolling bank of holidays not taken and use them at later time (or not the actual preset date)?

      Thanks in advance