You can define encumbrance accounting or budgetary control in Financial options window:
Navigation: AP or PO —-> Setup–> Organizations –> Financial Options.

In order to use encumbrance accounting or budgetary control, you must install Payables, Purchasing, and General Ledger modules. You may go to encunbrance region to enable encumbrance accounting and to specify the default encumbrance types which Payables module assigns to your invoices, and Purchasing module assigns to your requisitions and purchase orders.

If you enable encumbrance accounting or budgetary control, Purchasing creates
encumbrances when you reserve funds for a requisition or purchase order. If you use the perpetual accrual method in Purchasing, it reverses the purchase order encumbrances when you inspect, accept, and deliver the units. If you are using the periodic accrual method in Purchasing, Payables reverses the purchase order encumbrances when you create accounting entries for invoices. Payables module creates encumbrances when there is a variance between a matched invoice and the purchase order to which it is matched, and when the invoice encumbrance type is different from the Purchasing encumbrance type.

Oracle EBS provides two predefined encumbrance types that you can use to identify requisition, purchase order, and invoice encumbrances:- Commitment and
Obligation. You can define additional encumbrance types in Oracle General Ledger module in the Encumbrance Types window.

1) Use Requisition Encumbrance
You may enable this option to encumber funds for requisitions. If you enable this option, Purchasing creates journal entries and transfers them to General Ledger to encumber funds for purchase requisitions.

If you enable Use Requisition Encumbrance, you must select an encumbrance type by which you can identify your requisition encumbrance journal entries. Purchasing assigns this encumbrance type to the encumbrance journal entries it creates for purchase requisitions. If you enable Use Requisition Encumbrance, you can indicate whether you want requisition preparer to have the option to reserve funds. If you do not enable this option, only requisition approvers will have the option to reserve funds.

2)Use PO Encumbrance
Enable this option to encumber funds for purchase orders, purchase order and receipt matched invoices, and basic invoices (not matched). If you enable this option, Purchasing encumbers funds for purchase orders and Payables encumbers funds for variances during Payables Invoice Validation for purchase order and receipt matched invoices. If you enable this option and enter a non-purchase order matched invoice, Payables will encumber funds for it during Payables Invoice Validation. All Payables encumbrances are reversed when you create accounting entries. If you enable Use Requisition Encumbrance, you must also enable this option.

If you enable Use Purchase Order Encumbrance, select a purchase order encumbrance type by which you can identify your purchase order encumbrance journal entries. Purchasing assigns this encumbrance type to the encumbrance journal entries it creates for purchase requisitions and purchase orders. If you use purchase order encumbrance, select an invoice encumbrance type by which you can identify your invoice encumbrance journal entries. Payables module assigns this encumbrance type to the encumbrance journal entries that it creates. It is recommended that you use an encumbrance type different from the Purchasing encumbrance type so you can identify invoice encumbrances


The Oracle applications that use Oracle Installed Base are shown the picture.
Several Oracle Order Management, Purchasing, Inventory, Work in process transactions interact with Oracle Installed Base. Oracle Installed Base can track both shippable and non-shippable items.
Purcahse Order
In case of purchase orders when the receipt of materials is completed, system increases the Inventory on hand. If installed Base is used then the tracking of the material is also started with the receipt completion. Installed Base creates an item instances for each of the received items which are marked as ‘Tracked in Installed Base’.
Order Management
A sales order shipment generates an Inventory Issue material transaction in Oracle Inventory application. Because Oracle Installed Base also tracks the internal inventory for trackable items, the instance already exists in Oracle Installed Base. A shipment can result in a change in instance location and ownership, status, and so on, based on the associated Oracle Installed Base transaction subtype.
Bug 1930586: MATCH_OPTION COLUMN/METHOD MISSING IN PDOI

=========================================================================== 
                            PROBLEM DESCRIPTION
===========================================================================
  ** DESCRIPTION OF PROBLEM, INCLUDING ALL ERRORS:
     There is no column that accepts the value for match_option (invoice
   matching 'P'or'R') in PO_LINES_INTERFACE. (The enhanced PDOI now supports
   standard PO import.) If there is a method to populate the matching
   option value via the PDOI, it should be documented in the PDOI update
   release note. "matching option" is stored in the following table in EBS.   
