Payroll
Processing payroll is a very typical and fundamental
business requirement across enterprises. If we have human resource, we will
have to pay them. This sounds pretty simple. When we have 10 odd employees
working in our firm, and we write checks for them; this can be done with the
help of a spreadsheet and it won’t take a lot of time or resource to get
something of this sort to be done. But let's think about a big enterprise.
Processing payroll for a big enterprise is a gigantic task to do. It takes a
lot of preparation just for the payroll processing and again a lot of post
execution steps to make sure all the data are accurate and stored for further
usage.
Do we
simply write checks? What exactly do we do in the entire payroll process?
We do a
lot of stuff, like calculating an employee's salary, calculating the amount
to be paid per pay period. Determining how to pay, by check or by direct
deposit into a bank? Figuring out if he had worked for the entire period, or
was he on leave; if so, does that entail cutting off some portion of his
salary? OK, Once we know, how much to pay. What next? Taxes, what are his
incomes/ earnings? What should we deduct? Calculating the taxes based on
that, again processing the payroll, getting the checks / direct deposits in
place. After all that we should let our bank know, to debit that salary into
his account. Will have to let my ledger books know; out of which budget, how
much has been given as pay checks. So there are a lot of things.
Imagine
doing all these by ourselves, without any software in place. Won’t we have to
run another enterprise, just to process pay checks for our firm? Yes it might
take those many numbers of people, just to do that job right. We are here to
avoid that. We will use Oracle Payroll for our firm.
Let’s
take two minutes, and imagine Oracle Payroll has been successfully implemented
in our firm. Now we are trying to run our Payroll. For that Processing
portion of it, Oracle payroll, divides the entire payroll
process in to three broad divisions:
A lot of
words here sound like a foreign planet language, don’t they? We will go
through each and every step of it to understand what exactly happens in the
entire course of payroll processing. However we will have to first get Oracle
Payroll Implemented and running.
This chapter talks about:
Learning Outcomes
After
going through this Chapter, you should be able to:
|
Dictionary
Before
getting started, we must know the terms that are going to be used in this
chapter. We must know the processes and taxonomy in order to understand the
basics easily, so here we go.
An element
is the building block of payroll. It is a place holder to contain values, which
will be used for a Payroll processing. The primary usage is to embed a type of
income or deduction into an element, so that the entries can be made on the
Employee's record related to the element. Later with the entries, we can
calculate the payroll.
For an
example, if we were to give Bonus to 5 employees in our organization. We will
create an element for Bonus. The Bonus element can be attached to the 5
employees. While processing Payroll, the Payroll engine will give the bonus,
only if there is the Bonus element attached. So that only the chosen five
employees get the bonus, and others don't.
An element
can be of two types: Recurring and Non-recurring. Recurring are the ones that
are processed for each and every pay period, and the ones that are
paid once in a while are called non-recurring. From the bonus example above,
Bonus is a non-recurring one. So Regular Salary will be a recurring
element and Bonus will be a non Recurring one.
In a real
world, Elements serve a lot of purposes. Like,
- Earnings and Deductions:
Salary, Allowances, Bonus, Loans
- Taxes: State taxes, Country
level taxes
- Benefits: Vacations, Sick pays,
Paid Absences, Pension plans, Employee Stock options, Insurance premiums /
rates
- Supplementary: Mobile Phones,
Computers, Uniforms provided by the company, Expense reimbursements
- Information: Leave adjustments,
Loan Amount, Accruals etc.
Element
links are like qualifiers. They determine if the element is linkable to an
employee or not. So it gives us an extra handle, where we can specify who all
can be eligible to get this element attached. To take our Bonus example
further, if we define a criteria on the Bonus element, so that only those 5
employees can get the Bonus element, then it will be easy for us to maintain.
The Criteria can be defined in the element links. There is a lot to it, rather
just defining criteria, we will learn more about it in Configuration section.
An earning
is a type of element which is as simple as what it means in English. This is a
type of element which actually Debits the amount value attached to
it. For an example, Regular salary/ Bonus will be an earning. In Oracle Payroll
prospective, Earning is a template form. We will learn more about it when we
start configuring Payroll.
This is a
type of element as well; however it credits the amount value. These are used to
deduct some amount from our payroll. For an example, our Medical Insurance
amount (Rate) is a deduction that gets credited from our gross income. Our Tax
amount, Provident fund etc are deductions. To generalize, anything that gets
deducted from your Salary is known as a deduction. This is exactly opposite to
Earnings.
A Balance
is an aggregate of one or more elements that have a numerical value
attached to it. These are created for tracking purpose; to track the aggregated
values with different dimensions.
OK, let’s
discuss that a little more with an example. Let's take an example of Bonus
again. We will create a balance with name BONUS_BAL. We will attach my Bonus
element to it. We would expect the BONUS_BAL to answer the following questions
for me.
- How much Bonus did we pay in
the fiscal year of 2010?
- How much Bonus did we pay in
3rd Quarter of 2010?
- How much Bonus did
Jean receive in her entire length of service?
So these
parameters Fiscal Year, Quarter, Length of service, these are all Dimensions,
based on which we can get a value. If we draw Bonus as X axis, Time in Y axis,
and plot a graph, it will give us a point for the Quarter of 2010, Right? So
the axis here is one dimension. Similarly we can put dimensions of many
types. So bonus is usually a Multi-Dimensional architecture of a collection of
data; where Data being the numbers attached to the elements.
So to
rephrase Balance, we will say, it’s a collection / summation of one or more
elements, which can be used to retrieve data with multiple dimensions.
Why would
we need that? In our pay slip, there is something called as Income Tax
deduction, and something called as YTD (Year To Date) Deduction. Where is that
YTD Deduction coming from? It’s coming from the balance attached to the Income
Tax element, and the dimension we are using is Year to date, that is for the
fiscal year being evaluated. Clear? Nice. This is just a simple example of
balance usages; there are actually a lot of usages of balances, and we will
discuss them while discussing about the Payroll implementation steps.
An employee
gets options related to the way he wants to get paid. Those options can
be:
- Check Payment
- Direct Deposits (Bank Account
credits)
- Garnishments (Third Party
Payments; for an example, a court order to pay $200 every month to someone
/ charity)
- Cash, although paying by cash
is not a very standard practice, few of the countries allow paying your
employees by cash.
Again based
on the localization of the payroll, we need to use automatic money transfer via
a certain Media, like NACHA / BACS / ACB. These are needed for direct deposits.
The other two (Check Payment and Garnishments) are clearly driven through the
checks, however the recipient changes. An employee can also have liberty to
divide his salary in two different accounts.
For an
Example, If Joe has two accounts, one checking and one savings, and then he
might request his salary like this:
- Give me a check for $300.
- Then $500 should go as a
garnishment to pay out my ex-spouse, as per court order.
- Rest of the money should go to
my Savings account.
Here Joe
uses three different payment methods.
Every
enterprise runs on a schedule of payroll frequencies. These are the frequencies
on which the payroll is processed and payments are made. The Frequency again
depends upon the type of payroll a particular employee is on. Examples are:
- Monthly
- Semi-Monthly
- Bi-weekly
- Weekly
So if Joe
is entitled to the Monthly payroll, he will get paid every month. So his
payroll frequency is monthly.
If an
enterprise has three payroll cycles; Monthly, Semi Monthly and weekly; it
means, it has employees who are paid every week / once in a fortnight /
once a month. This also means it will have to process at least one payroll
every week (weekly). Every alternate weeks, it will have to process two
payrolls (one weekly and one semi-monthly), and all three on the last week of the
month. Its not just about the payroll process, the enterprise must process post
processing steps for each one of them.
To
summarize, the payroll processing team of the enterprise will have to repeat a
set of task multiple times for each payroll. To solve problems like this,
Oracle E-Biz uses a methodology called Consolidation set. A set of payrolls can
be combined and grouped together through a consolidation set and different
processes can be run on the consolidation set, rather running it individually on
each payroll. It will pick the payrolls processed between the provided date
range and will execute the rest of the processes for all of them at once.
So payrolls with similar timelines can be clubbed together in a group
called Consolidation set.
The Process
with which the Pay check amounts are segregated among the various
departments and cost centers in any Enterprise is known as
Costing.
Let's take
an example of Mr. Joe, who is working in our enterprise since last 7 years. Now
he is a Project Manager, and his billing (his pay check) should be paid by the
department for which he is working. Similarly Ms. Jean, who is a
contractor, and has been hired to do some market research, should get paid by
the department of Sales.
We know
that after the payroll is run, we are going to send these reports to General
Ledger aka GL, so that the books/accounts are updated accordingly. However how
do we specify, which pay check is paid by which department? There will be
situations where we want the cost to be paid by the Admin cost centre, as the
job was department independent. So to cater all these requirements, we have a
concept called Costing.
We define a
cost allocation flex field just for the same purpose. It will have different
segments where we can attach my cost; like, Project, Product. Cost centre,
Account Code etc. These are highly based on my enterprise hierarchy /
design. With that in hand, we can start assigning costing to the payrolls. We
will also have places where we will be able to override costing. We will learn
more about it while configuring those.
The General
Ledger has a Flex field called: Accounting Flex field. In a best case design,
the accounting Flex field and the cost allocation flex field should match.
However for all cases, we need to map these two flex fields in order to link
the accounts from HR end to the GL end. There is a form in HRMS, where the
Accounting flex field is mapped to the Cost Allocation Flex Field via segments.
That process is known as the GL Mapping.
In case of
direct deposits, when the payroll processing is done, the bank must be informed
to transfer the amounts to the respective accounts. So how do we do it?
In most
countries, all banks have an association through which they manage electronic
transfers, like NACHA (National Automated Clearing House Association) in
US and BACS (Bankers' automated clearing services) in UK. The
association determines a format and an electronic data transfer methodology
with which one can communicate to the bank to fill in money into the employee
accounts.
As part of
Post Processing of payroll, we usually run a report that prints the Account
number and the Amount in a desired format, based on the localization (either
for NACHA or BACS). That report is then sent to the bank using a preferred
media, which is again specific to localization. That report is then used by the
bank to credit the Money in to the mentioned accounts. The entire process of
generating a Payment report and sending it to bank is called the Electronic
Payment data Transfer.
There are a
set of predefined classifications available with Oracle Payroll, which can be
used to represent the characteristics of a particular element. Each and every
element must have a classification attached to it. The Classification in turn
depicts the way the element behaves. For an example, an Element of
classification type ‘earning’, tells us that it’s an Earning, and the money
accumulated in it will be added to the pay check. An element with
Classification as "Information", tells us it’s just for the
information purpose only, and will not be holding any money.
Let's say,
we have a primary classification that has 10 elements associated to it. Out of
those 10 elements, 5 elements are very similar. They belong to the same payroll
entity/ they have similar usage. In this case, we can define a secondary
classification that will help us group the similar elements together. Although
Secondary classifications are not mandatory they are very useful in Balance
configuration. As an example, a Travel Allowance, House Rent Allowance,
uniform allowance are of type Earning (Primary Classification) and are type
Paid Allowance (secondary classification).
Setting up Mandatory KFFs
There are
two very important Key Flex Fields for a successful, up and running system with
Oracle Payroll. They are Cost Allocation KFF and People Group KFF. While cost
allocation KFF deals with the way the costing is managed, the people group KFF
provides an additional set of columns to identify different population in
Oracle HRMS.
As we had
discussed, the Cost allocation Flex Field defines a structure to the various
accounts under which costing can be incurred. This KFF runs in parallel with
the Accounting flex field in Oracle General Ledger. Costing is important
in order to credit the appropriate accounts based on the labour costs paid as
part of pay checks.
Responsibility: Application Developer
Navigation: Flex Field -> Key -> Segments
Steps:
- Click on Title.
- Query for the string "Cost
Allocation Flex field".
- Define a new structure with the
following data. See Figure 5.1 – Cost Allocation KFF
(Figure 5.1
– Cost Allocation KFF)
Application
|
Payroll.
|
Flex
Field Title
|
Cost
Allocation Flex field.
|
Code
|
A
user defined name.
|
Title
|
This
appears as the window name in Segments. A user defined name.
|
Description
|
Any
description. Free Text.
|
View
name
|
It
creates a database view with the name specified here.
|
Freeze
Flex field definition
|
Needs
to be checked, once the updates are done. This makes the window display only,
once checked.
|
Enabled
|
This
one makes the structure possible to be used. Un-checking this is as good as
end dating the record.
|
Segment
separator
|
The
character we select here is used as the separator between segments.
|
Cross
Validate segments
|
Can
be used, if cross validation is needed.
|
Allow
Dynamic Inserts
|
Allows
users to create new possible combinations in the table.
|
Compile
|
Compiles
the FF structure.
|
To define
the segments, we will have to click on the segments button. However, let's
first finalize the levels where the cost can be added. We will have to decide
the valid levels from the structure of our enterprise. In case we are
implementing the ERP for our client, we need to discuss these
requirements in details. Usually, the levels in which the costs are allocated
are: Company, Cost centre, account Code, Project and Product. However, if we
have the GL implemented for our client, it’s advised to create the segments in
parallel with our accounting flex field.
OK, once we
know the levels, let's configure them. See Figure 5.2 – Cost Allocation
Segments.
(Figure 5.2
– Cost Allocation Segments)
Number
|
The
sequence number that decides the precedence in which the segments
are going to appear.
|
Name
|
The
name of the segment.
|
Window
Prompt
|
The
name that would appear on forms.
|
Column
|
The
segment number column in our KFF table. Advised to start with 1 and keep
incrementing after that.
|
Value
Set
|
Assign
a value set.
|
Displayed
Check Box
|
Enables
the segment to be displayed.
|
Enabled
Check Box
|
This
one enables the segment to be usable.
|
Value
Set
|
We can
update/assign/define a value set to be attached to the segment.
|
Flex
field qualifiers
|
We have
learnt about these in AOL
|
As the
segments are added now, the next task is to set the details for that segment.
To do so, click on the first segment and press open. See Figure 5.3 – Cost
Allocation Segment Description.
(Figure 5.3
– Cost Allocation Segment Description)
Value
Set
|
The Value
set attached to the segment.
|
Default
Type
|
This one
enables us to add a default value if needed in the segment.
|
Required
|
Marks the
segment Required. So every time we open the KFF, we must enter a value for
the segment.
|
Security
Enabled
|
In
case we want to use the security rules to be attached.
|
Sizes
|
Self
explanatory.
|
Range
|
Allows
another set of validation, explained below.
|
Sometimes
we would like to add an extra set of eyes to the segments, where we want the
segment value to be dependent on another. The best example in this case is the
start date and the end date, where we’d always want the start date to be
smaller than the end date, which logically makes sense, as we cannot end a
record in the past that is created in future.
In cases
like this, we can make use of the range. A segment with high range must always
be bigger than the segment with the low range. To solve the dates issue here,
we can define the end date to be in High and the start date as low.
Laws of
Range:
- We should have the Low segment
appear before the High segment
- We cannot just assign one
segment as High and not assign any as low, or Vice versa. If we have a low
segment, we must have a high segment too.
As the
ranges are set, let's talk about qualifiers. Remember we talked about
these while talking about the KFFs in the core HR and AOL section? OK here it
is; Qualifiers define the segments that can be updated at one given
level. Talking about the Cost Allocation KFF, we have the Following places
where a segment can be updated:
- Payroll
- Element link
- Organization
- Assignment
- Element Entries
In these
levels, the cost can be attained or assigned, with precedence from payroll to
element entries with increasing order. So it means, the cost associated to an
element entry has the highest precedence, hence it can be overridden by
anything we enter at any upper level.
So what's
the role of the qualifiers here? The qualifiers define the segments that can be
updated in the above given levels. For an example, if we have an Overtime
element attached to an employee's record. The costing is allocated to
the HR department at the payroll (highest) level. On Monday, the employee
worked for 4 extra hours to support the Admin Department. Now, the account
Department wants the cost for those 4 hours to be added to the Admin department,
not to the Payroll department. We can then come down to the Element links
(Lowest) level, and override the costing to the Admin dept.
This
configuration was possible, just because we made the Project code (for an
example) available to be updated at the element links level. If we
won’t make the project code segment available at the element links level, we
will have to choose any other segment code to override the cost. So we
have the autonomy to enable or disable any particular segment at any
level. This is done through qualifiers.
- Click on the qualifiers tab on
any segment.
- Choose the places where we want
the segment to be visible.
- Close the window and repeat the
same for the rest of the segments.
The people
group flex field enables us to create and track another set of criteria for the
employees. Although Oracle HRMS gives us a lot of such criteria types, like
job, position, grades, locations but this one is another grouping that can be
used for anything like, a stock option or may be a union or sometime just leave
accruals. HRMS also has things like, Benefit Group and Bargaining units to
group employees. This is a mandatory KFF in Payroll implementation. In case
our Enterprise does not need an additional grouping, we can still
create a dummy one for the future usage.
One of the
most important reasons to have People Groups is the element Link. In element
links, there are various criteria based on which we can set eligibility of an
employee to have the element attached to him. However the eligibility options
are limited. In a case where the user cannot separate the employees using the
given eligibility options, he always has the liberty to use people groups. We
will discuss more about the usage of people Groups while discussing Element
links.
Responsibility: Application Developer
Navigation: Flex Field -> Key -> Segments
Steps:
- Click on Title
- Query for the string
"People Group Flex field"
- Define a new structure with the
following data. See Figure 5.4 – People Group Segments.
(Figure 5.4
– People Group Segments)
Application
|
Payroll.
|
Flex
Field Title
|
People
Group Flex field.
|
Code
|
A
user defined name.
|
Title
|
This
appears as the window name in Segments. A user defined name.
|
Description
|
Just
a description.
|
View
name
|
It
creates a database view with the name specified here.
|
Freeze
Flex field definition
|
Needs
to be checked, once the updates are done. This makes the window display only
once checked.
|
Enabled
|
This
one makes the structure possible to be used. Disabled this is as good as end
dating.
|
Segment
separator
|
The
character we select here is used as the separator between segments.
|
Cross
Validate segments
|
Can
be used, if cross validation is needed.
|
Allow
Dynamic Inserts
|
Allows
users to create new possible combinations in the table.
|
Compile
|
Compiles
the FF structure.
|
Now, on to
the segments:
Number
|
The
sequence number that decides the precedence in which the segments
are going to appear.
|
Name
|
The
name of the segment.
|
Window
Prompt
|
The
name that would appear on forms.
|
Column
|
The
segment number column in our KFF table. Advised to start with 1 and keep
incrementing after that.
|
Value
Set
|
Assign
a value set.
|
Displayed
Check Box
|
Enables
the segment to be displayed.
|
Enabled
Check Box
|
This
one enables the segment to be usable.
|
Value
Set
|
We can
update/assign/define a value set to be attached to the segment.
|
Flex
field qualifiers
|
We will
learn about it in future.
|
Now, once
the segments are added, click on the first one and press open to
get started with the value sets if any.
Value
Set
|
The Value
set attached to the segment.
|
Default
Type
|
This one
enables us to add a default value if needed in the segment.
|
Required
|
Marks the
segment Required. So every time we open the KFF, we must enter a value for
the segment.
|
Security
Enabled
|
In
case we want to use the security rules to be attached.
|
Sizes
|
Self
explanatory.
|
Range
|
Allows
another set of validation.
|
So this
completes our KFF set up.
Managing Entries
Once the
elements and the links are defined, they are available to be distributed to
individual assignments (employees) based on the eligibility. This distribution
of elements is known as entries. The entries store the name of the element
along with the input values, and also the values assigned to them. Later, when
payroll is run, payroll manager engine picks the entries with the input values
and processes them.
For an
example, Bonus is a non-recurring element, and it contains two mandatory input
values namely, subject to and percentage; along with Pay Value. There is a
non-standard link on the bonus element that has an eligibility criterion of
Payroll = ‘XXMonthly’.
- As the link criterion suggests,
a person who belongs to ‘XXMonthly’ payroll is eligible to receive this
element
- As it is not a standard link,
it’s not going to make an element entry all by itself, so the element
entry must be created explicitly
- Once the entry is made, the
start date will be the date on which the entry was made, and the end date will
be the Pay Period end date, because it is a non-recurring element
- With every entry, the mandatory
input values must be populated with some value
- The pay value can either be
populated or be calculated based on the design (whether its user enterable
/ calculated through a formula )
- Finally, when the ‘XXMonthly’
payroll for that pay period is run, it will populate / calculate the pay
value based on design, and the final value is then used in payroll
calculations
There are
different ways to make an element entry. However we will discuss the major
contributors.
In many
cases automatic element entries can be done on assignments. Mostly the regular
earnings are configured in a way that the entries are made by design. The
assignment and element must satisfy the following conditions for an entry of
this type.
- The element link must be
standard
- The element must be a recurring
one
- The assignment must be eligible
for the link, based on the criteria defined on the link
There are
cases where the payroll users key in entry by themselves. This type of entry is
known as the manual entries.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Enter and
Maintain -> <Query the Employee> -> Assignments -> Entries
Steps: Select the element we want to update /
create a new record with the element name. See Figure 5.21 – Element Entries.
(Figure
5.21 – Element Entries)
Period
|
The
Payroll period for which element is being displayed.
|
Classification
|
This is
filter to show elements related to the specified classification only
|
Processing
type
|
This
option filters out the processing type of the elements like recurring,
|
Element
Name
|
This
shows the name of element. In case a new element entry is required, a new row
can be added a with the element name. However, if the element
is already listed for the pay period, it does not appear on the
list again, unless multiple entries are allowed.
|
Recurring
Type
|
Auto
populated based on the type of element chosen.
|
Costing
|
This is
the costing level attached to element entries. This is the lowest level of
costing, and holds the highest priority.
|
Additional
|
If the
element is a special input element, and it uses additional input values then
this box is checked to avail the additional input values.
|
Processed
|
Once
the payroll is processed and the element entry is taken in to calculation,
the processed box gets checked to symbolize that.
|
To give
input values to the element, we will have to select entry values.
Input
values
|
All the
input values attached to the element appear here. However only the ones with
user enterable flag checked, can be updated
|
Date
Earned
|
This
signifies the date on which the wage / hours are earned
|
Payee
Details
|
In case
of Third Party Payments, the payee details are added to show the particulars
related to the Organization, court order number etc.
|
Processing
Priority
|
This
defaults with the processing priority attached to the element. The priority
can be overridden here
|
There is a
feature in Oracle payroll, with which one can directly fill in element entries
for a number of assignments / elements with one single interface. It also helps
in validating the data being entered.
In cases
where the Benefits system is managed by another vendor organization, the vendor
might send a spreadsheet with the Insurance premium / rate to be cut off from
employee's payroll as a deduction. It becomes impossible to get into each
assignment and keep on adding the details without any mistake.
Similarly,
if time tracking is done by an external system or if OTL is housed in a
different environment, then the time must be transferred to appropriate element
entries in the payroll system.
To
facilitate an interface between an external system and the element entries,
oracle has developed a feature called the batch element entry. This feature
enables the users to update assignment entries of huge numbers, at one shot as
a single batch.
Responsibility: HRMS Manager
Navigation: Mass Information Exchange: MIX ->
Batch element entry
Steps: Create a new record with these details.
See Figure 5.22 – Batch Element Entries.
(Figure
5.22 – Batch Element Entries)
Batch
Name
|
A unique
name of the batch. It’s a good practice to add date to the end of the batch
name for better tracking of batches.
|
Batch
Status
|
A Batch
can have five different statuses
|
Action if
Entry Exists
|
In a
case, where one element entry is being added, and the entry already exists
with the assignment for the same pay period, the system must take one of the
following actions.
|
Date
Effective Changes
|
This
enables the date tracking
|
Reject If
Future Changes
|
In a case
where there already exists an entry in future, that matches the batch line;
it will reject the entry if this box is checked. This is exactly opposite of
Override. Hence both the options cannot be selected together.
|
Purge
after transfer
|
This will
cause the temporary tables linked to the BEE process to be purged off. Once
this option is chosen, no roll back can be performed henceforth the transfer
|
Auto
Query
|
This box
needs to be checked, If the assignment lines window is being used and any
existing batch lines for the assignment/element set need to be automatically
displayed.
|
Auto
Validation
|
Once this
box is checked, it validates each and every assignment number is entered and
it flashes an error message, as soon as an invalid assignment number is
entered.
|
Element
Lines
|
This
window is to enter assignments. This helps in creating entries for one
element for multiple assignments.
|
Assignment
Lines
|
This
helps in creating entries for multiple elements in one assignment.
|
Assignment
Set
|
This can
be chosen for a particular element to be entered for an assignment set.
|
Totals
|
This
is a type of validation, where the totals of the entries are to be validated.
|
Messages
|
A
Message can be Set up to display error messages.
|
Process
|
This
tab gives user an option to choose the next action he wants to take. i.e.
Validate / Transfer etc.
|
Using
Element Lines:
This is the
button to be used, when there is a need to make an entry for an element for
multiple assignments.
Element
|
Select
an element
|
Find
|
After
pressing this button, it displays the list of assignments added with the
element for this BEE.
|
Line
|
Just
a sequence number called Line number
|
Assignments
|
The
list of assignments. While creating a new BEE, we can keep on adding
assignments here.
|
Input
Values
|
The
Input values appear like columns here.
|
Costing
|
Can
enter Costing string here as well. This is the element entry level of
override.
|
Date
Earned
|
Can
enter the Date Earned t override the element screen priority
|
Processing
Priority
|
Can
enter the Priority to override the element screen priority.
|
Effective
date
|
The
date as of which the entry should be made.
|
Status
|
Displays
the status of the Batch line.
|
Messages
|
Displays
the error messages
|
Defaults
|
Can
enter the Default value for the Input values. This will be taken if
no entries are available on the batch line.
|
Using Assignment Lines:
Now, this
is the button, we would use, when we want to make an entry for multiple
element for a single assignments.
Assignment
|
Select
an Assignment for which the element entries are going to be made
|
Name
|
It
will be auto populated based on the chosen assignment.
|
Element
Set
|
Choose
an element set.
|
Element
|
Elements
as per the chosen element set appear here. Then one of the elements can be
selected and the Input values, Defaults, Costing etc can be entered as
explained in Element lines.
|
Using
Assignment Set:
This is the
Button, we would use, when we want to make an entry for a single element for
multiple assignments. However the multiple assignments must be grouped together
with an assignment set.
Assignment
Set
|
Select
an Assignment Set for which the element entries are going to be made
|
Payroll
|
Choose
a Payroll with which all the assignments in the assignments are related to.
|
Element
|
Enter an
element for which the entries are going to be made
|
Rest
of the Fields
|
The
rest of the fields are identical to what we have in Element Lines /
Assignment Lines.
|
Using
Totals:
Totals can
be used to validate the BEE Transfer. We can put in conditions in order to
validate if the number of entries made matches with the number of entries
requested by us. Or even compare the sum of the number of hours entered as a
whole. Or even do the summation of the monetary units and compare it with
calculation. So this is a powerful tool to validate data.
Type
|
Choose
a type of validation we would need.
|
Control
Total
|
Enter
the number against the validation.
|
Message
|
Message
to be appeared if validation fails
|
For an
example, we want a total of entries that are made. We choose a type of Line
Count. Now, we add 55 in the Control Total, as we know there are 55 entries
that are to be made. Then we can set up a message that will pop up if the line
count exceeds or goes down the number 55.
Defining Elements
We have
talked a little about elements before. It’s a placeholder to hold the values
that can be assigned to store an entity of payroll; like an earning, a
deduction, a life insurance premium etc. Elements are the building block of the
payroll. If we look at a payslip, we will see different types of pay, like the
basic, travel allowance, Medical allowance, deductions etc. Those are all
elements.
Before
going ahead and creating elements, we must make sure we list down all the
elements that we need, along with their names, reporting names (that will
appear on the pay slip), type of the element etc.
There are
two ways to create an element.
- Use the traditional Element
screen
- Use a template
Let's learn
about the traditional way first.
Before
creating anything related to a date tracked table, we must date track to a date
that will be able to catch all our historic information. What's that date? May
be 01-JAN-1951, or 01-JAN-1980? We can use any date which is well enough in
past that all our transactions could be recorded on or after that date. The
most popularly used date is, 01-JAN-1951. We must date track to that date we
have decided to go with; before entering any information.
Now, let’s
open the elements screen.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Element Description
Steps: Create a new record and start filling in
the details.
(Figure 5.5
– Define Elements)
Name
|
The name
of the element. One should always use meaningful names. The best
practice is to use suffixes to identify types of elements. For an example,
element name starting with E_ can depict an Earning Element, similarly D_,
I_, T_ etc can be used to name the elements of types deductions, Information
and Third Party payments respectively.
|
Reporting
Name
|
This name
must be more meaningful; as this appears on the pay slips and statement of
earnings.
|
Description
|
Information
purpose only.
|
Primary
Classification
|
Choose a
Primary Classification that suits the element the most. We will learn more
about this later in this chapter.
|
Benefit
Classification
|
Choose
one if required.
|
Effective
Date
|
This
should give us the date we have date tracked to. The Start date of the
record. This is populated automatically.
|
Currency
|
Choose
one currency, if the element's currency is different than our Business
group's default currency.
|
Age
|
An eligibility Indicator.
In case we want the element to be available, based on age criterion.
|
Length Of
Service
|
Works the
same way as age, however on Length of Service criterion.
|
Standard
|
If
standard box is checked, system creates an entry to all the employees who are
eligible for the element automatically.
As the
eligibility of an element is determined through element links, the standard
check box can be overridden at the element links level.
An
element must not be Non Recurring or multiple entries must not be allowed in
order to be standard.
|
Further
Information
|
It's a
DFF on the Elements table. It can store additional information, which can be
used in fast formulas.
|
Type
|
Recurring:
Elements that appear in every payroll cycle, like Basic Salary
Non Recurring: Elements that do not appear in every payroll cycle, like Overtime |
Termination
Dates
|
This
determines, if an employee is terminated, how long this element should get
processed.
Actual Term date: The element ends as of Termination Date Last Standard Process date: The element ends as of the pay period end date on or after the termination date Final Close Date: The element ends as of the final settlement date mentioned, as per the termination record. |
Multiple
Entries Allowed
|
This
enables an element to be entered more than once in one pay period. Example:
Overtime element, as overtime can be entered multiple times in a week’s time.
On the other hand, Regular salary can not be entered multiple times in a
period. There should be just one entry per pay period.
|
Closed
For Entry
|
This will
make the element unavailable for any future use. However the existing entries
will work as expected.
In case
we wish to stop using an element, this is the flag to be updated. End dating
or Purging are not good practice for elements.
|
Process
in Run
|
If not
checked, the element will not be processed as part of Payroll run.
|
Indirect
Result
|
This flag
is checked, if any other element seeds any value to this one for usage. We
will discuss more about these in Formula results section of this chapter.
|
Third
Party Payment
|
This flag
is used, if the element is associated with third party payments.
|
Skip
Rules
|
This
accepts a FF. The FF returns a Y or N. Based on the return value; the element
is included on a payroll run.
The skip
rule stands useful when you wish to include the element on specific cases
only. For an example, you wish to pay the Bonus element only if the YTD
salary is greater than $75,000.
|
Priority
|
A number
based on which it is picked by the payroll process. The one with the smallest
priority number gets picked up first. A Default value is always fed based on
the classification chosen for the element. However, we can change it if any
specific requirement forces it to be updated.
Especially
in case of Indirect results, where one element feeds values to another, the
feeding one should be processed first and hence must have a smaller number.
|
Now, Lets
save the changes and move to buttons.
We
know that the elements store values. However the actual places where
the values are stored / recorded by the elements are known as Input Values.
These are the place holders that keep the values that can be used for
calculations related to payroll. One element can have one or more input
values attached to it. The input values store the different values that are
used for the calculation of the final value of the element. In some cases one
Input value for an element might feed values to another element for its
calculations. Those are called indirect results.
Let's play
an example; we are storing the Overtime with an element. So what are the things
we should track? One Input Value storing the number of hours we have worked,
and another to store the hourly overtime rate of the employee. That will give
us the money to be credited to the employee's payroll. So will need another
Input value to store the final amount.
The one
input value that stores the final amount must be stored in an Input value with
name "Pay Value".
Let's
navigate through the form. See Figure 5.6 – Input Values.
(Figure
5.6 – Input Values)
Name
|
Name of
the Input Value.
|
Units
|
It can be
one of these: Money, Hours, number etc. A pay value should always have the
unit as Money.
|
Sequence
|
This is
the order in which the elements appear in the Element Entries Inputs screen.
|
Required
|
Makes the
Input value Mandatory for the element. This means, the entry will not be
saved, unless this value is entered.
|
User
Enterable
|
Makes the
Input value user enterable. Like the number of hours and Overtime hourly
rates.
|
Database
Items
|
Creates a
database item for this Input value.
|
Default
|
Takes the
default value for the Input value.
|
Hot
Default
|
Updates
the existing entries, if the default values are changed. For an example, if a
Default value for overtime hourly rate is changed, it will enforce all the
existing unprocessed entries to be updated, if the hot default is chosen. If
it’s not checked, then it will just use the new default going forward;
without updating the existing entries.
|
Lookup
|
Use a
look up for validation of the Input values. The Entered value must be in the
look up codes. This is like an extra set of validations attached to the
data entered to the input value.
|
Formula
|
We can
use a formula to validate the input value.
|
Minimum
and Maximum
|
Takes the
minimum or maximum of the allowed values.
|
Warning
or Error
|
We can
use a Warning or Error message here. The warning will appear on the payroll
process results, if validation of the data fails.
|
Effective
Dates
|
The
effective date of the Input value.
|
Choosing a
correct primary and secondary classification is very important in order to
ensure the elements behave the way they are designed to. The primary
classification is a seeded functionality, however the secondary classification
is customizable, and we can add new secondary classifications based on our
business needs. Here is the list of Primary classifications,
the categories and their meanings.
Classifications
|
Categories
|
Descriptions
|
Earnings
|
Regular,
Overtime , Premium, Shift Pay, Student Earnings
|
Earnings
based on the hours worked. The salaries, Overtime etc are the direct result
of the labour, and termed as Earnings.
|
Supplemental
Earnings
|
Dismissal
Payments, Educational Assistance, Deferred Compensation Plans, Jury
Duty Pay, Moving Expense Reimbursement, Pensions/ annuities, Awards n Prizes,
Bonuses, Commissions, cafeteria Plans, Deceased Employee Wages, Sick
Pay, Travel Expense Reimbursements, Vacation Pay
|
The
special type of earnings that one receives, along with the Earnings. Like
Bonus, awards etc. Even though these are type of earning, these are
additional cash to the employee, other than the ones entitled.
So technically, any cash numeration, which is not a type of earning is called Supplemental earnings |
Imputed
Earnings
|
Group
Term Life Insurance, Personal Use of Company Car, Non-Cash Awards
|
The Non
Cash types of earnings are listed as Imputed Earnings. We’ll learn more about
these in Advanced benefits.
|
PTO
Accruals
|
Vacation,
Sick
|
These are
the Paid Time Off (PTO) accrued by the employee. Usually
enterprises give the employees an amount of days to accrue once s/he
completes a month / year as an employee. Those vacations are paid ones. So
the employee keeps gathering them and uses them whenever s/he needs them.
Those accruals are stored with PTO accruals.
|
Voluntary
Deductions
|
N/A
|
These are
the deductions that are done as part of any loan payment / insurance premium
etc.
|
Involuntary
Deductions
|
Garnishments,
Bankruptcy order, Federal Tax Levy, State Tax Levy, Local Tax Levy, Child
Support Order, Spousal support order, Alimony, School Loan, Credit Debt,
Employee requested payments
|
The
Involuntary deductions where the employees pay the amount based on some
Alimony or by court order or by any third party garnishment orders.
|
Pre-Tax
Deductions
|
differed Comp
401K, Health care 125, dependent care 125
|
The
deductions that happen before taxes are applied. Like Health care and
retirement plan premiums / rates.
|
Tax
Deductions
|
Federal
tax, state tax, Local tax
|
The
employee taxes for the Country or state or even local taxes come under these.
|
Employer
Taxes
|
Federal
tax, state tax, Local tax
|
The
employer taxes.
|
Employer
Liabilities
|
Benefits,
Overhead
|
These are
the non tax liabilities to the employer that gives health coverage benefits
and usable things to the employees like a safety harness.
|
Tax-credit
|
N/A
|
These are
the credits that are paid back to the employees as part of
some accreditations.
|
Non-Payroll
Payments
|
Expense
Reimbursement
|
These are
not actually earnings, hence not taxable. These appear separate on earning
report, as these expenses are just being reimbursed, not an additional
payment.
|
Information
|
Absence
Hours, Straight-Time Overtime Hours, Tax Balance, Labour hours, Regular Hours
|
These
elements are not monetary types. They just hold the counts for reporting
purposes.
|
Fast
Formulas can be used for various purposes like, Calculating Pay values,
validating entries, Skipping a payroll etc. There are precise places where we
can use a particular FF. We will concentrate on the most widely used one; the
payroll calculation formula.
Let's see
the form, and discuss about the various possibilities. See Figure 5.7
– Formula Results.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Formula Results
Steps: Query for the Element in concern
(Figure 5.7
– Formula Results)
Element
Name
|
Name
of the element.
|
Classification
|
It
is auto populated with the primary classification of the chosen element
|
Description
|
It
is auto populated with the description of the chosen element
|
Processing
Rule Name
|
This
is a LOV with assignment status types of employees (PER_ASS_SYS_STATUS
lookup). Choose a ‘standard’ rule for standard processing. Also choose any
other status type, if the processing rules for the element changes with a
change in that status change.
|
Processing
Formula Name
|
Name
of the formula to be used against the status change
|
Formula
Result Name
|
Name
of the result that should be linked to input value of an element. This is a
LOV, populated with the return values of the FF. If the FF has three return
values, those three will be populated in the LOV.
|
Type
|
Type
of formula result. We will discuss about it later in this chapter.
|
Element
|
The
element to which the result is being passed.
|
Input
Value
|
The
input value in use.
|
Units
|
Auto
populated based on the chosen unit
|
Message
|
In case
the result type is Message, the message needs to be added here.
|
A payroll
calculation formula is capable of returning many values. And based on the need,
the return values are used, either in the element it is called from or passed
on to another element for further calculations. There are cases, where we would
need one element to pass a value to another element, based on which the
calculation of the later will take place. For an example, the bonus can be
calculated as 15% of Regular Salary, and the final amount (pay value) of
Regular Salary can be calculated by the fast formula attached to the basic and
then fed into the Bonus element for its calculation. Let’s look at the
different ways we can use a return value of a fast formula.
Direct
Result: This is
used when we are updating the pay value of the element being evaluated.
Indirect
Result: This is
used when the calculation result of one of the Input Value of the element being
evaluated needs to be fed to another element's input value. The later then
takes it as an Input and processes its calculation. Continuing with our
example, If Bonus needs to be 15% of the regular Salary. Regular Salary might
have an Indirect result to feed the value to the Bonus element. Bonus element
can then take the value and calculate 15% of the value and use that amount as
pay value. So to pass the value from Regular salary to Bonus element, we can
use the Indirect Results.
Order
Incorrect: This
result updates the sub priority of the element selected in element
field.
Stop: This formula result uses the
effective date of the payroll run to put an end date on a recurring entry of
this or another element (which must be defined with multiple entries not
allowed.)
Update
Recurring Entry: This
result updates recurring entries of this or another element. The receiving
element must be defined with multiple entries not allowed unless we are
passing a recurring element's entries to itself, which is updating
another entry of the same element.
Message: Sometimes, we want a simple
message to be displayed based on the calculation. That can be done using a
Message type.
- We can make an element
standard, only if it’s recurring and multiple entries are not allowed.
- A category type field
must be entered in the DFF for all elements. The LOV is populated from the
look up types: "US_EARNINGS" and "US_SUPPLEMENTAL_EARNINGS".
- Never check "Closed for
Entry" for a standard element. It will create issues with
Hiring and terminations.
- For validation, we can use any
one of the three possibilities (Lookup / formula/ min and max).
As the
elements are of different types, there are two templates in Oracle payroll that
helps us create elements and a lot of other related things. These templates
save time, make the elements standardized and easy to manage. The two templates
are called, Earnings and Deductions.
Let’s start
with earnings template first. It is more or less a type of classification.
However using this template to create an earning type of element creates the
following things in Oracle Payroll.
- One element with the same name
as earning
- Two support elements (one
special input and one Adjustment/ special feature)
- One Fast Formula
- One Balance
- The input values
So let's
configure the earning
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Earnings
Steps: Create a new record and start filling in
the details. See Figure 5.8 – Earnings Template.
(Figure 5.8
– Earnings Template)
Name
|
Name of
the Element
|
Reporting
Name
|
The Name
that appears on the Pay slips and statements of earnings
|
Description
|
Just a
description of the element
|
Classification
|
The
Primary classification
|
Category
|
This is a
sub type of Primary Classification
|
Priority
|
The order
in which the data is going to be processed
|
Overtime
Base
|
If this
Box is checked, it takes the element as the base for the Overtime entries
|
FLSA
Hours
|
This is
used in US localizations only. If this Box is checked, it takes the initial 8
hours as regular and the next hours as Overtime, as per FLSA rules in US. FLSA
stands for Fair Labour Standards Act.
|
Reduce
Regular
|
In a case
where we want the regular hours to be divided into "Regular Worked"
and "Regular Non Worked" hours, we should use this. For an example,
if there is a full time employee appointed for 40 hours a week, but he has
worked for only 36 hours as per the time sheets, then 36 hours will be
Regular worked, and 4 hours will be the regular non worked hours.
|
Standard
Link
|
This
enables an element to be standard. If the box is checked, the element
gets added to
all eligible employees automatically.
|
Standard
Calculation Rule
|
This
defines the way the Pay value calculation will be done.
|
Type
|
Recurring
/ Non Recurring. Same as we discussed in Elements screen
|
Termination
|
The date
until which the element will be used.
|
Deduction
Processing
|
We can
choose one of the three Tax deduction types:
Tax Only: Only Tax deductions apply. Tax and Pre-Tax only: Only Tax and Pre-Tax deductions apply. Default: All types of Tax deductions apply. |
Separate
Check
|
Select
Yes, if we want a separate check to be issued just for this element.
|
Let's talk
about the standard Calculation rule a little bit. There are four predefined
standard calculation rules in place:
· Flat
amount: The Earning is a flat amount.
· Hours
X Rate: The Earning is a multiple of number of Hours worked and Rate per hour.
· Hours
X Rate Multiple: This is as good as Hours X Rate, however multiple entries are
allowed.
· Percentage
of Regular Earning: The Earning is a percentage of the Regular Earning.
Now, what
about the two special elements we talked about earlier? The two elements are
used for adjustments. For an example, if an employee’s regular salary is
entered, and now, we want the salary to be increased by $50 just for this pay
period, because of some adjustments. How do we do that? We can use the special
Input elements. It can have two input values:
· Replacement
Value: This amount, if entered will replace the amount filled in with the
original element.
· Adjustment
Value: This amount, if entered will be adjusted against the amount filled in
with the original element.
To continue
the same example further, we will use the replacement amount and put the new
regular salary there, or will put in $50 in the adjustment value, so that it will
be added to the original element while processing.
What’s a
deduction? It's the amount that needs to be deducted from the payroll. When we
consider deductions, there are two major types:
- Tax Deductions
- Non Tax Deductions
We know
what tax deductions are. These are the taxes we pay. Oracle has tied up with a
vendor called Vertex, who takes care of all the taxes in Oracle Payroll in US.
So we do not have to worry about the tax percentage and everything as of now.
Oracle has got it covered. It will get cut from the employee's payroll
automatically, based on his work address and home address. For all other
localizations, there are specific taxing rules that are to be followed.
What are
the Non Tax Deductions? These are the voluntary and involuntary deductions.
Like a Life Insurance Premium / rate or a loan amount to be paid or a debt to
be paid back to the company etc. So to configure these types of non tax
deductions, we can either go for an element creation or create it via a template.
Let's see how the template looks like. See Figure 5.9 – Deductions Template.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Deductions
Steps: Create a new record and start filling in
the details.
(Figure 5.9
– Deductions Template)
Name
|
Name of
the Element.
|
Reporting
Name
|
Another
Name, that displays on the Pay slips and statements of earnings.
|
Description
|
Description
of the element.
|
Classification
|
The
Primary classification.
|
Category
|
This is a
subtype of primary classification.
|
Benefit
Classification
|
This is
another set of classification in place that can be used to handle benefits
level deductions.
|
Type
|
Recurring
/ Non Recurring - same as explained in elements.
|
Start
Rule
|
On Entry:
The deductions begin as of the date on which the deductions are
recorded.
Earning Threshold: The deductions begin only after the Gross Earning Balance reaches a threshold. |
Run Type
|
Regular:
It will be applied only to the Regular Runs.
Supplemental: It will be applied both to regular and supplemental Runs. |
Termination
|
The date
until which the element will be used (same as explained in Elements).
|
Standard
Check box
|
Appears
on all eligible employee payrolls.
|
Total
Reached Stop rule
|
The
Deductions stop once the deduction balance reaches a specific amount.
|
Series EE
Bonds
|
Check if
the deductions are related to series EE Bonds.
|
Buy
Back Check Box
|
This is
used in Retirement plans.
|
Deferred Compensation
Rules
|
Eligible
employees may elect to participate in a deferred compensation plan (e.g.,
401(k), 457) or contribute to a tax–sheltered annuity (e.g., 403(b)) rather
than receive the full amount of their salary in cash. Participation in
a deferred compensation plan is usually a pre–tax contribution that reduces
the employee’s taxable income. The maximum amount of salary that an
employee may elect to defer and have contributed to a plan is subject to
change yearly. In addition to Pre-tax contributions, employees may make
after–tax contributions once the plan’s contribution limit has been reached.
Employers may contribute matching amounts (the employer’s matching
contribution does not have to equal the employee’s contribution).
Once the
deduction is created and saved, Oracle Payroll automatically generates both
the pre- and post-tax deduction elements (if applicable). Oracle Payroll
requires us to link and enter values for these elements separately. Deferred
compensation elements and links only need to be created once for an
organization. Individual deferred compensation values must be entered and
maintained for each individual assignment as dictated by ones benefit
elections policy.
|
Catch
Up Processing
|
403(b)
and 457 catch–up provisions allow eligible employees to exceed a plan’s
maximum pre–tax deferral limit.
Oracle Payroll supports deferred compensation plans with catch–up provisions (e.g., 403(b) and 457). By enabling the appropriate catch–up provision, Oracle Payroll will automatically adjust an eligible employee’s maximum pre–tax contribution limit. We can then adjust the employee’s 403(b) or 457 deductions accordingly. |
Rules
|
This
determines the amount to be deducted.
|
Insufficient
Funds
|
With this
option, system determines the action, if there are not enough funds to pay
off the entire deduction.
Arrearage:
This options tells the system to use the remaining amounts as arrears for
forthcoming months
Partial
Deduction: instructs the system to deduct the money partially, period after
period.
|
In few
cases, the deductions have to be made based on a particular frequency. For an
example, an enterprise may wish to deduct $10 towards Company Car as of first
pay period of every month. So, for an employee in weekly payroll, the $10
will get cut as of first week of every month; and for all other pay periods in
that month, there will be no deductions towards the Company Car.
For
requirements like these, Deductions have a mechanism known as Frequency Rules.
One can choose the desired number of times deductions are to happen in one
month, for each payroll. To satisfy the requirement in the example cited
earlier, we must go to frequency rules button on the Deductions screen, and
check the check box 1 against the required payroll. Here the number one signifies
the first week of the month. Like wise one must check the numbers of the week
on which the deductions are to be made.
Once the
elements are in place, some eligibility criteria must be defined to help the
system determine, whether an element can be attached to a particular
employee or not. That concept is known as linking. Element links help us define
the criteria using a set of indicative data. The elements will be visible on
the element entry screen of an employee, only if s/he passes the eligibility
criteria. One element must have at least one, and can have more than one links
in order to be attached to an employee’s element entry.
The
indicative data with which the eligibility criteria of an element link can be
defined are:
- Organization
- People Group
- Job
- Position
- Grade
- Location
- Employment Category
- Payroll
- Salary Basis
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Link
Steps: Create a new record and populate the
details. See Figure 5.10 – Element Links.
(Figure
5.10 – Element Links)
Element
Name
|
Name
of the element for which the link is being created
|
Standard
|
If
checked, It creates an entry for all eligible employees
|
Eligibility
Criteria
|
Choose
the set of eligibility criteria for the element.
|
Link to
All Payrolls
|
If
Checked, the element becomes available to all eligible employees in all
payroll
|
Costing
|
|
Transfer
to GL
|
This
check box makes sure that the cost is transferred to GL once the payroll is
run and ‘Transfer to GL’ process is run.
|
Qualifying
conditions
|
Qualifying
conditions like age and length of service defined at the element description
level can be overridden here for a particular set of employees, who satisfy
the link.
|
Input
Values
|
The
values given at the element description level can be overridden here. One
addition on this screen is the ‘Costed’ checkbox next to each input
value.
Remember,
if we Override the Input Value default here, it does not change the default
on the elements screen. The new Default will only be applied to the entries
with the given link. All other links to the same elements remain intact.
|
Setting up Payroll
As per Core
– HR Design, every employee assignment must have a payroll attached to it. The
entity payroll, tells the system about the payroll frequency/ cycles, the valid
payment methods, the check dates to which the assignment is entitled. Employees
in a same payroll share the same payroll frequency and pay dates.
Payment Methods
Every
organization has rules for its payment methods. Some organizations pay by
Check, some by direct deposits to banks, and some even pay by cash. These
methods of payments that an organization follows to pay its employees, is known
as the Organizational Payment method.
Each
employee of the organization may get to select the method with which s/he liked
to be paid every pay period. These are the valid options that an employee can
choose in order to get his salary. Some people like it on their bank account,
some might like a check, and for some it could be both.
Each and
every payroll clubs together a set of valid payment methods in it. So the
available options can be specific to each payroll. For an example, an
enterprise can define payment methods like this:
- Weekly : Check only
- Biweekly and Semi monthly :
Check and Bank account (Automatic Transfer)
- Monthly: Bank account
only (Automatic Transfer).
The payment
methods vary with the types of banks as well. For an example, if the enterprise
deals with 4 different banks, like A, B, C and D. It will need four different
payment methods defined for each of the banks it deals with, even though all of
the payment methods will be of type ‘Automatic Transfer’.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Payment Methods
Steps: Create a new record and start filling in
the details. See Figure 5.15 – Payment Methods.
(Figure 5.15 – Payment Methods)
Name
|
Name
of the Payment Method
|
Type
|
The
types of payment. Like check, cash or NACHA
|
Currency
|
The
currency of the payment
|
Third
Party Payment
|
Checked
if the payment is of type third party payment
|
Source
Bank Country
|
The
country of the bank
|
Bank
Details
|
This
is the Bank details KFF
|
A
consolidation set is a methodology that is used, to group payrolls with similar
timelines together. This makes payroll process and post processes easy to
manage and run. Although a lot of payrolls can be part of one consolidation
set; every payroll must have one, and only one consolidation set attached to
it.
Responsibility: HRMS Manager
Navigation: Payroll -> Consolidation
Steps: Create a new row with the name of the
consolidation set. We can create as many as we want, based on
our requirement. See Figure 5.16 – Consolidation Sets.
(Figure
5.16 – Consolidation Sets)
Once the payment
methods and consolidation sets are defined they can now be associated with the
payroll definition, along with the time period and the costing information. So
payroll definition is the screen where payment dates, check dates,
consolidation set, a default payment method etc are assigned to a particular
payroll.
Responsibility: HRMS Manager
Navigation: Payroll -> Description
Steps: Create a new record and fill in the
details. See Figure 5.17 – Define Payroll.
(Figure
5.17 – Define Payroll)
Name
|
Name
of the Payroll.
|
Period
Type
|
The
frequency of the payroll must be selected here. New Frequencies can be
defined in.
(Navigation: Other Definitions -> Time Periods
Responsibility: HRMS
Manager)
|
First
Period End Date
|
The
system determines the payroll dates (start date and end date) using the first
payroll end date. The date is fed as an example to the system, using which it
calculates all the other possible end dates.
For
Example, If monthly, it can be, 31-JAN-2010.
|
Number
of Years
|
Signifies
the number of years, for which the payroll will be effective
|
Check
Date
|
Represents
the numbers of days after the End date, as of which the Checks will be cut.
This is
an offset. So if it is -1 that means the checks will be cut as of 1 day
before the payroll end date.
|
Scheduled
Run Date
|
This
is an Offset as well. This is the date as of which the payroll will be run.
|
Cut
Off Date
|
This
offset represents the date post which, no updates to the payroll data should
be made.
|
Pay
slip Date
|
This
is date as of which the online pay slips (in self service HR) will be visible
to the employees.
|
Payment
Method
|
This is
the default Payment method of the payroll.
This will
be applied if an employee does not have any preferred payment method
added to his assignment. In most cases its set as Check.
|
Consolidation
Set
|
The
Consolidation set is added here
|
Costing
|
This
is one of the screens, where cost allocation KFF can be updated.
|
Suspense
Account
|
If the
costing of a particular payroll / element is not costed to any account. It
gets added to the suspended account. The suspended account details need to be
added here.
|
Negative
Payment Allowed
|
This
field determines if a negative value be issued in case the deductions are
higher than the earnings for a pay check
|
Multiple
Assignments
|
This
field tells the system, whether to process an employee, if he
has multiple assignments with two different payrolls.
|
Period
Dates
|
This
button opens up a screen that shows the dates for each payroll cycles, along
with the cut off date, check date etc.
These
dates can be changed (overridden) in this screen, in case the dates are to be
changed for a given period.
|
Valid
Payment Methods
|
This
lists out the valid payment methods that an employee might choose.
|
Payroll is all about paying salaries to employees. And the
salary must be heaved from an account in the enterprise. Usually the labour
cost is distributed based on different organizations that get benefited by the
work. The distribution system is known as costing.
As
discussed earlier, the costing information must be passed to the finance
department in order to keep an account of labour cost. GL (Oracle General
Ledger, a module in Oracle Financials) owns a key flex field known as
Accounting flex field. Oracle financials uses the Accounting flex field to
identify different accounts linked to the enterprise.
The GL Flex
field mapping helps the system link different accounts setup in the HRMS system
with the accounts available in GL (accounting flex field). In other words, with
the GL Mapping we are going to establish a relationship between the Cost
allocations KFF with the Accounting KFF. With this mapping in place, when the
costing process (A post processing process) is run, it helps the system to
carry the costing information to GL.
Responsibility: HRMS Manager
Navigation: Payroll -> GL flex field Map
Steps: Query the payroll and fill in the
details. See Figure 5.18 – GL Flex Field Mapping.
(Figure
5.18 – GL Flex Field Mapping)
Payroll
|
Name
of the Payroll
|
Period
|
Period
type of the Payroll. This is auto populated
|
GL
Set of Books
|
The
set of books to which the costing data belongs
|
Payroll
Costing Segments
|
The
Cost Allocation KFF segments
|
GL
Chart of Accounts Segments
|
The corresponding Accounting
FF segments
|
There will be many situations in payroll processing, where
we need some kind of grouping to keep things in order and to keep them easy.
Tools like, Element sets, or Assignment sets help us processing things easily
on a group of elements / assignments, without any hassle of
re-entering the Element Names and Assignment Numbers repeatedly.
To start
with element sets, these are of three types:
- Customization Set: A
Customization set is used, to restrict the elements that can be entered or
viewed on a configured version of the Element Entries window. It can also
be selected for element entry purposes, using BEE in the Batch Assignment
Entry window.
- Run Set: In a situation where
an Oracle Payroll user wants to run payroll for a given set of elements,
rather running it on all elements; s/he can use a Run set to specify the
elements to be processed in the run.
- Distribution Set: An
Oracle Payroll user can use a Distribution set to define the elements over
which the costs of other elements are to be distributed.
Let’s look
at the steps to configure an element set.
Responsibility: HRMS Manager
Navigation: Payroll -> Element Set
Steps: Create a new record and start entering
the details. See Figure 5.19 – Element Sets.
(Figure
5.19 – Element Sets)
Name
|
The Name
for the element set
|
Type
|
The type
of the see. Should be one of: Customization / Run / Distribution
|
Include
Elements
|
This
window helps the users to assign elements into the element set
|
Exclude
Elements
|
This
window can be used to exclude elements from the set, this comes handy when a
user wishes to add up a complete classification but a few elements
|
Element
Rules
|
This
window displays all the Elements included in the set
|
Classification
Rules
|
A user
can select One or more Primary Classifications here to Include the elements
in that classification.
|
Assignment
sets enable us to group a number of assignments together, and then run any
process on them. Examples of its usage are, running payroll for a set of
assignments, Loading Element entries for a set of assignments etc.
To create
an assignment set:
(Figure
5.20 – Assignment Sets)
Responsibility: HRMS Manager
Navigation: Payroll -> Assignment Set
Steps: Create a new record and start entering
the details. See Figure 5.20 – Assignment Sets.
Name
|
Name of
the Assignment Set
|
Payroll
|
May or
may not be populated. If a payroll is chosen, then assignments, only from
that payroll will be included
|
Criteria
|
One or
more conditions can be defined in this window, which will define the
eligibility of an assignment to be part of this set. For an example, one
assignment set can have the following conditions.
So all
the assignments that are hired after 1st JAN 2012 and are
Full time will be included in the assignment set.
|
Amendment
|
In case
there are a list of employees to be included as part of the assignment set,
one can use the Include/ exclude flag and the employee numbers to define the
criteria.
For an
example, one assignment set can include employees with employee numbers:
13662, 13663, 13664 and Exclude 13661.
|
Generate
|
The
Generate button is used, to generate a formula once a assignment set is
defined. We can view and edit the formula in the Write Formula window. The
name of the formula remains same as the assignment set.
In other
hand, if we evaluate the fast formula for an assignment, it will return Yes /
No based on the eligibility criteria and the assignment being evaluated.
|
Managing Balances
A balance
is helpful to store positive or negative accumulation of elements. This
can be fed by the pay run results or by an Input value. Usually a balance is
created when we need to track an aggregated value associated to one or more
elements, for the purpose of reporting or validations. To Measure a balance, we
have dimensions and levels.
Dimensions:
These are the different axes through which the system can calculate the
numbers. For an example, the gross earning in this month, in this Quarter, in
this Year; are the different time dimensions.
Levels:
These are the levels on which the dimensions will be applied. For an example,
if we take Month as the time dimensions, the levels can be, Monthly Salary of
an assignment, Monthly Salary of an employee, Monthly Salary of a
department etc.
To
summarize, balances are a way of keeping track of one or more elements with various
dimensions and levels. Once the balance is created, the system needs to know
the different elements that will be part of the balance calculations. The
attachment of elements to balance, can be done in three ways:
- Using Primary Classifications:
The run result of all elements, under the classification will be gathered
in the balance.
- Using Secondary Classification:
It’s as good as using Primary classification, however
the classification changes to a more granular level.
- Using Individual Elements: We
can either choose a Run Result or an Input value for the same. However if
we are using an Input value, we should always have the units same as
balance's unit.
Let's
seethe steps involved to create a balance.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Balance
Steps: Create a new record and start filing the
details in the fields. See Figure 5.11 – Define Balance.
(Figure
5.11 – Define Balance)
Name
|
A
name of the balance.
|
Reporting
Name
|
This is
the name that appears on Reports and payslips
|
Units
|
The
unit on which the balance is going to Operate. Like Money, Hours Worked
etc.
|
Currency
|
If
the Unit is Money, It must have currency added to it
|
Use for
Remuneration
|
This is
used for remuneration Balances and only one balance can have this box checked
|
Gross
Up
|
Once
checked, the balance works as a gross up
|
Feeds
|
This
window can be used, to assign elements to the balance. The “Add / Subtract”
column can be used to instruct the system whether to add / subtract the
amount from the base value.
|
Classification
|
One can
select a Classification, in case the entire classification (including all
elements in it) is to be included in balance calculations
|
Dimension
|
These
control the number of values to include in the balance. It could be based on
time span (year to date, quarter), level (person, assignment) or restriction
(by database item).
|
Initial
Feed
|
This
stores the initial value of the balance. It’s not mandatory; however it helps
in implementation cases.
Let’s say
there is a requirement, where a balance for Car hire must be set as 30 at the
start of every year. And each time an employee hires a car through the
company, the amount must be subtracted from the base amount to store the
remaining hires. For situations like this Initial feeds come handy.
|
Laws of
Balance:
- Either Feed or Classification
has to be entered in a balance. We must not enter both.
- In either screens, it populates
only those elements that have an input value of the same unit as of
Balances.
As we
discussed earlier, there are three ways to assign elements to a balance.
However we can broadly divide the ways into two, using Elements, and using
Classifications (Including both primary and secondary). Let’s discuss both the
ways in detail.
Using
Elements:
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Balance -> Feeds (Button)
Steps: Create new rows and start filling in the
details. See Figure 5.12 – Balance Feeds.
(Figure
5.12 – Balance Feeds)
This screen
helps us to seed the Input values of various Elements into the Balance.
Element
Name
|
The Name
of the element to be associated.
|
Classification
|
It auto
populates the Primary classification for the element selected
|
Input
Value Name
|
Select the
Input value that will be used in the Balance. The Unit must match with the
unit of the balance
|
Add
/ Subtract
|
To be
selected based on the logic of balance calculation
|
Using
Classifications:
Before
assigning Classifications to the Balances, there might be a need to create
secondary classifications. Because in most cases, all the elements in a Primary
classification are not meant to be included in a single balance; and the
inclusion is needed just for a subset of it. So in cases like that, secondary
classification is created first as a subset of the primary, with the required
elements in list; and then the secondary classification is attached to the
balance.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Balance -> Classifications (Button)
Steps: Create new rows and start filling in the
details. See Figure 5.13 – Balance Classifications.
(Figure
5.13 – Balance Classifications)
Classification
Name
|
The
Name of the element to be associated
|
Add
/ Subtract
|
To
be selected based on the logic of balance calculation.
|
As
discussed earlier, Dimensions are the axes of a balance that can provide data
related to a specific area/ time. Most of the dimensions used in balances are
related to time.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics ->
Balances -> Dimensions (Button)
Steps: Create new rows and start filling in the
details. See Figure 5.14 – Balance Dimensions.
(Figure
5.14 – Balance Dimensions)
Dimension
Name
|
Name of
the dimension. Select one from the LOV.
|
Description
|
This is
auto populated, and explains about the selected dimension.
|
Gross up
Balance
|
This is
as good as a default check box. Only one of the dimensions can have this
checked.
|
Status
|
Shows up
status. This is auto populated based on processing.
|
An initial
feed is used, to initialize a balance with a value to start with. One element
and one of its input values must be selected to initialize the balance. And
later, as the processing continues, the additions and subtractions are made to
the initialized value, based on the definition.
Responsibility: HRMS Manager
Navigation: Total Compensation -> Basics
-> Balances -> Initial Balance Feed (Button)
Steps: Create new rows and start filling
in the details.
Element
Name
|
Choose
the name of the element
|
Input
Value Name
|
The
Input value of the selected element, to be used as the initial value.
|
Processing Payroll
Contents
Now,
let's come back to the place where we started. In the flash back, we learnt,
how to configure things alright? Now we will learn about the processing. Here
we will use everything that we've defined this far.
We know
we have three stages to process the payroll.
This is
the stage where all the preparations are done; things like, creating element
entries, getting the costing in place, taxing etc. So let's talk about these
a little bit.
It all
starts with the Time card entry, which happens to be another module in Oracle
HRMS called OTL (Oracle Time and Labour). With OTL, we get all the time cards
captured. Employees log in to OTL, enter the time sheets and then it stores
the time entered by each employee. It also has rules in place to determine,
whether it’s a regular working hour or an Overtime Hour.
Now, as
we have the time card in OTL, we can either run a process to get it loaded on
to Payroll system, or we might get the Time card entries in the form of a
file(Cases where Time card is managed by a vendor), which can in turn be
loaded by using BEE. So once either of the process is complete, which means
the data is transferred to the assignment entries, the time sheet information
is captured.
To move
on, we should then look into the Benefits side of it; the deductions by the
Insurance premium / rate. It’s captured by OAB (Oracle Advanced Benefits) OR
OSB (Oracle Standard Benefits). If we have the benefits system implemented,
it will automatically create assignment entries based on the deduction.
However If our Benefits is managed by a Vendor, we must request a Payroll
Extract / Payroll Interface for the same. Once we receive the Extract, we
will have to use either an Interface or BEE to load the Entries on to the
assignments. So that takes care of the Benefits portion of it.
So next
is the salary. We will have to create Regular Hours / Regular Salary elements
to link it to Assignments. Isn't it? However in few cases, we might have
to give some additional payments to the Employees
other than the regular wages. So, we should always have those
types of Non-Recurring elements in place, so that whenever we need some
additional payment, we could use the appropriate Element. The Wage Attachment
itself is a big subject to discuss. Please see the Wage attachment link for
further information on the same.
Employees
go on leave; sometimes they go on Paid Leaves, and sometimes even on unpaid
leaves. The Paid Leaves are something that an employee
must accrue during his tenure/ length of service in the Company.
Like the longer he stays, the leaves get added/ get carried over from one
year to another, based on business rules. That is known as PTO (Paid Time
Off) accruals. So we must have the Information elements in place to
gather the PTO information, so that we can print that along with the Pay
slips, to let the employee know about the accrual numbers. For Unpaid leaves,
the data is taken from the OTL, and based on that the payments are made.
Once all
these data are captured, the next task is to Process the Payroll.
Now, we
will process a Payroll. To do the same, we will have to run it through a
seeded Concurrent Program. The name of the Program is "Payroll Run /
Payroll Process".
Responsibility: HRMS Manager
Navigation: View (M) -> Request (M) ->Submit
a new request -> Single request
Steps: Enter the name of the Process
"Payroll Run / Payroll Process" and enter the parameters. See
Figure 5.23 – Payroll Process Parameters.
(Figure
5.23 – Payroll Process Parameters)
This will
process the payroll. We can always check the Concurrent Program to see if
there are any Errors in the log file. We can also check the number processed
to be reasonable. There is a screen called Payroll Process Results
(Navigation: View -> Payroll Process Results). Look for the payroll
Name and the time period, if the process status is complete, that means the
payroll has no errors. We will discuss more about it later in this chapter.
So now,
as the payroll is processed, what are the next steps? There is a lot of
processing involved. Some are mandatory processes, and some are optional.
Usually the Optional Processes are to generate reports that can be used for
verification. Usually Payroll Administrators ask for their own set of reports
for comparison and logging, which is very enterprise specific.
However in this section, we will learn about the
Mandatory processes first and then will look at some of the widely
used optional Processes.
This is a
mandatory Process. This process looks in to the amounts processed for each of
the employees and their respective Payment methods. It then divides the money
to be paid on to their Payment methods. So for an example, Joe's
salary for his month is $5000, and he has two preferred payment methods,
20% as a check and rest of the money in a Bank Account. After
running Prepayments, the system will know that it has to transfer $1600 in to
his bank account and it has to give $400 as a check to Joe. To run the
process, we need to go to single Request and put the process name as
PrePayments. See Figure 5.24 – PrePayments Parameters.
(Figure
5.24 – PrePayments Parameters)
Usually
in Start and End Date fields we should enter the date span in which the
Prepayment will be run. The System will look in to the payroll tables to see,
if there is any amount that has not paid yet with in those two dates. If it
finds any, it will sort that according to the Payment methods. However as we
should be running Prepayments after every payroll, the dates should always be
the Pay Period end date. This saves a lot of system time.
If the
system does not find details about the Personal Payment methods, then it will
default the payment with the Default payment method used with the payroll.
Usually the default payment method is Check.
As we
know, this is the process for direct deposits. UK localization supports the
BACS and North American Localizations support NACHA, similarly all
localizations follow a specific payment gateway. This process generates an
output file that can be sent to the Bank and the treasury.
Once the
Process is run, we can select the output of the Process and verify the
details. We can then send the Output report to the Bank via established
Preferred Electronic Media.
In few
cases, in US Localization, we would also need to run the NACHA Report. This
Report gives us the clear picture about the Number of Deposits and the Total
Dollar amount.
We can
then send this Report to our HR managers for a review.
Now, as
the Payments are about to happen through the Direct Deposits, which is Bank's
headache now, we will proceed to the next action item, Payroll Archive. This
Process generates a pay slip kind of report. This is an optional step for
most of the localizations.
Let's
write some checks. If we have ‘check’ as one of the valid payment methods
then we need to write the checks to get them out to the Employees. To do so,
we will run a process called the Check Writer process. We must have the Printer
in place with the check leaf book attached, so that the checks can be
generated.
Here, we
must have the start check number with us. We can get that from the Printer.
All we need is the number of the first check leaf which is going to be
printed.
We will
have to run this Process twice, once for the Normal Payroll check, and again
for the Third party Garnishments.
The
Deposit Advice actually prints the Pay slips that we might send to the
Employees. This Process goes through the Statements of Earning and gets us
the details of the Earning and Deductions in a more understandable format as
a report.
As Part
of this process, Payroll Engine divides the costs according to the Cost
Allocation Flex Field, keeping Overrides in consideration. This Process
assures that the cost paid for labour is accurately being captured. If no
Costing Information is found on any particular entry, the cost goes to the
Suspense Account.
This
Process is the one that takes care of the migration of cost to the General
Ledgers. The Payroll Costs are migrated to the General Ledger and then it
gets added against the actual financial accounts.
There are
a few other Standard Reports that can also be processed as part of the Oracle
Payroll for reporting purposes. Here is a list of few popular ones; however
there are a lot of seeded reports that can be used. We can also create our
own reports and use them for analysis, based on the requirements posted by
our Payroll administration team.
Payroll
Activity Report:
This report is run just after the Payroll Process and before the Prepayments.
With this report we can view the status of the Payroll with details like, how
many employees are processed, what is the total Earnings, Total Deductions,
Total Taxes etc. It can be processed with the following details:
Name of
the Process: Payroll Activity Report
Costing
Detail Report:
This is run after the Transfer to GL process is complete for all
Payrolls as of that date. This gives us a detailed picture of the accounts
and the respective Labour costs for all Payrolls run as of the given dates.
Name of
the Process: Costing Detail Report
Costing
Summary Report:
This is run after the Transfer to GL process is complete for all Payrolls as
of that date. This is more or less similar to the Costing Detail report,
however with a summary of data, not with details.
Name of
the Process: Costing Summary Report
Payroll
Register Report:
This is run after the Transfer to GL process is complete for all
Payrolls as of that date. This gives us details on the entire payroll
process, starting from prepayments to costing for all Payrolls run as of the
given date.
Name of
the Process: Payroll Register Report
Payment
Register Report:
This is run after the Transfer to GL process is complete for all
Payrolls as of that date. This gives us details on the Payments made to the
Employees as part of Labour cost for all Payrolls run as of the given
date.
Name of
the Process: Payment Register Report
Third
Party Payment Register Report: This is more or less the same as the Payment Register Report.
However this tracks the Third Party Payments only.
Name of
the Process: Third Party Payment Register Report
US
Gross to Net Summary: With this report, we can see the summation of Salary information of
the employees with Gross Earnings, Net Earnings and deductions.
Name of
the Process: US Gross to Net Summary
As the
payroll is processed now, how do we validate the results? We can do it in
many ways. We can view the run results sorted by assignments or processes.
This
window shows all the details related to the processes run for a particular
payroll for a given period. Every process that we run as part of Processing /
Post Processing get registered here. See Figure 5.25 – Payroll Process Results
Responsibility: HRMS Manager
Navigation: View > Payroll Process
Results
(Figure
5.25 – Payroll Process Results)
Like the
Payroll Process Results, this screen helps us monitor the processes run for a
given Assignment. See Figure 5.26 – Assignment Process Results.
Responsibility: HRMS Manager
Navigation: View > Assignment Process
Results
(Figure
5.26 – Assignment Process Results)
|
Correcting Payroll
Contents
There
will be moments, where we have finished the Payroll run and Pre-Payments. We
processed some report and figured out that, there is some issue with a set
of Assignments. The same thing can even happen just after the Payroll
Run, or in some cases, after Transfer to GL. Now how do we handle the
situation? Is there any way we can correct the data. Yes. There are three
different Processes.
Let's
discuss these one by one.
This is
the most commonly used feature. We can use this to un-process the Payroll.
However using a Rollback removes the entire history of the data. Let's use
Joe's example. All of a sudden we realize that Joe has been paid $200 extra
this time. Now we are at the last stage of our post processing. We are
running costing now. How do we fix the Issue?
We will
Rollback the Payroll for Joe. We will Rollback the Costing for Joe first.
Then the Check writer job, then the NACHA / BACS, then the PrePayments and
finally we will rollback his payroll. We will fix his elements, and rerun the
entire set of jobs again in the actual order only for Joe.
Cases: So
what are the cases where we would process Rollback?
How: How
to Rollback?
Retry is
used when we see a small mistake just after the Payroll run. We want to fix
it and move ahead with the Process. This is done when we see a set of
assignments are processed wrong. We fix the data causing issue and then mark
them to retry. It processes only those entries that are incorrect. In some
cases where we saw there is something wrong with the Fast Formula we just
recompiled; probably a calculation mistake. We fix it and run a retry.
Cases: So
what are the cases where we would process a Retry?
How: How
to Retry?
Reversal
is chosen in cases when all the processes are already complete, and we see an
issue with an assignment. This will reverse all the Processes this far for
the particular Run for the particular assignment.
Cases: So
what are the cases where we would process Reversal?
How: How
to Reverse?
When
Balances are calculated wrong, or we have done some manual workaround and
want the Balance to be updated for the same, we can opt for Balance
adjustments.
QuickPay is the process that can be used to process
Payroll and Prepayments for one Individual assignment at a time. So this is
the Assignment level version of the Payroll Process. Although all the other
Post Processing except the Prepayments has to be done separately, but
this tool, can help us to do small changes on the assignments and rerun the
payroll for them, after a successful rollback. This can also be used as a
testing tool. We can just run a quick pay and see the SOE. Once our
validation is done, just roll back the Quick pay. It’s so simple.
(Figure
5.27 – QuickPay Process)
Quick pay
can be processed from the assignment screen of an employee. Others ->
QuickPay
Retro Pay are one of the Important tools with which we can
fix something that has happened in Past. For an example, salary of
an employee is increased to $300 as of March, effective from the Month of
January. Now, we need to make sure that the Amount of money accumulated since
January to March to be paid as part of March Payroll; Similarly, if the Rate
of Medical Insurance has been changed from $450 to $550 as of March,
effective from the month of January. Here we need to adjust the $100/ month
for three months. How do we do that?
There is
a process called the Retro Pay that can solve the problem. There are three
types of Retro pays, however not all of them are available in a particular
localization.
Even
though the concept looks simple, it’s not. We must think about the deductions
and taxes in place. If the salary increases by $100, my system will need the
entire calculation to be done once again. Not only that, even my balances
will need updates. Oracle Payroll takes care of all that. Let's discuss how
to achieve the same.
We can
use this, if we do not want to see the way Payroll derives the amount. If we
take Joe's example forward, we will never see how payroll came up with that
$300 for the three Months, if we use Retro Pay by Aggregate. It’s abstracted.
Here it was simple to track, as its just $100/ month. But in Complex
Calculations it will be completely abstract.
Set up:
This one
is similar to "Retro Pay by Aggregate". Just that it gives us the
clear picture without any abstraction. It allows us to see how backdated
changes are distributed across Individual processes. Here the system uses the
old information and also calculates the difference using the new information
and finally updates the system.
Set up:
This
option is chosen when we want the retro to be applied for one single Element
without recalculating the others. This is highly specific to Elements and
does not happen a lot often. Imagine just a Post Tax Bonus was updated wrong
in Joe's record. To correct situations like that, we might need Retro Pay by
Element
Set up:
This is
not required in Retro Pay by Element. This is used only in the other two
cases.
Responsibility: HRMS Manager
Navigation: Payroll -> RetroPay Set
Steps: Create a new record and enter the
details.
Responsibility: HRMS Manager
Navigation: View (M) -> Request (M) ->Submit
a new request -> single request
Steps: Enter the name of the Process
"RetroPay by Aggregate or RetroPay by Run or RetroPay by Element."
and enter the parameters.
Oracle
Payroll now rolls back and reprocesses all the payrolls for the assignment
set from the date we specified. The system compares the old balance values
with the new ones and creates entry values for the Retro Pay elements based
on the difference. These entries are processed for the assignments in the
subsequent payroll run for our current period. No changes are made to our
audited payroll data.
|
Summary
Payroll
does not deal with a lot of tables, in comparison with other modules like
Benefits / Core-HR. So the idea was to go through the functional set ups
first and then look at the technical aspects, and peep through the tables.
PAY_ELEMENT_TYPES_F: No need to say, that this is a
date track enabled table. This table stores the details about all the
elements in the system. The Primary key is ELEMENT_TYPE_ID and the two date
fields. This is usually used to get the name of the element, as
ELEMENT_TYPE_ID is used in a lot of places to refer to the element.
PAY_ELEMENT_LINKS_F: This one is date track enabled
as well. This one stores the details on the links. The primary key is:
ELEMENT_LINK_ID and the two date tracked columns, stores the ELEMENT_TYPE_ID
as the foreign key.
PAY_INPUT_VALUES_F: This table stores the Input
values for each element. This is the Date track enabled table. The primary
key is INPUT_VALUE_ID and the two date tracked columns. This table also holds
the ELEMENT_TYPE_ID as a foreign key to PAY_ELEMENT_TYPES_F. This can be
used to pull in the Element input value name.
PAY_ELEMENT_ENTRIES_F: This is another Date tracked
table. This one stores the details about the element entries. The table
stores the Entries with the ASSIGNMENT_ID and the ELEMENT_LINK_ID as
foreign key. The Primary key is ELEMENT_ENTRY_ID. This table also links
itself to PAY_ELEMENT_TYPES_F with storing ELEMENT_TYPE_ID as a
foreign key.
PAY_ELEMENT_ENTRY_VALUES_F: This date track enabled table
stores the values for each entry. This table has only 6 columns. Out of
which, the Primary key is: ELEMENT_ENTRY_VALUE_ID and the two date
tracked columns, it stores the ELEMENT_ENTRY_ID as the foreign key to PAY_ELEMENT_ENTRIES_F
and the SCREEN_ENTRY_VALUE stores the actual value of the Input Value. The
INPUT_VALUE_ID column links the table to the Input values table
(PAY_INPUT_VALUES_F).
PAY_PAYROLL_ACTIONS: This table logs all the actions
taken by the Payroll Engine. Primary key is PAYROLL_ACTION_ID, and it logs in
each and every activity. The Table is capable enough to store a lot of
information as it has got columns to store all kind of data used in Payroll;
although it does not populate all the columns / row. However it logs in only
the ones those are needed.
PAY_RUN_RESULTS: This table stores the status
related to the elements against the assignment actions. The primary key is
RUN_RESULT_ID. ELEMENT_TYPE_ID and ASSIGNMENT_ACTION_ID are the two other
important foreign keys.
PAY_RUN_RESULT_VALUES: This table takes the
RUN_RESULT_ID and the INPUT_VALUE_ID and stores the Value obtained by the
Payroll Engine.
So these
were the important tables in Payroll. However here is a list of few others,
which are use very frequently.
|
Comments
Post a Comment