Time Off Accrual helps to create the Paid Time Off (Vacation) entitlements for users. Check the Overview.


There are four ways to create entitlements:

1) Fixed number of hours, e.g., by payroll period or once per year
    - for groups with different entitlements, you would create their own Time Off Accrual record

2) Calculated number of hours e.g., by payroll period or once per year - via a user-supplied method

3) Calculated based on work hours

4) Manually entering Time Off Entitlement records

5) Direct Import of Entitlement records in the Time Off table



1) Fixed number of hours

The following steps create Time Off records with the record type Entitlement (see manual option below).


a) Create Time Off Accrual

The Time Off Accrual creates Entitlements (select Calculation: Fixed)

  • for a specific number of entitlement hours
  • for a frequency (once, yearly, monthly, weekly)



You would create multiple Time Off Accrual records for users with different entitlements (hours), bonus, etc.



b) Create Time Off Employee records

In the Next step, add the Users/Employees for this Accrual.

You can automatically add resources with a particular Resource Group and/or Type by entering the "For Resource Group" and/or "For Resource Type". If both are entered the resource needs to be in the Group and Type.


Click on the action "Process" and confirm / select the resource group/type and click on "Update Employees".

You can actually, e.g., add multiple resource groups by selecting the individual ones and clicking on "Update Employees".


Manually update the optional start/end date for the resources:

There is no need to select a start / end date unless you want to restrict the timespan.



c) Process Time Off Accrual

Create the Time Off Entitlements by

  • selecting Process Now in the Time Off Accrual
  • scheduling the Apex class TimeOffAccrual

You can start/run the process multiple times, it will not create duplicate records.

Changes (additional Employees, hours, ...) are used in the next run.


In the related list of the Execution, you can view the actual records created.




2) Calculated Number of Hours

You can calculate the number of hours per period by providing a Class "TimeOffAccrualHours".  You then can overwrite the default hours (Entitlement Hours).




3) Calculated based on work hours

You can calculate the time off entitlement based on the hours worked.  In Time Off Accrual, select the calculation of "Worked Hours":

In this example, the entitlement is one hour per 30 hours worked (rounded to two decimals) - i.e. 15 hours worked would result in half an hour.  You can specify minimum (not eligible) hours - e.g., 40 hours worked, 10 hours minimum = 30 hours eligible.   The entitlement hours are calculated via eligible hours * factor.  
The factor for 30h is 1/30=0.033333


The eligible hours are based on Project group and/or Payroll Code.

You could assign projects to e.g. a Project Group "Eligible Workhours" - or assign them to a "Work Hours" Payroll Code.  The time entered for the Project Group/Payroll Code would then be added up for the eligible time.


The calculation of the Eligible Time and Entitlement is done in the "Time Off Details" - via the "Process" action on the Accrual - details: Time Off Details


For (automaticelly) creating the employees - see 1b Create Time Off Employee records above.



4) Manually entering Time Off Entitlement entries

The alternative to creating 

  • Manually Creating Time Off records, selecting the Record Type Entitlement and the Resource
  • Using Salesforce Data Loader or Import Wizard to load the information

The following fields are required

  • Resource/User
  • Type - e.g. 'Vacation'
  • Hours
  • Record Type - 'Entitlement'
  • Effective Date

Manual Entitlement