Okay.. this was again a hetric week , learn some of new things from HR area. As helping some fresh payroll guys who was doing some report development and other group came for some rescue for balances discrepancy from payroll they transfer to GL. Thought to have this post , and tried to cover some of the vital information which purely focus on Payroll to GL transfer Process.
What is purpose of Payroll Costing and Transfer to General Ledger ?
In Payroll area, the Costing process basically allocates payroll run which results to cost segments.
The Transfer to the General Ledger process transfers cost information to Oracle General Ledger interface tables.
At the installation - setting up segments of the Cost Allocation key flexfield to determine the windows in which users can select cost codes.
Oracle Costing you use a post–payroll run process to accumulate payroll costs.
For Oracle General Ledger you can map the segments of the Cost Allocation key flexfield to the corresponding segments of the General Ledger Accounting flexfield.
If you do not using GL in same product, you may consider how to relate information on labor costs entered in Oracle Human Resources to your financial systems.
Who drives the payroll costing :Its Cost Allocation Flex field Segments
Define a structure for your Cost Allocation Flex field which contains the segments you want to use for your Business Group. You will use this structure to enter your payroll costing details in Oracle HRMS.
You use Segment Qualifiers to control the level at which costing information can be entered to the system. Each Qualifier determines the level at which costing information can be entered
How it works
The costing process picks up 'run results'. The specific 'payroll actions' that will be picked up by the costing process are in PAY_ACTION_CLASSIFICATION table and have a CLASSIFICATION_NAME of 'COSTED".
So the process will create an assignment_action for every assignment that has a run result from one of the 'costed' classifications.
The process then populates the PAY_COSTS table with the run result value (costed value). The actual cost code is stored on the PAY_COST_ALLOCATION_KEYFLEX table in the 'concatenated_segments' column, this is referenced using the 'cost_allocation_keyflex_id' from PAY_COSTS. (Adopted - Source metalink)
When the Payroll costing results are transferred to Oracle General Ledger only the mapped segments and the costing amounts are transferred. The data is transferred from the PAY_COSTS table into the GL_INTERFACE table by running the Oracle Payroll process Transfer to GL. After the transfer from Payroll is complete, the batch will need to be imported into GL. This is done by running the Oracle General Ledger standard GL Import process .
Transfer Program to GL process populates the following columns:
accounting_date : This is effective date of payroll run
created_by :801...which is the application id for Payroll
user_je_category_name :hard-coded as Payroll
user_je_source_name :hard-coded as Payroll
entered_dr :the dollar amount to be debited
entered_cr :the dollar amount to be credited
reference21 :payroll_action_id of the transfer to GL process from pay_payroll_actions
reference22 :cost_allocation_keyflex_id from pay_cost_allocation_keyflex
Which program take care of payroll cost transfer.
It is pytrangl.pkb, located in $PAY_TOP/patch/115/sql/pytrangl.pkb
What data is mapped from Payroll to General Ledger when information
Similar to other Application transfer program, Payroll transfer populates the following reference columns in GL_INTERFACE:
- Reference21 :Payroll_action_id of Payroll Transfer to GL process
- Reference22 :Cost_allocation_keyflex_id of Payroll cost flexfield for this entry
- Reference23 :effective date of the Payroll Run this entry is derived from
- Reference24 :Date_earned of the Payroll Run this entry is derived from
- Reference25 :Payroll_action_id of Payroll Run this entry is derived from
Journal import is then placed these in reference1, reference2, reference3, reference4 and reference5 in GL_IMPORT_REFERENCES table.
The GL_IMPORT_REFERENCES columns are actually populated during the GL Journal Import process. Although these are mapped from the columns in the GL_INTERFACE table, the 'Transfer to GL' process does not actually populate the GL_IMPORT_REFERENCES table
Technical Tables Involved
Step for Payroll Tranfer To GL
1) insert the following parameters in PAY_ACTION_PARAMETERS
Costing results are generated based on the check date of the payroll process. However, you do have the ability to set the accounting date for the transfer to date earned rather than date paid. To do this you would need to change the TGL_DATE_USED pay action parameter to "E". If you do not do this then the accounting date of the transfer defaults to the check date of the originating payroll
2) Setup your costing flexfield qualifiers.
3) Create an element.
4) Link the element : You need to check the costing radio button,and transfer to GL checkbox. Then you have to enter the values for the costing/balancing field.
5) Then you need to run the quickpay/pre-payments/costing process
6) Then you can track the ASSIGNMENT_ACTION_ID and PAYROLL_ACTION_ID navigating to View-->Payroll Process Results/Assignment Process Results
7) Verify that the costing details are created in PAY_COSTS table.
This is small query which you can use to get the details:
8) Then you need to run the Payroll transfer to GL process: Here are the data get inserted in GL Interface.
- SELECT  gl.*
- FROM  pay_payroll_actions ppa,
- pay_assignment_actions paa,
- pay_costs pcv,
- gl_interface gl
- WHERE  ppa.payroll_action_id = :costing_payroll_action
- AND  ppa.action_type='C'
- AND  pcv.transfer_to_gl_flag='Y'
- AND  ppa.payroll_action_id = paa.payroll_action_id
- AND  paa.assignment_action_id=pcv.assignment_action_id
- AND  gl.user_je_source_name='Payroll'
9) Verify the data should be imported into gl_interfaces
Do a quick check
10) Then import the same in GL by navigating to Journal-->Import.
Running Transfer To GL Process
- Select View tab in the menu and then select requests
- Select Submit a New Request button
- Select Single Request radio button and then click ok button
- Now enter as follows
Name : Transfer To GL
Select the parameters Field then enter the Following details
Payroll Name: enter the Payroll Name for which you want to Process
Consolidation Set : Consolidation Set name of a Payroll
Start Date : Select the Start Period for which you want to run the Payroll
End Date: Period End Date
- Then after filling the above fields then select OK Button
- Select Submit button to submit the
Query to get Payroll data in GL side
Here is small query that you can use to get the details of Payroll data from GL side.Script 
Let me know, if you have any question and comments for GL transfer of Payroll area.:)