This content has been marked as final. Show 7 replies
unfortunately your question is not very clear to me.
Could you please elaborate:
- "We want to close the PO from additional receipts or invoices, but we want to keep the history of the PO."
- "How do we close out the qty 2 additional received items and qty 2 unreceived items in order to close PO# 123?"
POs can be manually 'closed' using the control action from Purchase Order Summary (Header) >> Tools >> Control and then selecting 'Close'. Similar actions are available for PO Lines & Shipments. However such closed POs can be re-opened. There is one more control action ' Finally Close', which is irreversible.
But the question is why do you want to close a PO for which there are materials yet to be received or uninvoiced lines (as per the example given by you).
I think you are looking for something different from what I answered above. Are you looking for something like :
- Put the PO on 'Hold' temporarily in order prevent receiving, invoicing etc for remaining quantities
- How to take care of the additional 2 quantities you received but not yet invoiced?
- How to take care of the additional 2 quantities you ordered but yet to receive
before finally closing the document?
I think you can meet the requirement by doing changes in the "PURCHAING OPTIONS" in purcahsing.
Receipt Close Tolerance and Invoice Close Tolerance
But the above cases only applies if the receiving is due. But the second option you said you want to receive in EXCESS? why is this required. Is this situation an exception or daily you face receiving the goods in excess?
Thank you for your reply. We have a number of different situations that are occuring:
1) A PO was created for an order, but will never be used (ie- duplicate PO, etc). So, we want to close out these PO's from being received or invoiced against.
2) A PO was received for the wrong quantity and the backorder was cancelled. For example, QTY 10 were ordered and all QTY 10 were received into the PO. However, only QTY 5 were actually physically received (the invoice was posted in Payables and matched to only QTY 5 leaving an open receipt of QTY 5) and the backorder of 5 was then cancelled with our vendor. Therefore, we want to close this PO from additional receiving and invoicing.
We were never properly trained by our Oracle consultant on how to close PO's. Therefore, we have been receiving the remaining backorders on the open PO's and then matching the full PO's in Payables with a dummy invoice and dummy credit (since we don't want payment to generate). We know that there must be a better way to close the PO's, but since we do not know how to do so, we have been navigating through the system with these steps.
Hi Erik,1 person found this helpful
such scenarios do appear over time and specifically when the system is used by different users. Fortunately there are ways to handle such scenarios.
As you can understand different scenarios will require different type of actions. Based on the examples given by you I'll try to explain some scenarios.
1) Duplicate PO: It was created in the system but never received against or invoiced. If you are absolutely sure that this will not be used then, the best option is to cancel the PO (at header), when the whole PO is duplicate. Thus terminating an existing commitment to buy from a supplier. Optionally the supplier can be communicated about the cancellation. Please note that, when a PO is cancelled (at header) then it won't be available in the PO entry form. You can only query the PO in the PO Summary form. Cancellation is irreversible. Additionally, cancelled documents (at header) can be purged from the system.
You can also 'Finally Close' such POs but from processing point of view the final close status is the logical end (after receipt & invoice) of 'valid' POs. In order not to mix up with such POs I'll suggest to use the 'Cancel' (at header) PO option for such duplicate POs having no receipt or invoice.
2) For the 2nd example given above, you mentioned that physical receipt was done for 5 but in the system you received 10 (full order quantity). In this case you have the option of 'correcting' the wrong receipt. From Receiving >> Corrections you can correct your receiving transaction to reflect in the system that you actually received only 5, provided you have only invoiced for 5. The remaining quantity that you'll never receive or invoice can be cancelled say at line level. After cancelling print the purchase order and send it to the supplier to indicate contractually that you do not want to take delivery of these items. Remember you cannot modify a cancelled entity or its components. You should cancel documents or their components only if you are absolutely certain that all desired activities have been completed.
Since you are doing dummy receipt and invoice of remaining quantities thus it is cluttering the system with unwanted transactions apart from asking for additional work from all the users involved. Not a good practice.
Here I must mention that some organizations use "Allow Blind Receiving" option setup in the Receiving Options (parameters) window to prevent receivers from receiving the full due quantity compared to what has been physically received from supplier. When this option is on receivers won't be able to see the due quantity in the receipts screen. They have to manually key in the actually quantity received from supplier, thus reducing the chance of receiving additional quantity in the system compared to what has been physically received from supplier.
I would suggest you to go through the "Document Control Overview" section in the PO user guide for better understanding.
Thank you Supro. I will review the instructions you provided and see if that will help eleviate some of the issues we were facing.
If you want to manually close a PO
There is an api called PO_actions.close_po so use it and u can close the PO even if you close a PO it will be present in the data base.
Here you go with the script
PO_CLOSE API alowed me to finally close the PO.
Here is the script if anybody interested,
v_result := PO_ACTIONS.CLOSE_PO(
P_DOCID => v_header_id,
P_DOCTYP => 'PO',
P_DOCSUBTYP => 'STANDARD',
P_LINEID => NULL,
P_SHIPID => NULL,
--P_ACTION => 'CLOSE',
P_ACTION => 'FINALLY CLOSE',
P_REASON => 'ONP FINALLY CLOSE Request : ' || to_char(v_request_id),
P_CALLING_MODE => 'PO',
P_CONC_FLAG => 'N',
P_RETURN_CODE => v_return_code,
P_AUTO_CLOSE => 'N',
P_ACTION_DATE => sysdate,
P_ORIGIN_DOC_ID => NULL );