Thursday 7 April 2011

Procure to Pay cycle Functional Flow

Procure to Pay cycle covers the following steps
1. Creating Requisition
2. Creating Purchase Order
3. Creating Receipt
4. Creating Invoice in AP
5. Paying the Invoice
6. Transfer, Import and Post to GL

Overview:

In this article, we will see the steps involved in Procure to Pay Cycle. Here is the diagrammatic representation:

Procure_to_Pay

1) Create Requisition:

Requisition is nothing but a formal request to buy something (like Inventory material, office supplies etc) needed for the enterprise. Only an employee can create one. There are two types of requisitions:

Internal Requisition: Internal requisitions provide the mechanism for requesting and transferring material from one inventory to other inventory.

Purchase requisition: Unlike Internal requisitions, Purchase requisitions are used for requesting material from suppliers.

Navigation:

Purchasing Vision Operations (USA) > Requisitions > Requisitions

Choose the requisition type and enter the Item, quantity, Price details in the Lines tab.

Procure_to_Pay

In Source Details tab, specify the Buyer name.

Procure_to_Pay

Click the Distributions button. Enter the Charge Account.

Procure_to_Pay

Save the work. The status of the requisition will now be Incomplete. And now the Approve button is highlighted. The requisition needs to be approved first before proceeding further by the concerned authority. Submit this requisition for Approval by clicking on the Approve button. The status will now be updated to In Process .The workflow then will send an Approval notification to the concerned person (derived based on hierarchy used Position or Supervisor hierarchy) using which he can Approve or Reject the requisition.

Procure_to_Pay

At any time the status of requisition can be checked using the Requisition summary window.

Navigation:

Requisitions > Requisition Summary

Enter requisition number and click on the find button.

Procure_to_Pay

We can also check the Action History of requisition (it will show details about who has submitted, approved and cancelled the requisitions) as below:

Navigation:

Tools menu > Action History.

Underlying Tables:

PO_REQUISITION_HEADERS_ALL

PO_REQUISITION_LINES_ALL

PO_REQ_DISTRIBUTIONS_ALL

2) Create Purchase Order:

There are 4 types of Purchase Orders:

1. Standard PO: A Standard PO is created for onetime purchase of various items

2. Planned PO: A Planned PO is a longterm agreement committing to buy items or services from a single source. You must specify tentative delivery schedules and all details for goods or services that you want to buy, including charge account, quantities, and estimated cost.

3. Blanket agreement: A Blanket PO is created when you know the detail of the goods or services you plan to buy from a specific supplier in a period, but you do not know the detail of your delivery schedules.

4. Contract agreement: Contract purchase agreements are created with your suppliers to agree

on specific terms and conditions without indicating the goods and services that you will be purchasing

Navigation for creating a standard PO:

Purchase Orders > Purchase Orders

Choose type as Standard Purchase Order. Enter the Supplier, Buyer. In the Lines tab, specify the line number, line type, Item, quantity, price etc.

Procure_to_Pay

Click Terms to enter terms, conditions, and control information for purchase orders.

Click Currency button to enter and change currency information for purchase orders, RFQs, and quotations.

Click Shipments button to enter multiple shipments for standard and planned purchase order lines Purchase order shipment specifies the quantity, shipto organization and location, date you want your supplier to deliver the items on a purchase order line, and country of origin for the items. When you save, Purchasing creates distributions depending on the default information available.

Procure_to_Pay

To enter more shipment information, select the More tab.

  1. Enter the Receipt Close Tolerance percent, Invoice Close Tolerance percent to set the receiving and invoice close point.
  2. Select one of the following options for Match Approval Level:

TwoWay: Purchase order and invoice quantities must match within tolerance before the corresponding invoice can be paid.

ThreeWay: Purchase order, receipt, and invoice quantities must match within tolerance before the corresponding invoice can be paid.

FourWay: Purchase order, receipt, accepted, and invoice quantities must match within tolerance before the corresponding invoice can be paid.

  1. Select an Invoice Match Option:

