Anytime Pay for Salaried Employees
By default, salaried employees can request pay advances for a complete pay period. To provide pay advances as of their request date only, you must perform some configuration.
For example: An employee’s base salary is $4000 per pay period, and they are paid on a bi-weekly basis. Their pay period runs from April 9th to 22nd, and on April 15th, they use the Pay Advance quick action to check their available net. By default, their net would show the full salary up to April 22nd and not as of April 15th.
This involves:
-
Including the salary basis elements in the Estimate On-demand run type as well as any other standard earnings elements you wish to make available for Anytime Pay.
-
Configuring the proration and Absence element formulas.
These steps involve creating copies of and modifying predefined formulas. Any automatic updates to these predefined formulas wouldn't be applied to the formulas you create.
For further info, see the following sections.
Configure the Salary Basis Elements
Configure your salary basis elements to use the Estimate On-demand run type. Do this at the same time you configure the other standard earnings elements.
For further info, see Configure Anytime Pay Run Type Usages for the US in the Help Center.
Configure the Formulas
To enable partial pay period advances, you must configure some proration and Absence element formulas.
Here’s How You Can Configure the Proration Formulas
This is one possible approach. You may want to consider other options such as creating a separate element to calculate the prorated earnings.
Whenever you create a Standard Earnings element, the flow generates several formulas. Some of these formulas are for proration, and you must configure them for Anytime Pay.
For this formula |
This is what you need to do |
---|---|
GLB_EARN_PRORATION_ANYTIME |
Create this formula. See step 1 below. |
US_EARN_MOD_PRORATION |
Create a copy of this predefined US formula, US_EARN_MOD_PRORATION_ANYTIME, and modify it to call your GLB_EARN_PRORATION_ANYTIME formula. See step 2 below. |
<Element name>_EARN_PRORATION |
Modify this formula to call your US_EARN_MOD_PRORATION_ANYTIME formula. See step 3 below. |
<Element name> Earnings |
Modify this formula. See step 4 below. |
See the following for details.
-
Create the GLB_EARN_PRORATION_ANYTIME formula.
-
In My Oracle Support, open document ID 2878355.1. Copy the body of the formula to your clipboard.
-
From My Client Groups, click Show More.
-
Locate and click Fast Formulas.
-
Click Create.
-
In Create Fast Formula, enter the following.
Field name
What you enter
Formula Name
GLB_EARN_PRORATION_ANYTIME
Type
Payroll Run Proration
Description
Provide a meaningful description if needed
Legislative Data Group
To limit access to this formula to a specific legislative data group (LDG), select it here; otherwise, leave blank
Effective Start Date
Select an appropriate start date
-
Click Continue.
-
Paste the formula into the Editor.
-
Click Submit and then Compile.
-
-
Create a copy of the US_EARN_MOD_PRORATION formula, US_EARN_MOD_PRORATION_ANYTIME, and modify it to call GLB_EARN_PRORATION_ANYTIME instead of GLB_EARN_PRORATION.
-
Start the Fast Formulas task.
-
Search for and select US_EARN_MOD_PRORATION.
- In Formula Text, select all and copy.
-
Navigate back to the Search page.
-
Click Create.
-
In Create Fast Formula, enter the following.
Field name
What you enter
Formula Name
US_EARN_MOD_PRORATION_ANYTIME
Type
Payroll Run Proration
Description
Provide a meaningful description if needed
Legislative Data Group
To limit access to this formula to a specific LDG, select it here; otherwise, leave blank
Effective Start Date
Select an appropriate start date
-
Click Continue.
-
In Formula Text, paste in the contents of the US_EARN_MOD_PRORATION formula.
-
Navigate to line 215 of the formula, and replace GLB_EARN_PRORATION with GLB_EARN_PRORATION_ANYTIME.
-
Search for all instances of PAY_INTERNAL_LOG_WRITE in the formula, and replace US_EARN_MOD_PRORATION with US_EARN_MOD_PRORATION_ANYTIME.
-
Click Submit and then Compile.
-
-
Update the <Element name>_EARN_PRORATION formula to call your US_EARN_MOD_PRORATION_ANYTIME formula.
-
Start the Fast Formulas task.
-
Search for your <Element name>_EARN_PRORATION formula.
-
Click Edit then either Correct or Update, depending on when you want to make pay advances available to your employees.
-
Navigate to line 64 of the formula, and replace US_EARN_MOD_PRORATION with US_EARN_MOD_PRORATION_ANYTIME.
-
Click Submit and then Compile.
-
Repeat these steps for every Earnings element formula that:
-
Is associated with an element you assigned to the Estimate On-demand Reg Normal run type usage
For further info, see Configure Anytime Pay Run Type Usages for the US in the Help Center.
-
Is applicable to salaried employees
-
-
-
Update the <Element Name> Earnings formula.
-
Start the Fast Formulas task.
-
Search for your <Element name>_Earnings formula.
-
Click Edit then either Correct or Update.
-
Navigate to line 557 of the formula.
-
Immediately before the
Return
line, insert the following.IF ((prorate_start was not defaulted or prorate_end was not defaulted) and (prorate_start<>PAY_EARN_PERIOD_START or prorate_end <>PAY_EARN_PERIOD_END)) then ( l_log = PAY_INTERNAL_LOG_WRITE('(GLBEARN) This Element have proration, no need to prorate in base formula') ) Else ( IF (PAYROLL_ACTION_RUN_TYPE_SHORTNAME = 'EODNOR') OR (PAYROLL_ACTION_RUN_TYPE_SHORTNAME= 'EODREG') THEN ( l_period_days=DAYS_BETWEEN(PAY_EARN_PERIOD_END,PAY_EARN_PERIOD_START)+1 l_amount=l_value/l_period_days l_pay_days=DAYS_BETWEEN(GET_SYSDATE(),PAY_EARN_PERIOD_START) l_value=TRUNC(l_pay_days)*l_amount ) )
Click Submit and then Compile.
-
Repeat these steps for every Earnings element formula that:
-
Is associated with an element you assigned to the Estimate On-demand Reg Normal run type usage
For further info, see Configure Anytime Pay Run Type Usages for the US in the Help Center.
-
Is applicable to salaried employees
-
-
Here’s How You Can Configure the Absence Element Formulas
If the employee requesting an advance has an absence during the pay period, you may want to include the absence elements in the calculation of their estimated net pay to ensure its accuracy.
To ensure absence entries with effective dates after the request date are ignored, you must limit the absence entries being processed to those with effective dates prior to the request date. This requries editing the formula attached to the absence elements that have the Estimate On-demand Regular run type usage.
-
From My Client Groups, click Show More.
-
Locate and click Fast Formulas.
-
Search for the <element name> Entitlement Results formula.
-
Click Edit then either Correct or Update.
-
Search for the following entry in the formula:
out_creator_id <'l_creator_id' DEFAULT -1 )
Immediately after that entry, insert the following.
l_eff_date =GET_SYSDATE() l_date_earned = GET_CONTEXT(DATE_EARNED, l_eff_date) l_log = PAY_INTERNAL_LOG_WRITE('effective date:'||to_char(l_eff_date)) l_log = PAY_INTERNAL_LOG_WRITE('DATE_EARNED:'||to_char(l_date_earned)) if(l_eff_date =< l_date_earned ) THEN ( pay_value = 0 unit = 0 deduction = 0 net_pay = 0 RETURN unit ,reduce_type , pay_value ,deduction , net_pay , dir_comp_id,dir_card_id , rate,ded_amount_rate,factor )
-
Click Submit and then Compile.
-
Repeat these steps for every Absence element formula that is associated with an element you assigned to the Estimate On-demand Reg Normal run type usage, including indirect elements.
For further info, see Configure Anytime Pay Run Type Usages for the US in the Help Center.