Procurement

Procure to Pay cycle:

In P2P cycle the modules included are PO,AR,AP,CM and GL

The requirement arises from requirements for items, and company places order for items needed.
The vendor supplies the items. Once items are received payment will be made. That is a invoice will be raised and payment will be made to the vendor. The payment can be of cash, cheque etc.

This is governed under cash management and finally the transaction details will be accounted in GL.

Requisition
po_requisition_headers_all
po_requisition_lines_all ( segment1 ========== requisition number)
po_req_distributions_all
Note: requisition_header_id is the link between po_requisition_headers_all and po_requisition_lines_all
requisition_line_id is the link between po_requisition_lines_all and po_req_distributions_all
 

Purchase order
po_headers_all
po_lines_all
po_distributions_all
po_line_locations_all
Note: po_header_id is the link between all these tables

Receipt
rcv_shipment_headers
rcv_shipment_lines
rcv_transactions
quality result stored in qa_results table
Note: shipment_header_id is the link between rcv_shipment_headers and rcv_shipment_lines
po_header_id is the link between rcv_shipment_headers and rcv_transaction

Invoices
ap_invoices_all
ap_invoice_distributions_all
Note: invoice_id is the link between ap_invoices_all and ap_invoice_distributions_all

Payments
ap_checks_all
ap_invoice_payments_all
ap_payment_schedules_all

Payment Reconcillation
ap_banks
ap_bank_branches

GL Transfer
gl_periods
gl_period_status
gl_set_of_books
glfv_charts_of_accounts

1. Go to Purchasing > Requisitions > Requisition Summary.

In the Find Requisitions window, enter requisition number found in the previous step and

click on Find.

2. Go to Purchasing > Autocreate.

From Edit > Clear > Record, clear any query criteria that may be defaulted.

Enter requisition number and click Find.

Check the checkbox to the left of the line, and click on Automatic.

Enter the Supplier and Supplier site such as the following and click on Create

3. Go to Purchasing > Receiving > Receipts.

Enter Purchase Order number and click on Find.

In the Receipts window, check the checkbox to the left of the line and enter

Destination Type : Inventory

Subinventory : FGI

Save the receipt.

4. Go to Purchasing > Receiving > Receiving Transactions Summary.

Enter the Purchase Order number and click on Find.

Click on the Transactions button.

Verify a Receive and Delivery transaction. This means that the B2B item has been received into Inventory.

5. Payables > Invoices > Entry > Invoices
Enter the supplier, amount and other details.

6. Match the invoice with Receipt or with PO. Open Invoice > Match (B) > Enter PO / Receipt Number > Find (B)

Validate Invoice: Open Invoice > Actions… 1 (B)

7. Verify Invoice Status:

Create Accounting and initiate Payment: Open Invoice > Actions… 1 (B)
Enter Payment details and Save.

 

 

 

 

 

Oracle Procure to Pay (P2P) query:

Following queries can be very helpful if you are working in Purchasing module and need to know the details of a P2P transaction.

Stage 1: SQL Queries To See The Details Of  a PO After It's Creation :

double-arrowPO_HEADERS_ALL
select po_header_id from po_headers_all where segment1 =<po_number>;
select * from po_headers_all where po_header_id =<po_header_id>;
double-arrowpo_lines_all
 
 
select * from po_lines_all where po_header_id =<po_header_id>;
double-arrowpo_line_locations_all
select * from po_line_locations_all where po_header_id =<po_header_id>;
double-arrowpo_distributions_all
select * from po_distributions_all where po_header_id =<po_header_id>;
double-arrowpo_releases_all
SELECT * FROM po_releases_all WHERE po_header_id =<po_header_id>;
Stage 2: Once PO is received data is moved to respective receving tables and inventory tables
double-arrowRCV_SHIPMENT_HEADERS
select * from rcv_shipment_headers where shipment_header_id in
(select shipment_header_id from rcv_shipment_lines
where po_header_id =<po_header_id>);
double-arrowRCV_SHIPMENT_LINES
select * from rcv_shipment_lines where po_header_id =<po_header_id>;
double-arrowRCV_TRANSACTIONS
select * from rcv_transactions where po_header_id =<po_header_id>;
double-arrowRCV_ACCOUNTING_EVENTS
SELECT * FROM rcv_Accounting_Events WHERE rcv_transaction_id IN
(select transaction_id from rcv_transactions
where po_header_id =<po_header_id>);
double-arrowRCV_RECEIVING_SUB_LEDGER
select * from rcv_receiving_sub_ledger where rcv_transaction_id in (select transaction_id from rcv_transactions where po_header_id =<po_header_id>);
double-arrowRCV_SUB_LEDGER_DETAILS
select * from rcv_sub_ledger_details
where rcv_transaction_id in (select transaction_id from rcv_transactions where po_header_id =<po_header_id>);
double-arrowMTL_MATERIAL_TRANSACTIONS
select * from mtl_material_transactions where transaction_source_id =<po_header_id>;
double-arrowMTL_TRANSACTION_ACCOUNTS
select * from mtl_transaction_accounts where transaction_id in ( select transaction_id from mtl_material_transactions where transaction_source_id = =<po_header_id>);
Stage 3: Invoicing details
double-arrowAP_INVOICE_DISTRIBUTIONS_ALL
select * from ap_invoice_distributions_all where po_distribution_id in ( select po_distribution_id from po_distributions_all where po_header_id =<po_header_id>);
double-arrowAP_INVOICES_ALL
select * from ap_invoices_all where invoice_id in
(select invoice_id from ap_invoice_distributions_all where po_distribution_id in
( select po_distribution_id from po_distributions_all where po_header_id =<po_header_id>));
Stage 4 : Many Time there is tie up with Project related PO
double-arrowPA_EXPENDITURE_ITEMS_ALL
select * from pa_expenditure_items_all peia where peia.orig_transaction_reference in
( select to_char(transaction_id) from mtl_material_transactions
where transaction_source_id = <po_header_id> );
Stage 5 : General Ledger
double-arrowPrompt 17. GL_BC_PACKETS ..This is for encumbrances
SELECT * FROM gl_bc_packets WHERE reference2 IN ('<po_header_id>');
double-arrowGL_INTERFACE
SELECT *
FROM GL_INTERFACE GLI
WHERE user_je_source_name ='Purchasing'
AND gl_sl_link_table ='RSL'
AND reference21='PO'
AND EXISTS
( SELECT 1
FROM rcv_receiving_sub_ledger RRSL
WHERE GLI.reference22 =RRSL.reference2
AND GLI.reference23 =RRSL.reference3
AND GLI.reference24 =RRSL.reference4
AND RRSL.rcv_transaction_id in
(select transaction_id from rcv_transactions
where po_header_id <po_header_id>));
double-arrowGL_IMPORT_REFERENCES
SELECT *
FROM gl_import_references GLIR
WHERE reference_1='PO'
AND gl_sl_link_table ='RSL'
AND EXISTS
( SELECT 1
FROM rcv_receiving_sub_ledger RRSL
WHERE GLIR.reference_2 =RRSL.reference2
AND GLIR.reference_3 =RRSL.reference3
AND GLIR.reference_4 =RRSL.reference4
AND RRSL.rcv_transaction_id in
(select transaction_id from rcv_transactions
where po_header_id =<po_header_id>))