Intro
Offering a a PTO or sick time policy is a good way to attract a great workforce and can be critical for employer compliance. Managing these policies, however, involves proper accrual rates, PTO usages, capping PTO balances, rollovers, etc. In Zeal, Accrual Policies represent policies that can be accrued by and assigned to workers. These Accrual Policies, when attached to a worker, contain an accrual balance that is automatically tracked and updated by Zeal based on the worker’s shifts as well as their specific Accrual Policy specifications.In this guide
- What an accrual policy is
- How to set up a standard policy
- How to add employees to a policy
- How to track usages that affect the balance (e.g. PTO usage)
- How to handle more complex rules
What is an accrual policy?
An accrual policy is simply a set of rules that define how employees accrue hours for various perks such as PTO or sick leave. The basic rules generally state the rate of accrual and the number of hours that must be worked before that rate is accrued (e.g. an employee earns 5 hours for every 80 hours worked). The policy may also include more complicated rules such as annual caps, wait periods, and rollover rules.Managing a standard PTO policy
Let’s start with a basic accrual policy. We’ll define a PTO policy where employees accrue 5 hours off for every 80 hours worked.Step 1: Create the policy
To create an Accrual Policy, utilize the Create Accrual Policy or POST/accrualPolicy endpoint. The endpoint requires the following body parameters:
companyID: Zeal Company IDpolicy_code: Custom code you must assign for the policy. This is the unique identifier for the policypolicy_type: Type of the accrual policy (accepts: pto, sick_leave, or custom). Note: The accrual policy type has no effects on other parameters other than classification of the accrual policy. Therefore, aptopolicy type does not differ from asick_leavetype other than in classification.
Other parameters:
As mentioned in the Accrual Policy object reference, the POST endpoint accepts other body parameters to further specify the Accrual Policy being created:
Let’s create a PTO policy with an accrual rate of 5 hours for every 80 hours worked. We will set
accrual_rate_hours at 5 and accrual_period_hours to 80.
Create accrual policy
Step 2: Add employees
With the policy created, next we add our employees to the policy. Add/remove employees to accrual policyStep 3: Get accrual balance
We can get the balance of an employee at any time. Get accrual balanceStep 4: Apply accrual usage
When an employee requests off and completes it, we can apply usage, which affects the employee’s balance. Let’s say our employee takes 16 hours off (from their previous balance of 20hrs). Apply accrual usage-
The accrual policy that you are referencing as a path parameter (using policyCode) in this request must have a valid
policy_effective_date. - The employee must already be added to the accrual policy in order for you to assign usage for this employee and under this accrual policy.
-
Zeal finds an employee check for this employee with the reporting period that encapsulates the
start_dateof the usage object.- For example, if an employee check was created for Jim with reporting period January 6th - January 13th and an accrual usage was set with
start_dateJanuary 8th andend_dateJanuary 15th, (Jan 8th-Jan 15th), then Zeal will attach the usage to this check because thestart_datefalls within the reporting period of that check. - If there is no existing check for this employee with a reporting period that encapsulates the
start_date, then you will get an error (No check for given date range)
- For example, if an employee check was created for Jim with reporting period January 6th - January 13th and an accrual usage was set with
-
Usage will also show on the paystub of an existing employee check with a reporting period that encompasses the
start_dateof the usage object. - It is possible for the accrual balance to be negative for an employee, if using usage.
Corrections to Usage
In case you misapplied usage, you can make a similar call to adjust the usage and balance. Let’s say instead of using 16 hours, this worker actually only used 14 hours. You can apply a correction of 2 hours, reducing the employee’s usage within the same date range used above:Handling more complex cases
Many accrual policies have additional rules such as annual caps, waiting periods, and rollovers. Thankfully, Zeal’s system manages these complexities with ease.Setting an annual cap
It’s common to set a cap on the number of hours that can be accrued in one year. If you have such a policy in place, all you have to do is tell Zeal the cap, and the system will stop adding to an employee’s balance once they’ve hit the annual limit. Let’s update our policy with anaccrual_cap set to 100 hours.
Update accrual policy
Setting a waiting period
Many policies define a waiting period, or cliff, that an employee must meet before they can begin accruing hours. This is generally used to prevent new hires from immediately taking time off. Let’s update our policy with aaccrual_waiting_period of 160 hours.
Update accrual policy
Setting rollover rules
Rollover rules define how many hours an employee can keep, or rollover, into the next year. These rules generally set a cap on hours and a date that the rollover happens. On the given date, any hours an employee has accrued above the cap are forfeited. This encourages employees to use their time off for rest and recuperation. Let’s update our policy with arollover_cap of 60 hours and the rollover_date of 01-01 (Jan. 1st).
Update accrual policy
Recap
- An accrual policy is simply a set of rules that define how employees accrue hours for various perks such as PTO or sick leave
- Managing accruals with Zeal generally involves 4 steps: create an accrual policy, add employees to the policy, query for accrual balances, apply usage when employees take time off
- Zeal’s system accounts for complex rules such as annual caps, waiting periods, and rollovers