Accrual forecast

Computes and maintains accrual forecasts for employees based on their employment terms and time-off policies.

How it works

The accrual forecast job runs daily and performs the following:

  1. Identifies employees who need forecast computation (new hires, policy changes, or forecasts nearing expiration)
  2. Computes forecasts based on configured accrual plugins in the employee’s time-off policies
  3. Stores forecasts for future materialization into actual time account events

Forecasts are projections of when and how much time-off will be accrued. They are not actual balance changes — those are created by the Accrual materialize job.

When forecasts are computed

The job automatically computes forecasts when:

  • An employee has no existing forecast
  • The existing forecast’s horizon is about to expire (less than a year remaining)
  • Employment terms or time-off policies have changed

Manual run options

When triggering this job manually, you can customize its behavior:

OptionDescription
Force RecomputeWhen enabled, ignores existing forecasts and recomputes from scratch for all employees. Use this after making changes to accrual plugins or policies.

Run date behavior

The run date determines:

  • Which employees are considered “active” (employments ending before the run date are excluded)
  • The starting point for forecast computation

Backfilling past periods

To generate forecasts for historical periods:

  1. Trigger the job manually
  2. Set the run date to the desired historical date
  3. Enable Force Recompute to replace any existing forecasts

This is useful when:

  • Onboarding employees mid-year who need retroactive accruals
  • Correcting misconfigured policies
  • Setting up the system with historical data

Job results

MetricDescription
computedNumber of forecasts successfully computed
skippedNumber of employees with up-to-date forecasts (no work needed)
errorsNumber of failures during computation
processedTotal employees evaluated

Troubleshooting

IssueSolution
Forecast not createdVerify the employee has an active employment with terms linked to a time-off policy
Wrong accrual amountsCheck the accrual plugin configuration in the time-off policy
Forecast shows old valuesRun with Force Recompute enabled to regenerate