Purchase Order: Payables must match the invoice to the purchase order.

Receipt: Payables must match the invoice to the receipt.

Save the work.

Procure_to_Pay

Click the Receiving Controls button to enter receiving control information for purchase orders.

- Enter the maximum acceptable number of Days Early and Days Late for receipts.

- Enter the Action for receipt date control.

- Enter the maximum acceptable overreceipt Tolerance percent (receipts that exceed the

quantity received tolerance).

- Enter the Action for Overreceipt Quantity.

- Select Allow Substitute Receipts to indicate that receivers can receive substitute items in place

of ordered items.

- Enter the default Receipt Routing that you assign goods: Direct Delivery, Inspection Required,

or Standard Receipt.

- Enter the Enforce Ship To location option to determine whether the receiving location must be

the same as the shipto location.

Save the work.

Procure_to_Pay

Click Distributions button to enter distributions for the shipments.

Select more tab to enter more details and the requisition number (optional).

Save the work.

Procure_to_Pay

Click on the Approve button to initiate the Approval process.

Procure_to_Pay

Underlying Tables:

PO_HEADERS_ALL

PO_LINES_ALL

PO_DISTRIBUTIONS_ALL (REQ_HEADER_REFERENCE_NUM in Distributions table is the Requisition number for this PO)

PO_LINE_LOCATIONS_ALL

3) Create Receipt:

Create a receipt to receive the items in the Purchase Order.

Navigation:

ReceivingReceipts

Enter the PO Number and select find button.

Procure_to_Pay

Go to Lines, check the lines you want to receive in the PO.

Procure_to_Pay

Click on Header button and Save which creates the receipt.

Procure_to_Pay

Receipt Tables are:

RCV_SHIPMENT_HEADERS

RCV_SHIPMENT_LINES (Lines Table has PO_HEADER_ID)

4) Create Invoice in Payables:

Once the goods are received, its time to pay the vendor for the goods purchased and hence the invoices are created.

Navigation:

Payables, Vision Operations (USA) > InvoicesEntryInvoices

Enter type -- Standard, supplier information and amount.

Procure_to_Pay

Click the Match button to match to either Purchase Order or Receipt (depending on the Invoice Match option specified on the PO) and avoid manually entering the invoice.

Enter the PO Number you want match to and click Find.

Procure_to_Pay

Select the lines required and click on Match button.

Procure_to_Pay

Click on Distribute button to navigate to the Match to Purchase Order Distributions window.

This creates the invoice and you can see the status of the invoice as Never Validated. it has to be Validated and Accounted before you can pay it.

Validating the Invoice:

Click on Actions Button and Select Validate. Click on OK button.

Procure_to_Pay

Now you can see the status of the invoice as Validated, if there are no issues during validation.

Procure_to_Pay

Create Accounting Entries:

Click on Actions Button and Select Create Accounting. Click on OK button.

Procure_to_Pay

Now we can see the Accounted status as Yes.

Procure_to_Pay

You can see the Accounting Entries here:

Tools View Accounting

Procure_to_Pay

Invoice Tables:

AP_INVOICES_ALL

AP_INVOICE_DISTRIBUTIONS_ALL

Accounting Entries Tables:

AP_ACCOUNTING_EVENTS_ALL

AP_AE_HEADERS_ALL

AP_AE_LINES_ALL

5) Making a Payment:

Go to the Invoice window and query the invoice you want to pay. You would see Amount paid as 0.00 before you make a payment.

Procure_to_Pay

Click Actions button. Select Pay in full and click OK.

Procure_to_Pay

Select the Bank Account and Document. Save the Work.

Procure_to_Pay

Now that the payment is made, when you query for the invoice in Invoice window, you will the Amount Paid as $4,000.00.

Create Accounting entries for payment.

Click Actions and select Create Accounting

Procure_to_Pay

Select the void checkbox to cancel the payment.

View Accounting Entries:

