Search This Blog

Tuesday, May 8, 2012

Payroll Costing and Transfer to General Ledger


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:
      • status
      • set_of_books_id
      • accounting_date : This is effective date of payroll run
      • currency_code
      • date_created
      • created_by :801...which is the application id for Payroll
      • actual_flag
      • 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
      dgreybarrow Which program take care of payroll cost transfer.
      It is pytrangl.pkb, located in $PAY_TOP/patch/115/sql/pytrangl.pkb
      dgreybarrowWhat 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
      dgreybarrowTechnical Tables Involved
      • pay_assignment_actions
      • pay_action_interlocks
      • pay_assignment_actions
      • pay_gl_interface
      • pay_cost_allocation_keyflex
      • gl_import-refrence
      • gl_interface
      dgreybarrowStep 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
       
      INSERT INTO PAY_ACTION_PARAMETERS VALUES ('TGL_DATE_USED','E');
      INSERT INTO PAY_ACTION_PARAMETERS VALUES ('TGL_REVB_ACC_DATE','Y');
      INSERT INTO PAY_ACTION_PARAMETERS VALUES ('TGL_GROUP_ID','Y');
       
      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:
       
       
      SELECT * FROM PAY_COSTS WHERE ASSIGNMENT_ACTION_ID = &assignment_action_id;
       
      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'
      AND gl.reference22=TO_CHAR(pcv.cost_allocation_keyflex_id));
       
      9) Verify the data should be imported into gl_interfaces
      Do a quick check
       
      <pre>select * FROM gl_interface
      WHERE set_of_books_id =1003 --(set_of_books_id)
      AND GROUP_ID =123   -enter_group_id
       
      10) Then import the same in GL by navigating to Journal-->Import.
      dgreybarrow Running Transfer To GL Process
      1. Select View tab in the menu and then select requests
      2. Select Submit a New Request button
      3. Select Single Request radio button and then click ok button
      4. 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
      5. Then after filling the above fields then select OK Button
      6. Select Submit button to submit the
      dgreybarrow 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.:)
       

No comments:

Post a Comment