Accrual Balances Maintained By the Payroll Run

If you use Oracle Payroll, you can choose to use a payroll balance to store gross accruals for an accrual plan. You do this by selecting a balance dimension (such as calendar year to date) when you define the accrual plan. The system then automatically generates the balance and other components you require.

Why Use a Payroll Balance?

Some batch processes, such as the US Check Writer, call the accrual formula to calculate PTO accruals for each assignment. If you use such processes, you will benefit from faster batch processing if you set up your accrual plan to use a payroll balance. This reduces the number of calculations the formula has to perform.

How The Balance Is Maintained

image described in text

The payroll balance is maintained by the payroll run. When the payroll run processes an accrual plan element entry, it calls an Oracle Payroll formula associated with the accrual plan element. This formula calls your accrual formula to calculate the gross accrual, passing in the following information:

The accrual formula returns the new gross accrual to an element that feeds the balance.

So normally the formula only has to calculate accruals since the last payroll run, and add this value to the existing payroll balance. However, if the accrual formula finds retrospective absences or other assignment changes that affect entitlement, it recalculates accruals for the whole accrual term. This processing ensures that the employee receives their full accrual entitlement.

Note: You can also force the payroll run to recalculate accruals for the full accrual term by setting the action parameter Reset PTO Accruals to "Y" before running a payroll for a set of assignments. Update the parameter to "N" after processing these assignments to ensure faster processing in your normal run.

Example

Supposing an accrual plan has a ceiling of 10 days, and two days accrual per month. An employee has a net accrual of 10 at the end of May. The June payroll run does not award any new accrual to this employee because the net accrual must not exceed the ceiling. However, in July the employee's manager enters five days vacation in May, retrospectively. The July payroll run recalculates the accrual and updates the gross accrual balance to 14. The net accrual is now nine (14 minus 5).

How To Set Up An Accrual Plan To Use a Balance

If you want the payroll run to maintain an accrual balance, you must use a formula that supports balances. This means that the system can pass the latest accrual balance to the formula, along with the date to start calculating new accruals to add to the balance.

You can use or configure one of the following seeded formulas:

You must also select a balance dimension when you define the accrual plan. The balance dimension controls the period of time over which the balance accumulates before it is reset to zero. Three types of dimension are predefined:

Note: For each type, there are two dimensions. Use the Date Earned dimension (such as _ASG_PTO_DE_YTD) if you selected Date Earned as the PTO Balance Type for your business group. Otherwise use the Date Paid dimension (such as _ASG_PTO_YTD).

See: Business Groups: Selecting a PTO Balance Type

For further information on balance dimensions, see the technical essay: Balances in Oracle Payroll.

Notice that the Oracle Payroll formula, payroll balance, element that feeds the balance, element link, and formula processing and result rules are all generated by the system when you save your accrual plan.

If you want Oracle Payroll to recalculate the accrual balance from the beginning of the accrual term when there are retrospective assignment changes that affect entitlement, you must ensure your accrual formula can track these changes. You enable a trigger for assignment updates, define an event group for the assignment changes you want to track, and ensure your PTO accrual formula references this event group. See: Setting Up PTO Accrual Plans.

Note: The predefined PTO_PAYROLL_BALANCE_CALCULATION formula handles retrospective changes to assignment status.