Sunday, February 23, 2014

What is Costing in Oracle Payroll?

What is Costing in Accounting?

Determining the costs of products, processes, projects, etc. in order to report the correct amounts on the financial statements. The employees of a company are also a cost to the company, hence the salaries paid to the employees are costed and recorded on the company financial statements.

Example:

Let’s assume that there is a company BIG ERP, under which we have departments IT and HR.


The total no of employees working in the company BIG ERP is 100. Out of which 80 are working in IT and 20 are working in HR department.

Every month the total salaries paid to the employees in IT department is around 200000 and employee in HR department is around 50000.

Following account codes have been given to the departments:

Department Name
Account Code
BIG ERP
X
IT
Y
HR
Z

Now when costing of employees salaries is done, we will see the account codes as per below table:

Account Code
Credit Account Code
Debit Account Code
Amount
IT
X
Y
200000
HR
X
Z
50000

When these details are recorded on the financial statements of the company, we can know from which account the salaries to the employees of the department has been paid.

Oracle Payroll Accounting Basics
Please find the very basics of accounting in Oracle Payroll Module
Earning Elements
Debit or Credit
Account Type
Debit
Balancing Account
Credit
Actual Account
Deduction Elements
Debit or Credit
Account Type
Debit
Actual Account
Credit          
Balancing Account
Information Elements
Debit or Credit
Account Type
Debit
Balancing Account
Credit
Actual Account

Please find the below example in detail
The Actual Account and Balancing Account codes are as follows

Department Name
Account Code
Balancing Account
BIG ERP

X
IT
Y

HR
Z




In oracle payroll we are using the element Basic Salary to pay salary of an employee and Unpaid Leave element to deduct the salary for the unpaid leaves of the employees.
When the costing is run the following will be the results

Cost Code for Basic Salary Element
Debit or Credit
Account Type
Debit
Y
Credit
X
Cost Code of Unpaid Leave Element
Debit or Credit
Account Type
Debit
Z
Credit          
X

Monday, February 17, 2014

Oracle Payroll Performance Improvement

Oracle Diagnostics used to assist with Performance Issue
  • HRMS Technical Diagnostics – Oracle Doc ID 360833.1
  • Run Balance Diagnostics (if issue is associated with a Payroll report or process)
  • BDE_CHK_CBO script output - Oracle Doc ID 174605.1

HRMS Technical Diagnostics
  • Review patching levels to ensure that the latest mandatory patching has been applied.Utilize Oracle E-Business Suite HCM Information Center - Consolidated HRMS Mandatory Patch List Oracle Doc ID 1160507.1 to assist in confirmation.
  • Review the table PAY_ACTION_PARAMETERS, specifically those associated with performance:

o  'THREADS'  - this parameter should be set to 1.5 to 2 times the number of processors on machine. Oracle Doc ID 359354.1 (How to Determine the Best Setting for the THREADS Parameter in the PAY_ACTION_PARAMETERS table)
o  'CHUNK SIZE' - Size of the chunks (commit units).  This defaults to 20.  Increasing this amount can assist with performance, in that the system is not performing commits as often.  Acceptable values (1-16000)
o   'TRACE' - make sure that this parameter is either not on the table or set to the value of N (unless you have intentionally set this parameter to trace the process)
  • The following parameters default to 20, although you can consider setting that at 100 to assist with performance

o   BAL BUFFER SIZE - Size of the Balance Buffer in the Payroll Run
o   EE_BUFFER_SIZE - Element entry buffer size for payroll run
o   RR BUFFER SIZE - Run result buffer size for the payroll run
o   RRV BUFFER SIZE - Run value buffer size for the payroll run
  • Review Table settings / Last Analyzed date to ensure that the ‘Hot’ Payroll tables have been analyzed within the last month.  Tables should be analyzed with the Payroll cycle (i.e. If the Payroll runs monthly, then analyze the tables monthly) as there are a large amount of inserts which occur to these tables during the payroll process.
o   If necessary, Gather Schema Statistics should be executed at 20%
  • If US Legislation:  Check the table size of the PAY_US_RPT_TOTALS table.  This table temporarily holds report data while the process is executing and then removes it unless an issue occurs.  If there is a large amount of data on this table it can cause report performance issues.  To assist in cleaning up this table, see: How to remove obsolete data on PAY_US_RPT_TOTALS table.  Oracle Doc ID 256143.1
  • Review Max_dump_file_size – the value of this will need to be set to ‘UNLIMITED’ if it is determined that a performance trace needs to be executed to ensure that the trace output file is not truncated.
Run Balance Diagnostics -these should be reviewed if the performance issue is associated with any Payroll process or report
  • Verify that all Run Balances are in a ‘Valid’ status. If Run Balances are INVALID, then the Generate Run Balances process will need to be executed to clean up balances.
  • Verify that all Run Balances contain a load date of 01/01/XXXX - where XXXX is less than or equal to the year that the process is retrieving data for. If Load dates need to be address, utilize the Adjust Run Balance Process.

For more information, see Oracle Doc ID 344914.1  Useful Information about the Payroll Run Balance

