Setting up balance cascades

When you set up balance cascades, you define which balances are linked and when units are transferred between them. Balance cascades occur when a balance surpasses its maximum or drops below its minimum. When a balance surpasses its maximum, units are transferred to the "cascade to" balance. When a balance drops below its minimum, units are transferred from the "cascade to" balance.

For example, if an employee accrues personal days beyond the maximum of five, and the personal day balance cascades to the vacation balance, then the sixth personal day that the employee earns cascades to the vacation balance.

Conversely, ff an employee with a vacation balance of five days takes off six days, and the vacation balance cascades to the sick balance, then the sixth day off is taken out of the employee's sick days.

Note: The BALANCE_CASCADES_ENABLED registry parameter must be set to TRUE to enable the processing of balance cascades in the calculation engine.

See Enabling balance cascades.

  1. Select Maintenance > Balances and Accruals > Balances.
  2. Click Edit next to the balance that will trigger the balance cascade.
  3. In the Balance Cascades section, click the new row icon, and specify this information:
    Cascade To
    Select the balance that is linked with the cascade. The selected balance either receives units or transfers units, depending on the Apply When value.
    Calculation Group
    Select the calculation groups that are eligible for this cascade.
    Apply When
    Select the condition that triggers the balance cascade. The balance cascade occurs when the balance is either below the minimum or above the maximum.
    Priority
    Specify any whole number to represent the cascade's priority. This value determines in what precedence priorities are calculated. The lowest value is calculated first.
    Condition
    Specify the full path of the class that implements the com.workbrain.app.ta.db.BalanceCascadeCondition class. The cascade will only occur if this condition is satisfied even if the Apply When condition is satisfied. The field must be left blank if no condition is required.
    Ratio
    Specify the ratio at which the balance cascade occurs. For example, consider a policy stating that an employee's paid sick time should automatically withdraw from their vacation balance if they have run out of paid sick balance. If the ratio of the cascade is set to 1, then for every hour of sick time taken without sufficient paid sick balance, the system will deduct 1 hour from the employee's vacation balance. If the ratio is set to 0.5, then for every extra hour of sick time taken, the system will deduct only 30 minutes from the vacation balance. Most policies use a "1 for 1" ratio.
  4. Click Save.
Note:  If a calculation group has a cascade definition, it will take precedence and override the All Calc Groups behavior. Cascading balances must have the same unit at the time of calculations.