PO_LINE_LOCATIONS_ALL.MATCH_OPTION

===========================================================================
                            ADDITIONAL DETAILS
===========================================================================
  ** TAR NUMBER (ALSO ENSURE BUG NUMBER FIELD IS UPDATED IN TAR):
  ** LIST ADDITIONAL DOCUMENTATION AVAILABLE (LOG FILE, REPORT, TRACE, ETC.):
N/A    
  ** HOW WILL DEVELOPMENT RECEIVE THE ADDITIONAL DOCUMENTATION?:
Via Email or ess30 upon request.
  ** DESCRIBE ANY WORKAROUND(S) AVAILABLE TO THE CUSTOMER:
Open POXPOEPO and update the option for all imported POs, which is rediculous.

  ** LIST NAME & VERSION OF ALL MODULES INVOLVED (FORM,REPORT,PACKAGE,ETC.):
EBS 11.5.3
Please ask if you need specific file versions.
  ** IS THE PROBLEM OCCURRING IN TEST OR PRODUCTION?
Production.
  ** DOES THE CUSTOMER HAVE ANY CUSTOMIZATIONS OR 3RD PARTY PRODUCTS?
No.

===========================================================================
                                 HISTORY
===========================================================================
  ** WAS THE CUSTOMER ABLE TO COMPLETE THE SAME PROCESS PREVIOUSLY?:
No.
  ** LIST PATCHES APPLIED RECENTLY WHICH COULD AFFECT THIS PROBLEM:
N/A
Defaulting of match_option is as follows
1. From Supplier Site
2. From Supplier
3. From Financials System Parameters
The HLD for STD PO do not mention anything about this column.
Will be an ER to create the column in CASE and to add the necessary
validations.
PREMCOR REFINING GROUP is requesting this ER be changed to a priority 3 bug so 
a fix can be included in a future PO Family Pack.   They have 100's of PO's
that they import from a 3rd party system (Maximo) using the PDOI.  These
multi-line POs are primarily Service Type POs and whether the line can either
be Invoice Match Option to Receipt or Invoice Match Option to Purchase Order
needs to be controlled at the Line level when inserting into the PO Interface
tables.





Here is the solution for the invoice matching, someone needs to update the
bug to include this solution:

Invoice matching, populate the following columns in PO_LINES_INTERFACE table:
'2WAY'  inspection_required_flag = 'N'
         receipt_required_flag    = 'N'

'3WAY'  inspection_required_flag = 'N'
         receipt_required_flag    = 'Y'

'4WAY'  inspection_required_flag = 'Y'
         receipt_required_flag    = 'Y'
Check the process_code in the po_headers_interface and po_lines_interface, if it is ‘REJECTED’,

select process_code from po_headers_interface;
select process_code from po_lines_interface;

please do the following:
Run the program – Purchasing Interface Errors Report
choose parameter : PO_DOCS_OPEN_INTERFACE

The report will list all the errors you have during importing. You can fix the data, then reset process_code = Null in both interface tables, rerun the Purchasing Document Open Interface.

update po_headers_interface set process_code = null
where process_code = ‘REJECTED’;
update po_lines_interface set process_code = null
where process_code = ‘REJECTED’;

Following Query would get all the PO Numbers, Item ID, Quantity Order, Received, Canceled etc. The same information can be found in the PO order form from the Front end Application.

SELECT
POL.ITEM_ID “Inventory Item ID”,
POLL.SHIP_TO_LOCATION_ID “Ship to Location ID”,
poll.quantity “Quantity”,
poll.Quantity_received “Quantity Received”,
poll.QUANTITY_cancelled “Quantity Canceled”,
POH.SEGMENT1 “PO Order Number”
FROM po_headers_all poh
, po_lines_all pol
, po_line_locations_all poll
WHERE poh.po_header_id=pol.po_header_id
AND pol.po_line_id=poll.po_line_id
AND poll.po_header_id=pol.po_header_id
AND poh.authorization_status=’APPROVED’
AND poh.type_lookup_code=’STANDARD’
AND NVL(poh.cancel_flag,’N’) =’N’
AND POL.ITEM_ID IS NOT NULL
AND NVL (poll.quantity, 0) > (NVL (Quantity_received,0) + NVL (Quantity_cancelled,0))