BDE_CHK_CBO Health check – Oracle Doc ID 174605.1
  • Verify the Init.ora settings, based on the notes identified in the Health check document associated with the database the issue is seen on.
  • Verify the database compatibility settings, this should be set to the same version of the database that the performance issue is seen on.

If the above steps does not resolve the issue, you can raise a ticket with Oracle Support Team and investigate further. You can also refer the Oracle Doc ID 419075.1  for more details on payroll performance improvement steps.

Sunday, February 16, 2014

General and Oracle Payroll Life Cycle Activities

Payroll Life Cycle processes can be categorized into following three different section
  • Pre-Payroll Activities
  • Payroll Run Activities
  • Post-Payroll Activities



Pre-Payroll Activities
  • Data Entries
  • Salary Corrections
  • Time and Attendance entries
  • Leave Entries
  • Data Corrections
  • Retro changes
  • Pay Adjustments

Payroll Run Activities
  • Calculate the actual pay
  • Generate actual pay

Post Payroll Activities
  • Reconcile for variances in payments
  • Bank payments
  • Cheque payments
  • Cash Payments
  • Reconcile generated and transferred payments
  • Transfer payment and deduction details to GL



Oracle Payroll Life Cycle Activities:


Saturday, February 15, 2014

Special Information types (SIT) and Extra Information Types (EIT)

Differences between SIT and EIT

Special Information Types (SIT)
Extra Information Types (EIT)
Belongs to Key Flex Fields family
Belongs to Descriptive Flex Fields family
Special Information Types:
  • Jobs (Job Requirements)
  • People (Person Analyses)
  • Positions (Position Requirements)

List of Extra Information  Types:
  • Location Extra Information
  • Pay Element Type Extra Information
  • Contact Extra Information
  • Job Extra Information
  • People Extra Information
  • Position Extra Information
  • Previous Job Extra Information
  • Vehicle Allocation Extra Information
  • Vehicle Repository Extra Information

To implement security on SIT, you need to create a custom Form / Taskflow
EITs can have additional security at responsibility level applied
SIT are date track enabled with two fields Start Date and End Date readily available.
EIT’s we have explicitly create two extra fields to enable capture star date and end date. This is not date track, but we can track the history of the records.

Requirement: We need to capture following two fields against an employee

Segment1
Qatari National (Yes / No)
Segment2
Color Blind (Yes / No)

Data captured using SIT

Example1:
If two employees are Qatari National and not Color Blind, then one record is created in the table PER_ANALYSIS_CRITERIA as per below:

ANALYSIS_CRITERIA_ID
START_DATE_ACTIVE
END_DATE_ACTIVE
SEGMENT1
SEGMENT2
10001
01-JAN-2014

Yes
No

Now data in the table PER_PERSON_ANALYSES is stored as per below and you will find same ANALYSIS_CRITERIA_ID for both the employees

PERSON_ANALYSIS_ID
ANALYSIS_CRITERIA_ID
PERSON_ID
2512
10001
121
2513
10001
123

Example2:
If two employees are Qatari National, one is Color Blind and other is not Color Blind; then two records are created in the table PER_ANALYSIS_CRITERIA.

ANALYSIS_CRITERIA_ID
START_DATE_ACTIVE
END_DATE_ACTIVE
SEGMENT1
SEGMENT2
10001
01-JAN-2014

Yes
No
10002
01-JAN-2014

Yes
Yes

Now data in the table PER_PERSON_ANALYSES is stored as per below and you will find two different  ANALYSIS_CRITERIA_ID for the employees

PERSON_ANALYSIS_ID
ANALYSIS_CRITERIA_ID
PERSON_ID
2512
10001
121
2513
10002
123

Data captured using EIT

Example1:
If two employees are Qatari National and not Color Blind, then two records are created in the table PER_PEOPLE_EXTRA_INFO.

PERSON_EXTRA_INFO_ID
PERSON_ID
PEI_INFORMATION1
PEI_INFORMATION2
50001
121
Yes
No
50002
123
Yes
No

Example2:
If two employees are Qatari National, one is Color Blind and other is not Color Blind; then two records are created in the table PER_PEOPLE_EXTRA_INFO.

PERSON_EXTRA_INFO_ID
PERSON_ID
PEI_INFORMATION1
PEI_INFORMATION2
50001
121
Yes
No
50002
123
Yes
Yes

How to decide between and SIT and EIT:
  1. SIT's should be used where data is infrequently changed, or where there is a good deal of commonality of values held against your user population to make the storing of the unique combinations effective. If everyone had completely different values for the SIT segment combinations then (in my opinion) this would be a poor use of a SIT and would be better served in an EIT.
  2. If you want to restrict the values at the responsibility level, it will be better to go for EIT than SIT.
  3. Data in EIT against an employee record will be visible to all the users that have access to the Employee creation/query screen. On the contrary, using HR Workflow security, we can make SIT to become visible for the responsibility that we desire.
  4. You can define as many contexts as you desire for special information type key Flexfield

Please refer the below URL on how to setup an SIT:

Please refer the below URL on how to setup an EIT: