Thursday, July 18, 2024

P2P - Procure to Pay Life Cycle Process

 P2P - Procure to Pay Life Cycle Process

Stage 1: Choosing an Item

Let us choose an item to be procured in our example. 

Go to Purchasing Responsibility and follow the below navigation to check for the suitable item.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiNiARLHGPX_LcnBe5YoeCp0GbwgrlglYpJ4bY3g1XoL7wYPHpDvg8ITLL2mS6RMsPhyphenhyphenPsAphWqGOsZxknIY1NicHKT9TR4GKCWo5Gs3lQj-nzLOC4vgBz6uec9LZUED6WcQRdmdazwwky/s320/Item+Navigation.JPG 


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgszBkksIt4tHfT2GIIDyva39a0o0TnlZqOlK7xRjWDmrQeaIqeaoqVuWfgcBxQ1YP__VdYlgN56nOmVVBKi-4ewqwC_bkFJLn6c88UlYD4C_AQmD-Gy8jSVNbn4e_IRbHXF4h1TlcIqGgv/s320/Master+Items.JPG


The item picked for our example should be purchasable item as above. Click on tools and choose “Categories” to view the below screen.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJH0o3xRrbBUNKHcHGUe0MEwucJAWOC6cX-LlAZSzzfPSCo5n0CYzQPhSdZO8rr3Sp5wsUuHiTc7bVnzwRsokeDHaXlJZyvM_GDpYFxCzHkhpL8rXR_7MUhFPWxA7BkuGp0gKyJtTFM03P/s320/Categories.JPG


Stage 2: Creation of Requisition

Follow the below Navigation to reach Requisition Form. 

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBG66Qke_gvWCDTn9tyyHgOhIgkZYMj9ZyFHw7W8k_Wy3ewcNHSdbHuBxenijTKCXw3D-sCXTT1pDh2BvvZLPI5zzp4vwf6fCrMq4iLZtMwow1jufE8-FeQL17CALU1Tcoj-d2dwVM5nV7/s320/Requisition+Navigation.JPG


Create a new Requisition for the item viewed in Stage 1.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEianZGVaGRQlTvVFmhRCQY7SiQnbXeGYPRcUAYnacsTG1a8yP4wGb3fr_vRA_ABnOZScc0FLN3TkAVmHCR0lkbYkc5vUTGR1iCU84XWKif4V4ZbSJi3FOArLLFf_lLRTD5X07nauWnMuXI2/s320/Requisition+New.JPG


Click on Distributions to View the charge Account.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxZHv0Qi4c94j3jeu4y7FQOFgpjoyelqvBxZuveibdAYWxNut29tErH5bb8YSKjbXlWVViw1QseR0QcupdI6Fgs_yqx7szn60MVYzt3KQezsppa7qPvQCOTep2NuaQgKI9rHB34536Z-7O/s320/PR+Distribution.JPG 


Save and Submit for Approval

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3YpaPWjBSIZKhjFQbcst2padYBg0EaI9a948L9-YXS1qw2zzGF1YMw_qxy271IjazeW3momzkDE0JTXspbeczOPT1xLuFWwamYs6AvAe6XwtOThwJBvuloGgdIvAmndTHKDo1YEHgLgL2/s320/PR+Approval+initial.JPG 


Now note down the Requisition number and open the “Requisition Summary Form” to view the status of it. For our Example, Requisition number is: 14855


Stage 3 : Checking the Status of Requisition


Query for the Requisition Number and click Find.


Here for our example purpose, I kept the submitted and approved person has same and hence it shows the status as approved.



 To see the approval status, please follow the below navigation. 


  

Stage 4 : Creation of Purchase Order

For creating a Purchase order, let us use the “Autocreate Documents” Form. Follow the below Navigation


Query for the Requisition



 Click on Automatic as shown in the above figure to create a Purchase Order

  

Click on “Create” button to create a Purchase order


  

 View the shipment screen to change the “Match Approval Level” to “2-Way”.


Click the “Receiving Controls” to make sure that the “Routing” is made as “Direct Routing”



 Click Save and submit for Approval.



Note down the PO Number.

  

Stage 5: Creation of Receipts


Query with the Purchase order created in the above stage.


 Check the check box near to the lines that are received and click save.

  

Click the “Header Button” to view the Receipt Number.


Stage 6: Checking the On Hand

 Go to any Inventory Responsibility and follow the below Navigation


 Query for our Receipt and make sure the Organization is the same as we received.


 Below screen will show that our inventory has been increased by 5 quantities.


Stage 7: Check the Material Transactions

Follow the below Navigation to reach “Material Transactions” Form


 Query for the item and date as below


 Below screen shows the source and transaction Type


 Below screen shows you the Serial Numbers of the items received.


  

Stage 8: Creation of Invoice

Navigate to any Purchasing Responsibility and view  Requests 

Submit the below requests by providing the Receipt number as Parameter to create an invoice.


 Check the status of the program.


Stage 9: Checking the Invoice

Change to any Payables Responsibility and open the invoices Form.

Query for the Purchase order as below,



 Click “Actions” Button then tick the “Validate Check Box” and press “Ok” to validate the invoice

  

Below screenshot will give you the status of the invoice

  

Stage 10: Creation of Accounting and Payment

Once invoice got approved, we can “Create Accounting” and “Create Payments” via “Action” Button in the “Invoice Form” as we validated the invoice.

Thus the brief description of P2P cycle came to end.  













P 2 P Cycle   ( PO-INV-AP )


Procure to Pay cycle-

1) Requisition creation in PO

2) Purchase order creation (Manual or Automatic)

3) Receipt creation 

4) Invoicing in AP

5) Payment in AP


GO TO PURCHASING VISION OPERATION RESPONSIBULITY

      

      REQUISITION

         |

      RFQ

         |

      QUOTATION

         |

      PURCHASE ORDER

         |

      RECEIPT THEN GO TO ACCOUNT PAYABLES

        AP

          |

       INVOICES

          |

       PAYMENTS

          |

          |----PAYMENTS REGISTER IN GL

==================================


First of All We 

(1)Create a Suppliers 

(2)Create a Requisition 

(3)Craete RFQ Throgh AutoCreate

(4)Quatation Analysis

(5)Approved Supplier Which one is the best

(5)PO Create

(6)Receipt

(7)AP Invoice

(8)Payments

(9)Transfer To GL by Payables Transfer To GL Concurrent Program

(10)Posted In GL


REQ--->RFQ--QT---ANALYSYS---PO--REC--INVOICE--PAYMENT--TRANSFER TO GL---POST IN GL



purchase requisition

         |

request for quotation

         |

quote analysis

         |

purchase order

         |

receipt to purchase order

         |

invoice to purchase order

         |

payment to purchase order

         |

transfer to GL and then post


---------------------------------------------

Procure To Pay Cycle(p2p)


  |requisition

po |    |

  |   RFQ's

  |      |

  |   quotation

  |      |

  |     PO (purchasing order)

   ---  |

   |  receipt

   |    |

 AP-|    invoice

   |      |

   |    payments

    ---

==============================

1. Define Item( in INV module)

2. Define Employee(in HRMS module)

3. Define Buyer(in PO module)

4. Attach buyer to your fnd user

5. Define Requisition

6. Define RFQ(Request for Quotation)

7. Define Quotation

8. Define PO

9. Define Receipt

10.Define Invoice(Primarly create term,bank account and 

supplier)

11.Define Payments

12.  Run the Paybles transfer to general leadger



A single Query covering P2P life Cycle

In Finance, transaction management processing is one of labor intensive task in ERP, as it requires extensive data entry , chance are very very high for duplication/re-entry. As we know Procure to Pay life cycle start itself from contract management till making payment.


As we know the efficient Procure to pay process have these sub processes;

  • Contract Management

  • Purchase Requisitions

  • Purchase Orders

  • Accounts Payable - Managing invoice

  • Supplier Payment

p2p

In real business world, many time when system is running external/internal auditor are more interested in scrutiny of:

  • Goods received / invoices received

  • Inaccurate or duplicate vendor & material master records

  • Discrepancies in payment terms

  • Delays / long processing times

  • Detect duplicate vendor

  • Unusually large or small payments

  • Unauthorized changes made to invoices

  • Detect Duplicate invoice

  • Detect Duplicate payment

  • Approval status


Therefore, it is Inhouse ISD/Finance IT or implementing company responsibility is to provide such kind of adhoc reporting for auditor so that they can satisfy the audit requirement.


A 'P2P' query that made Auditors happy

It was brought by ISD team , as part year end audit for a ERP system which went live 3 month back. It was a one of requirement to display data for a particular PO which covers data from there all 5 five phases, means a particular PO line consist of:

  1. Requisition Detail

  2. Purchase Order Details

  3. Receiving Details

  4. Invoicing Detail

  5. Payment Details


Therefore thought to share this query, hope this would be great help who have such kind of adhoc requirement from daily life.

Here is query:

SELECT a.org_id "ORG ID", 

       e.vendor_name "VENDOR NAME", 

       Upper(e.vendor_type_lookup_code) "VENDOR TYPE", 

       f.vendor_site_code "VENDOR SITE", 

       f.address_line1 "ADDRESS", 

       f.city "CITY", 

       f.country "COUNTRY", 

       To_char(Trunc(d.creation_date)) "PO DATE", 

       d.segment1 "PO NUMBER", 

       d.type_lookup_code "PO TYPE", 

       c.quantity_ordered "QTY ORDERED", 

       c.quantity_cancelled "QTY CANCALLED", 

       g.item_description "ITEM DESCRIPTION", 

       g.unit_price "UNIT PRICE", 

       (Nvl(c.quantity_ordered,0)-Nvl(c.quantity_cancelled,0))*Nvl(g.unit_price,0) "PO Line Amount", 

       ( 

              SELECT Decode(ph.approved_flag, 'Y', 'Approved') 

              FROM   po.po_headers_all PH 

              WHERE  ph.po_header_id = d.po_header_id) "PO STATUS", 

       a.invoice_type_lookup_code "INVOICE TYPE", 

       a.invoice_amount "INVOICE AMOUNT", 

       To_char(Trunc(a.invoice_date)) "INVOICE DATE", 

       a.invoice_num "INVOICE NUMBER", 

       ( 

              SELECT Decode ( x.match_status_flag, 'A', 'Approved') 

              FROM   ap.ap_invoice_distributions_all X 

              WHERE  x.invoice_distribution_id = b.invoice_distribution_id)"Invoice Approved?",

       a.amount_paid, 

       h.amount, 

       i.check_number "CHEQUE NUMBER", 

       To_char(Trunc(i.check_date)) "PAYMENT DATE" 

FROM   ap.ap_invoices_all A, 

       ap.ap_invoice_distributions_all B, 

       po.po_distributions_all C, 

       po.po_headers_all D, 

       po.po_vendors E, 

       po.po_vendor_sites_all F, 

       po.po_lines_all G, 

       ap.ap_invoice_payments_all H, 

       ap.ap_checks_all I 

WHERE  a.invoice_id = b.invoice_id 

AND    b.po_distribution_id = c. po_distribution_id (+) 

AND    c.po_header_id = d.po_header_id (+) 

AND    e.vendor_id (+) = d.vendor_id 

AND    f.vendor_site_id (+) = d.vendor_site_id 

AND    .po_header_id = g.po_header_id 

AND    c.po_line_id = g.po_line_id 

AND    a.invoice_id = h.invoice_id 

AND    h.check_id = i.check_id 

AND    f.vendor_site_id = i.vendor_site_id 

AND    c.po_header_id IS NOT NULL 

AND    a.payment_status_flag = 'Y' 

AND    d.type_lookup_code != 'BLANKET';


EBS : Package Development Process

====================== Package Specification ================================== CREATE OR REPLACE PACKAGE xx_emp_package IS     PROCEDURE lo...