An Overview of Fusion Absence Management Part 1
An Overview of Fusion Absence Management Part 1
MANAGEMENT PART 1
Before we start to understand How to create an Absence Plan first try to understand what an
Absence Plan is and why is it required.
In real life Absence Plan holds a different meaning than that of the one meant in Fusion Applications.
In real life Absence Plan for an individual (or for that matter for a Working individual) relates more to
a question which is generally asked by his Manager
What are your Absence Plans?
and he would generally respond stating I will be on leave on so and so dates.
But in context with Fusion Applications an Absence Plan (I feel the naming convention isn’t correct it
should have been called Accrual Plan but that again is incorrect as Absence Plans are even those
which are of qualification and No-Entitlement Type, details about the same in Absence Plan Types
Section) could be imagined as a Bucket.
Yes, I mean a Bucket as we know.
Let’s for time being say an Absence Plan is an Absence Bucket and I call it as a Bucket as it is
supposed to hold:
Leave / Absence Balance
Anything and everything around the Entire Absence Plan surrounds around this single piece of
information usually called ‘Absence Balance’
Different Items related with an Absence Plan and their association with Absence Balance follows:
Absence Plan
A name given to a set of rules / guidelines which define how the absence balance will be assigned
and maintained
Legislation
Geography / Country where this Absence Balance is Maintained. For Example, if we are doing
Absence Plan setup for India Legislation would be India, if we are doing for USA it would be United
States and so on....
Plan Type
An attribute which defines how the Absence Balance would be calculated / paid.
For example:
If Absence / Leave Balance is paid to employees as a result of an event such as childbirth, illness or
injury it is called Qualification Plan Type Absence Plan
Typical Example Being Hospitalization Leave.
If Absence / Leave Balance is paid to employees as a result of accumulation / accrual it is called
Accrual Plan Type Absence Plan
Leaves like Annual Leave, Vacation Leave fall into this category
If Absence / Leave Balance is paid without having any track, then we referred to them as No-
Entitlement Plan Type Absence Plan
Marriage Leave, Compassionate Leave. fall into this category
Plan Term
This is basically the entire time period for which the absence balance has the validity.
For Example
Plan Term: Calendar Year
Start Day: 01
Start Month: 1
Means the Absence Plan will start on 1 day of 1 month (i.e. 1 January) and run till the end of
st st st
Vesting Period
This is the Time Period during which Employees can accrue leave but cannot apply leave
For example, if a Plan starts on 1st January and has a vesting period of 1 month then the first leave
which an employee can take would be a date after 1st February (1st January + 1 month). He would
anyways be allowed to accrue during the entire January Month
Absence Payment Rate Rule
Method to calculate payment during an Absence Period. (a period when employee is absent from
work, but still needs to be paid)
For Example, if a Female Employee is on Maternity Leave for 6 months then at what rate should she
be paid.
Final Disbursement Rate Rule
Method to calculate payment of accruals when plan participation ends (An Employee became a
Contractor from Regular Employee so his eligibility for Annual Leave comes to an end, but he has
already had a positive balance of say 10. Now if the payroll is integrated with absence then
employee needs to be paid for this accrued balance. This rate talks about the same Disbursement
Rate Rule).
Discretionary Disbursement Rate Rule
Method to calculate payment when paying out part of accrual balance (An Employee resigns a
company and he has a notice period of 30 days, he has served 25 days of notice period and he has an
accrual balance of 10 days. Due to some emergency he has to go to his hometown and he seeks
immediate relieving. In this case the company may decide to deduct his 5 days from Accrual balance
and pay for the rest 5 at a discretionary rate).
Liability Rate Rule
Method to calculate cost of accrual balance to determine employer liability (An Employee resigns a
company and he has a notice period of 30 days, he has served 25 days of notice period and he has an
accrual balance of 10 days. Due to some emergency he has to go to his hometown and he seeks
immediate relieving. In this case the company may decide to deduct his 5 days from Accrual balance
and pay for the rest 5 at a discretionary rate and the rest 5 days will be paid at the Liability Rate).
BUSINESS REQUIREMENT
Now since we are aware of some of the most commonly used terms for an absence plans we should
try to create one absence plan. Requirement is to create an Absence Plan with Absence Plan type as
Accrual and Accrual Method as Incremental
We have the following requirement:
Absence Plan Type: Accrual
Accrual Method: Incremental
Accrual UOM: Days
Accrual Values: If Length of Service is < 3 years then Accrue 10 days, have a ceiling of 100 days and
carryover of 50 days.
If Length of Service is < 3 years and Length of Service >= 5 years then Accrue 12 days, ceiling of 120
days and carryover of 60 days
If Length of Service is > 5 then Accrue 15 days, have a ceiling of 150 days and carryover of 75 days
Vesting Period: If Legal Employer is Vision Corporation Then Vesting Period is 90 Calendar Days Else
Vesting Period is 30 Calendar Days
Absence Payment Rate Rule: Provide a Sickness Rate If the Employee is taking a Leave of Type Sick
and Flu else use Hourly Rate
Final Disbursement Rate Rule: If Employee is of Hourly Salaried type use Hourly rate, if he is Regular
Employee provide Annual Salary Rate
Discretionary Disbursement Rate Rule: If Employee is of Hourly Salaried type use Hourly rate, if he is
Regular Employee provide Annual Salary Rate
Liability Rate Rule: If Employee is of Hourly Salaried type use Hourly rate, if he is Regular Employee
provide Annual Salary Rate
We would be using Fast Formula (reasons supporting the same provided alongside) for the following
attributes:
**Accrual Values: This can be achieved using an Accrual Matrix but we would like provide maximum
flexibility and hence Fast Formula
Vesting Period: This requirement can only be achieved using Fast Formula
**Absence Payment Rate Rule: This requirement could have been met using the ‘Rate Definition’
option but for flexibility we have used Fast Formula
**Final Disbursement Rate Rule: This requirement could have been met using the ‘Rate Definition’
option but for flexibility we have used Fast Formula
**Discretionary Disbursement Rate Rule: This requirement could have been met using the ‘Rate
Definition’ option but for flexibility we have used Fast Formula
**Liability Rate Rule: This requirement could have been met using the ‘Rate Definition’ option but
for flexibility we have used Fast Formula
**Note: By Allowing Flexibility we mean in case there are additional complex logic in future then we
can add the Fast Formula Code in the existing FF defined.
Justifications For Using Fast Formulas:
While some might debate that the entire absence plan could well have been setup using standard
setups / configurations (and I do agree to that) but the below are specific reasons for using Fast
Formula here:
A. Allows Flexibility of Adding Custom Logic (If required by customer at a Future Date)
Fast Formulas (Details in a separate article) generally allows us to add conditional logics (IF-ELSE
constructs) and provide a way to customize the seeded solution.
For Example
Say currently we want to have a condition that if
Employee Category is Hourly then use RateCode as ‘Hourly Rate’
Employee Category is Salaried then use RateCode as ‘Salaried’
But after few days customer has changed the requirement and now they even want to ensure
that any Salaried Employee who has been on leave for most of time during the year would
rather be paid in terms of hours worked (typical example being someone on Leave Without
Pay)
IF
Employee Category is Hourly then use RateCode as ‘Hourly Rate’
Else if
Employee Category is Salaried and Employee Payroll Status is Currently on Leave without Pay
then ‘Hourly Rate’ ------ new requirement
Else
Employee Category is Salaried and Employee Payroll Status is Active Payroll Eligible then
‘Salaried’
end if
Now in order to accommodate the new requirement you would need to create a completely new
Absence Plan with new setups and that would have many implications but if we use Fast Formula
this can be achieved by just adding a piece of if-else construct.
In all implementation projects setups needs to be once done in a Development POD (in EBS we
referred them as INSTANCE) , and then the same is migrate to SIT, UAT , PRE-PROD and then
PROD.
You need to create multiple custom fast formula in the system (your POD) in the legislation where
you want to create the absence plan.
Formula Details
Formula Text
/
**********************************************************************************
**
FORMULA NAME: AH Global Absence Plan Duration Formula
FORMULA TYPE: Global Absence Plan Duration
DESCRIPTION: This sample formula returns the duration based on effective date falls on Sunday.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------
XXXXXXX DD-MM-YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--------------------------------------------------------------------------------------------
**********************************************************************************
**/
/*================ FORMULA SECTION BEGIN =======================*/
Formula Text
/*****************************************************************
FORMULA NAME: AH Global Absence Accrual Formula
FORMULA TYPE: Global Absence Accrual
This sample formula applies the Accrual, Ceiling, CarryOver, Proration Factor, Vesting Units, Vesting
UOM, CarryOver Proration and Ceiling Proration
based on Length of Service and Accrual Plan the person enrolled into.
Change History:
Name Date Comments
------------------------------------------------------------------------------------------------------------
XXXXXXX DD-MM-YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
------------------------------------------------------------------------------------------------------------
*****************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_ASG_REL_ORIGINAL_DATE_OF_HIRE is '4712/12/31 00:00:00' (date)
DEFAULT for ANC_ABS_PLN_NAME is 'A'
DEFAULT for ANC_ABS_PLN_PLAN_UOM is 'H'
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_no_of_days=DAYS_BETWEEN(GET_CONTEXT(EFFECTIVE_DATE,'4712/12/31 00:00:00'
(date)),PER_ASG_REL_ORIGINAL_DATE_OF_HIRE)
l_length_of_service=(l_no_of_days/365)
/* check if employee enrolled into this plan or not */
if (ANC_ABS_PLN_NAME='BM_US_ABSENCE_ACCRUAL_PLAN')
then(
if(ANC_ABS_PLN_PLAN_UOM ='H')
then(
if(l_length_of_service <3)
then(
accrual =10
ceiling = 100
carryover=50
prorationFactor=0.25
vestingUnits=40
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
else if ((l_length_of_service =>3) and (l_length_of_service<5))
then (
accrual =12
ceiling = 120
carryover=60
prorationFactor=0.25
vestingUnits=30
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
else if (l_length_of_service =>5)
then (
accrual =15
ceiling = 150
carryover=75
prorationFactor=0.25
vestingUnits=30
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
))
else if (ANC_ABS_PLN_PLAN_UOM ='D')
then(
if (l_length_of_service <3)
then(
accrual =round(10/24,3)
ceiling = round(100/24,3)
carryover=round(50/24,3)
prorationFactor=0.25
vestingUnits=40
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
else if ((l_length_of_service =>3) and (l_length_of_service<5))
then (
accrual =round(12/24,3)
ceiling = round(120/24,3)
carryover=round(60/24,3)
prorationFactor=0.25
vestingUnits=30
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
else if (l_length_of_service =>5)
then (
accrual =round(15/24,3)
ceiling =round(150/24,3)
carryover=round(75/24,3)
prorationFactor=0.25
vestingUnits=30
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
)
else if (ANC_ABS_PLN_PLAN_UOM ='W')
then(
if (l_length_of_service <3)
then(
accrual =round(10/120,3)
ceiling = round(100/120,3)
carryover=round(50/120,3)
prorationFactor=0.25
vestingUnits=40
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
else if ((l_length_of_service =>3) and (l_length_of_service<5))
then (
accrual =round(12/120,3)
ceiling = round(120/120,3)
carryover=round(60/120,3)
prorationFactor=0.25
vestingUnits=30
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
else if (l_length_of_service =>5)
then (
accrual =round(15/120,3)
ceiling =round(150/120,3)
carryover=round(75/120,3)
prorationFactor=0.25
vestingUnits=30
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)))
if (ANC_ABS_PLN_NAME='Sickness')
then(
if(ANC_ABS_PLN_PLAN_UOM ='H')
then(
if(l_length_of_service<3)
then(
accrual =12
ceiling = 120
carryover=60
prorationFactor=0.25
vestingUnits=40
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
else if ((l_length_of_service =>3) and (l_length_of_service<5))
then (
accrual =13
ceiling = 130
carryover=70
prorationFactor=0.25
vestingUnits=30
vestingUOM='C'
carryOverProration=0.25
ceilingProration=0.25
)
Formula Text
/********************************************************************
FORMULA NAME: AH Global Absence Vesting Period Formula
FORMULA TYPE: Global Absence Vesting Period
DESCRIPTION: This sample formula applies the vesting period based on employment category.
If the Employee belongs to a specific Legal Employer (Vision Corporation for this example)
then his Vesting Period (Number of Days after which he is allowed to use his accrued leaves) is 90
Calendar Days for any other Legal Employer it is 30 Days
Change History:
Name Date Comments
-----------------------------------------------------------------------------------------------------------------
XXXXXXX DD-MM-YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
----------------------------------------------------------------------------------------------------------------
********************************************************************/
/*==============DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_ASG_ORG_LEGAL_EMPLOYER_NAME is 'Vision'
/*==============DATABASE ITEM DEFAULTS ENDS======================*/
/*================== FORMULA SECTION BEGIN =======================*/
If (PER_ASG_ORG_LEGAL_EMPLOYER_NAME='Vision Corporation')
then (
vestingUOM = 'C'
vestingUnits=90
)
else(
vestingUOM = 'C'
vestingUnits=30)
/*=================== FORMULA SECTION END =======================*/
return vestingUOM,vestingUnits
/***********************************************************************
FORMULA NAME: AH Global Absence Plan Use Rate Selection Formula 1
FORMULA TYPE: Global Absence Plan Use Rate
DESCRIPTION: This sample formula returns the rate code.
We have defined two different rate codes namely Sickness Rate and Hourly Rate.
If an individual chooses either an Absence Type of Sick or Flu the RateCode is Sickness Rate else its
Hourly Rate.
Change History:
Name Date Comments
---------------------------------------------------------------------------------------------------------------------
XXXXXXX DD-MM-YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--------------------------------------------------------------------------------------------------------------------
***********************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGINS======================*/
DEFAULT for ANC_ABS_TYP_NAME is 'Sick'
DEFAULT for ANC_ABS_RSN_NAME is 'Cough'
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
if ((ANC_ABS_TYP_NAME='Sick’) AND (ANC_ABS_RSN_NAME='Flu'))
then (
rateCode='Sickness Rate'
)
else (
rateCode='Hourly Rate')
/*================ FORMULA SECTION END =======================*/
return rateCode
/***********************************************************************
FORMULA NAME: AH Global Absence Plan Use Rate Formula2
FORMULA TYPE: Global Absence Plan Use Rate
This sample formula returns the Plan Use Rate. If an Individual is Paid on Hourly Basis his RateCode
will be Hourly else, it would be Annual Salary
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------
XXXXXXX DD-MM-YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--------------------------------------------------------------------------------------------
***********************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_ASG_HOURLY_SALARIED_CODE is 'H'
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*=========== FORMULA SECTION BEGIN======================*/
if (PER_ASG_HOURLY_SALARIED_CODE='H')
then (
rateCode='Hourly Rate'
)
else (
rateCode='Annual Salary Rate'
)
/*=========== FORMULA SECTION END======================*/
RETURN rateCode
Screenshots
Setup Steps
a. PLAN ATTRIBUTES
Contains Details about Plan Name, Description, Legislative Data Group, Processing Level,
Conversion Formula Attached (used for Absence Duration calculation)
b. PARTICIPATION
Contains Details about Basic Plan Details, Enrollment and Termination Rules
c. ACCRUALS
Contains Details about Accrual Attributes like Accrual Formulas, Payment Percentage, Accrual
Method, Accrual Frequency.
d. ENTRIES AND BALANCES
Contains Details about Balance Updates, Rates and Payroll Integrations
Login to Fusion Applications -> Click on Navigator -> Click on ‘Setup and Maintainenance’-> In “All
Tasks” Search for “Manage%Absence%Plan”
a. General Attributes
b. Plan Term
d. Descriptive Information (Optional Used for Populating DFF Fields If Created for
Absence Plan. Not Applicable in this example)
Populate the following details in General Attributes Section as shown below:
General Attributes
LABEL VALUE
Plan XX AH Annual Absence Plan IN
Description Annual Absence Plan Created for India
Plan UOM Days
Legislative Data Group IN Legislative Data Group
Status Active
Enable Concurrent Entitlement Unchecked
Processing Level Assignment
Conversion Formula AH Global Absence Plan Duration Formula
Plan Term
LABEL VALUE
Type Calendar Year
Calendar
Start Month 01
Start Day 1
Use the above details and populate the Plan Attributes Tab and the screenshot would look like:
Populate Participation Tab:
a. Enrollment Rules
b. Termination Rules
Enrollment Rules
LABEL VALUE
Enrollment Start Rule As of Event
Waiting Period UOM Calendar Days
Duration 30
Termination Rules
LABEL VALUE
Enrollment End Rule As of Event
On Employment Termination
LABEL VALUE
Positive Accrual Balances Checked
Negative Accrual Balance Checked
On Loss of Plan Eligibility
LABEL VALUE
Disburse Positive Balance Checked
Recover Negative Balance Checked
Use the above details and populate the Participation Tab and the screenshot would look like:
Populate Accruals Tab which consists of Accrual Attributes Section only.
Populate the following details in Accrual Attributes Section as shown below:
Accrual Attributes
LABEL VALUE
Accrual Definition Formula
Accrual Formula AH Global Absence Accrual Formula
Payment Percentage 100%
Accrual Method Incremental
Partial Accrual Period Formula
Use the above details and populate the Accruals Tab and the screenshot would look like:
Populate Entries and Balances Tab.This Tab Consists of 3 Sections which are:
a. Balance Updates
b. Rates
c. Payroll Integration
Rates
LABEL VALUE
Absence Payment Rate Rule Formula
Formula AH Global Absence Plan Use Rate Selection Formula 1
Final Disbursement Rate Rule Formula
Formula AH Global Absence Use Rate Formula2
Discretionary Disbursement Rate Rule Formula
Formula AH Global Absence Plan Use Rate Selection Formula 1
Liability Rate Rule Formula
Formula AH Global Absence Use Rate Formula2
Use the above details and populate the Entries and Balances Tab and the screenshot would look like:
If this check box is not selected (Element field will not show a field value of Annual Leave
rather it will be empty)
Once all the above setup is done Absence Plan Creation is complete.
https://apps2fusion.com/old/oracle-fusion-online-training/fusion-applications/fusion-payroll/1190-
fusion-absence-management-explanation-with-examples