Creating accruals

  1. Select Maintenance > Balances and Accruals > Accruals > Accrual Setup.
  2. Click Create New Entry.
  3. In the Accrual Setup - Details section, specify this information:
    Name
    Specify the name of the accrual.
    Description
    Specify a brief description of the accrual.
    Apply Every
    Select how often or in what time period the accrual criteria are applied to an employee. For example, an accrual can be applied to an employee every month.
    Apply On Value
    Specify the day on which the accrual is applied within the selected time period. Specify one of these values:
    • L: Applies the accrual on the last day of the time period.
    • F: Applies the accrual on the first day of the time period.
    • 1-31: Applies the accrual on the date of the time period. For example, specifying 5 and selecting Month from the Apply Every drop-down list means the accrual is applied on the 5th of every month.
    Start Date
    Specify the first date the accrual is effective. You can define the accrual as being effective only for a certain time period. This date defines the start of the effective period.
    End Date
    Specify the last date the accrual is effective.
    Consideration Period
    Indicate whether the previous period or current period is considered when determining if the employee is eligible for the accrual. Select one of these values:
    • Prior: The previous period is considered when the accrual details are evaluated (such as "good" or "bad" time codes). This is the default.

      For example, if an accrual is set up to run on the first day of the year, the previous year (from the first day of the previous year to the last day of the previous year) will be considered.

    • Current: The current period is considered when the accrual details are evaluated (such as "good" or "bad" time codes).

      For example, if an accrual is set up to run on the last day of the pay period, the current pay period (from the first day of the current pay period to the last day of the current pay period) will be considered.

      Note: When the Consideration Period is set to Current, an Apply On Value of F (for first) or 1 is not a valid configuration.
  4. Click Save.
  5. In the Accrual Detail section, click the new row icon, and specify this information:
    Priority
    Specify an integer to represent the accrual’s priority, relative to other accruals.

    This value is used to determine the accruals that employees receive in cases where they are eligible for more than one. Accruals with lower priority values take precedence.

    For example, if there were two accruals set up, one with an eligible range of 1-3 years of seniority and a Priority value of 5 and the second accrual with an eligible range of 3-6 years of seniority and a Priority value of 4, an employee with exactly three years of service would receive the accrual with the 3-6 year range.

    Each accrual should have a unique Priority value. If an employee is eligible for two accruals with the same Priority value, the employee is granted the accrual the system processes first.

    Min Seniority Value
    Specify the minimum amount of time an employee must have worked to qualify for the accrual. You can specify a value with up to five decimal places.

    This field sets one condition employees must meet to be eligible for the accrual. Combined with the Max Seniority Value, you can implement accruals where the amount that is accrued each period depends on a “grid” or scale that increases with years of seniority.

    For example, an employee with at least five years of seniority might receive four weeks of vacation. If an employee reaches 10 years of seniority, they qualify for another vacation accrual with a Min Seniority Value of 10 years and then they are entitled to six weeks of vacation.

    The Min Seniority Value is evaluated with a "greater than or equal to" condition. For example, if the value is two years, employees pass the Min Seniority Value condition if they have at least two years of seniority.

    Note: For information on calculating seniority based on the end of the year instead of the accrual date, see the Condition to Apply description below.
    Units
    Select the type of time (days, weeks, months, quarters, or years) that the Min Seniority Value reflects.
    Max Seniority Value
    Specify the maximum seniority value an employee can attain to qualify for the accrual. You can specify a value with up to five decimal places.

    This field sets one condition employees must meet to be eligible for the accrual. Combined with the Min Seniority Value, you can implement accruals where the amount that is accrued each period depends on a “grid” or scale that increases with years of seniority.

    The Max Seniority Value is evaluated with a "less than or equal to" condition. For example, if the value is three years, employees pass the Max Seniority Value condition if they have at most three years of seniority. An employee with 3.00001 years of seniority would not pass the Max Seniority Value condition and would not receive the accrual. 3.00001 years of seniority would fall into a 3-x years range, assuming another accrual was set up for more than three years of seniority.

    Units
    Select the type of time (days, weeks, months, quarters, or years) that the Max Seniority Value reflects.
    Min Good Value
    Optionally, specify the minimum number of "good" time codes an employee must accrue to qualify for the accrual. You can use this value to monitor attendance criteria to determine if an employee qualifies for the accrual.

    For example, you can require that the employee has worked a minimum number of days in the last pay period before they are eligible for the accrual. Employees then earn the accrual by accruing the "good" time codes.

    Good Units
    Optionally, select the type of time (minutes, hours, or days) that the Min Good Value reflects.
    Good Time Codes
    Optionally, select the time codes that are considered "good". Only the specified time codes count towards the Min Good Value. For example, setting the time code to WRK means the employee has to work a certain amount of work time before they receive the accrual.
    Good Function
    Optionally, specify the function that is called to determine an employee's Min Good Value eligibility. The default function is DefaultEntAction, which calls the SumGood interface.
    Max Bad Value
    Optionally, specify the maximum number of "bad" time codes an employee can accrue before they are no longer eligible for the accrual. For example, you can specify that an employee who has taken too many days off sick in the last pay period is no longer eligible for the accrual. Employees then earn the accrual by avoiding the "bad" time codes.
    Bad Units
    Optionally, select the type of time (minutes, hours, or days) that the Max Bad Value reflects.
    Bad Time Codes
    Optionally, select the time codes that are considered "bad". Only the specified time codes count towards the Max Bad Value. For example, setting the time code to SICK means the employee can only take a certain amount of sick days while still being eligible to receive the accrual.
    Bad Function
    Optionally, specify the function that is called to determine an employee's Max Bad Value eligibility. The default function is DefaultEntAction, which calls the SumBad interface.
    Balance Name
    Select the name of the balance that is controlled by the accrual.
    Units to Apply
    Specify the amount that the specified balance increases if an employee meets the accrual conditions. Employee balances are increased according to the schedule that is defined by the Apply Every and Apply On Value fields.

    For example, if the Vacation accrual is allocated two units, when employees meet the accrual criteria, their Vacation balance increases by two days.

    Ratio
    Optionally, specify the custom ratio class. This calculated value gets multiplied by the Units to Apply value to determine the final accrual amount to be awarded to the employee. Unless you are using a custom ratio class, this field can be left blank. When left blank, it will be populated automatically upon submit with the relevant core class (com.workbrain.app.modules.entitlements.DefaultEntAction) and will resolve to 1 (apply the Units to Apply value without any manipulation of the accrual amount).
    If you require the balance that is specified in the Units to Apply field to be multiplied by some other calculated value, specify the custom class.

    See Accruing paid sick based on time worked for details on how an alternative core ratio class is leveraged for such accruals.

    Condition to Apply
    Optionally, specify a custom condition class. This field is used to apply additional conditions before determining if this accrual detail should be applied. Unless you are using a custom condition class, this field can be left blank. When left blank, it will be populated automatically upon submit with the relevant core class (com.workbrain.app.modules.entitlements.DefaultEntAction).

    To prevent accruals from being awarded if an employee's status is inactive, specify com.workbrain.app.modules.entitlements.IsEmployeeActive as the custom condition class. This condition returns true if the employee's current status is active but otherwise returns false. For example, if the employee's EMP_STATUS is set to A (active), the accrual will be granted. If the employee's EMP_STATUS is set to I (inactive), the accrual will not be granted.

    Most policies have varying accrual rates based on an employee's level of seniority within the organization. Some organizations calculate an employee's seniority based not on the actual accrual date, but on the seniority level the employee will have reached by the end of the current year. For example, a policy may state that an employee should move up from 10 hours of vacation per month to 12 hours of vacation per month when they enter the year in which they will end up at five years seniority, even for accrual dates on which their current seniority date is still only four years. In these cases, specify com.workbrain.app.modules.entitlements.EOYEntAction as the custom condition class.

    Figure 1. End-of-year seniority date calculations vs. as-of seniority date calculations
    Action to be Taken
    Optionally, specify a custom class that will perform a custom action when the accrual fires. Unless you are using a custom ratio class, this field can be left blank. When left blank, it will be populated automatically upon submit with the relevant core class (com.workbrain.app.modules.entitlements.DefaultEntAction).
    Max Value
    Optionally, specify a maximum final balance for the employee getting the accrual. The field is used in conjunction with the Action on Max field (see below). For example, consider a policy stating that an employee is to accrue three sick hours per month, but should never have more than 10 hours. In this case, 10 would be specified.
    Action on Max
    Optionally, specify the class name of a custom action. This field determines what happens when the accrual exceeds the value that is defined in the Max Value field (when specified). To top-up the employee's balance to its maximum value, specify the core default action class (com.workbrain.app.modules.entitlements.DefaultEntAction). The core action creates a second balance entry backing out any amount exceeding the specified maximum value. Continuing the preceding example, if an employee's latest accrual of three sick hours puts their final balance at 12, the core class will create a second balance log entry of -2 for the same day, leaving the employee with a final balance equal to 10 (the configured maximum value).

    If a custom action is required, specify its class name instead of the core class name.

    Min Value
    Optionally, specify a minimum final balance for the employee getting the accrual. The field is used in conjunction with the Action on Min field (see below).
    Action on Min
    Optionally, specify the class name of a custom action. This field determines what happens when the accrual falls below the value that is defined in the Min Value field (when specified). To top-up the employee's balance to its minimum value, specify the core default action class (com.workbrain.app.modules.entitlements.DefaultEntAction). The core action creates a second balance entry backing out any amount that falls below the specified minimum value.

    If a custom action is required, specify its class name instead of the core class name.

  6. Click Save.