In the Payments window, query for the payment.

Tools menu View Accounting

Procure_to_Pay

Payment Tables:

AP_INVOICE_PAYMENTS_ALL

AP_PAYMENT_SCHEDULES_ALL

AP_CHECKS_ALL

AP_CHECK_FORMATS

AP_BANK_ACCOUNTS_ALL

AP_BANK_BRANCHES

AP_TERMS

You can also pay the invoices using Payment Batch screen. Refer to the article Make AP Payments through Payment Batches

6) Transfer to General Ledger:

Navigation:

Payables Responsibility > View Requests

Run the concurrent program Payables Transfer to General Ledger with the required parameters.

Procure_to_Pay

Journal Import:

Procure to Pay Cycle Technical

Procure to Pay Cycle Query

Includes two scripts to fetch all the transactions information related with in a procure to pay cycle.
Two scripts are provided to use one with receipts and other when receipts are not created.

Few important fields that were included in the script are Requisition Number, Purchase Order Number, Invoice Number, Customer Number, Invoice Amount, GL Transfer flag e.t.c
---------------------------------------
WITH RECEIPTS

-- PROCURE TO PAY CYCLE QUERY WITH RECEIPTS

SELECT DISTINCT reqh.segment1 req_num, reqh.authorization_status req_status,

-- POH.PO_HEADER_ID,

poh.segment1 po_num, pol.line_num,

poh.authorization_status po_status, rcvh.receipt_num,

rcv.inspection_status_code,

-- I.INVOICE_ID,

i.invoice_num, i.invoice_amount,

i.amount_paid, i.vendor_id,

-- V.VENDOR_NAME,

-- P.CHECK_ID,

c.check_number, h.gl_transfer_flag,

h.period_name

FROM ap_invoices_all i,

ap_invoice_distributions_all invd,

po_headers_all poh,

po_lines_all pol,

po_distributions_all pod,

po_vendors v,

po_requisition_headers_all reqh,

po_requisition_lines_all reql,

po_req_distributions_all reqd,

rcv_transactions rcv,

rcv_shipment_headers rcvh,

rcv_shipment_lines rcvl,

ap_invoice_payments_all p,

ap_checks_all c,

ap_ae_headers_all h,

ap_ae_lines_all l

WHERE 1 = 1

AND i.vendor_id = v.vendor_id

AND c.check_id = p.check_id

AND p.invoice_id = i.invoice_id

AND poh.po_header_id = pol.po_header_id

AND reqh.requisition_header_id = reql.requisition_header_id

AND reqd.requisition_line_id = reql.requisition_line_id

AND pod.req_distribution_id = reqd.distribution_id

AND pod.po_header_id = poh.po_header_id

--AND POH.PO_HEADER_ID = RCV.PO_HEADER_ID

AND rcvh.shipment_header_id = rcv.shipment_header_id(+)

--AND RCVH.SHIPMENT_HEADER_ID = RCVL.SHIPMENT_HEADER_ID

--AND RCV.TRANSACTION_TYPE = 'RECEIVE'

--AND RCV.SOURCE_DOCUMENT_CODE = 'PO'

--AND POL.PO_LINE_ID = RCV.PO_LINE_ID

--AND POD.PO_DISTRIBUTION_ID = RCV.PO_DISTRIBUTION_ID

AND pod.po_distribution_id = invd.po_distribution_id

AND invd.invoice_id = i.invoice_id

AND h.ae_header_id = l.ae_header_id

AND l.source_table = 'AP_INVOICES'

AND l.source_id = i.invoice_id

--AND POH.SEGMENT1 = 36420 -- PO NUMBER

AND reqh.segment1 = '501' -- REQ NUMBER

--AND I.INVOICE_NUM = 3114 -- INVOICE NUMBER

--AND C.CHECK_NUMBER = -- CHECK NUMBER

--AND VENDOR_ID = -- VENDOR ID

--AND RECEIPT_NUM = 692237