Oracle E-Business Suite 12 Financials is a solution that provides out-of-the-box features to meet global financial reporting and tax requirements with one accounting, tax, banking, and payments model, and makes it easy to operate shared services across businesses and regions.
we will start with recipes for creating Items.
 We will cover:
                  — Creating Items

  • Exploring Item attributes
  • Creating Item templates
  • Exploring Item controls

Introduction

An organization’s operations include the buying and selling of products and services. Items can represent the products and services that are purchased and sold in an organization. Let’s start by looking at the Item creation process.
The following diagram details the process for creating Items:

1. The Item Requester (the person who requests an Item) completes an Item Creation Form, which should contain information such as:

  • Costing information
  • Pricing Information
  • Item and Product Categories
  • Details of some of the Item attributes
  • The inventory organization details
  1. Once complete, a message is sent to the Master Data Manager (the person who maintains the master data) to create the Item. The message could be sent by fax, e-mail, and so on.
  2. The Master Data Manager reviews the form and enters the details of the Item into Oracle E-Business Suite by creating the Item. Once complete, a message is sent to the Item Requester.
  3. The Item Requester reviews the Item setup on the system.

Let’s look at how Items are created and explore the underlying concepts concerning the creation of Items.

Creating Items

Oracle Inventory provides us with the functionality to create Items. Sets of attributes are assigned to an Item. The attributes define the characteristics of the Item. A group of attributes values defines a template, and a template can be assigned to an Item to automatically define the set of attribute values.
An Item template defines the Item Type. For example, a Finished Good template will identify certain characteristics that define the Item as a finished good, with attributes such as “Inventory Item” and “Stockable” with a value of “Yes”. Let’s look at how to create an Item in Oracle Inventory. We will also assign a Finished Good template to the Item.

Getting ready

Log in to Oracle E-Business Suite R12 with the username and password assigned to you by the System Administrator. If you are working on the Vision demonstration database, you can use OPERATIONS/WELCOME as the USERNAME/PASSWORD:

  1. Select the Inventory Responsibility.
  2. Select the V1 Inventory Organization.

How to do it…

Let’s list the steps required to create an Item:


 Navigate to Items | Master Items. Please note that Items are defined in the Master Organization.

  1. Enter the Item code, for example, PRD20001.
  2. Enter a description for the Item:

 Select Copy From from the tools menu (or press Alt+T). We are going to copy the attributes from the Finished Good template:

 

  1. We can also copy attributes from an existing Item.
  2. Enter Finished Good and click on the Apply button (or press Alt+A) and click on the Done button.
  3. Save the Item definition by clicking on the Save icon (or press Ctrl+S).

How it works…

Items contain attributes and attributes contain information about an Item. Attributes can be controlled centrally at the Master Organization level or at the Inventory Organization level.

There’s more…

Once the Item is created, we need to assign it to a category and an inventory organization.

Assigning Items to inventory organizations

For us to be able to perform transactions with the Item in the inventory, we need to assign the Item to an inventory organization. We can also use the organization Item form to change the attributes at the organization level. For example, an Item may be classified as raw materials in one organization and finished goods in another organization.

  1. From the Tools menu, select Organization Assignment.
  2. Select the inventory organization for the Item. For example, A1–ACME Corporation. Click on the Assigned checkbox.


 Save the assignment.

Assigning Items to categories

When an Item is created, it is assigned to a default category. However, you may want to perform transactions with the Item in more than one functional area, such as Inventory, Purchasing, Cost Management, Service, Engineering, and so on. You need to assign the Item to the relevant functional area. A category within a functional area is a logical classification of Items with similar characteristics.

  1. From the Tools menu, select Categories.
  2. Select the Categories Set, Control Level, and the Category combination to assign to the Item:       

Save the assignment.

Exploring Item attributes

There are more than 250 Item attributes grouped into 17 main attribute groups. In this recipe, we will explore the main groups that are used within the financial modules.

How to do it…

Let’s explore some Item attributes:
Search for the Finished Good Item by navigating to Items | Master Items:

  1. Click on the Find icon. You then enter the Item code and click on the Find button to search for the Item.
  2. Select the tabs to review each of the attributes group:

  1. In the Main tab, check that the Item Status is Active. We can also enter a long description in the Long Description field.
  2. The default value of the primary Unit of Measure (UOM) can be defined in the INV: Default Primary Unit of Measure profile option. The value can be overwritten when creating the Item. The Primary UOM is the default UOM used in other modules. For example, in Receivables it is used for invoices and credit memos.


In the Inventory tab, check that the following are enabled:

  • Inventory Item: It enables the Item to be transacted in Inventory. The default Inventory Item category is automatically assigned to the Item, if enabled.
  • Stockable: It enables the Item to be stocked in Inventory.
  • Transactable: Order Management uses this flag to determine how returns are transacted in Inventory.
  • Reservable: It enables the reservation of Items during transactions. For example, during order entry in Order Management. 

   

 In the Costing tab, check that the following are enabled: 
Costing: Enables the accounting for Item costs. It can be overridden in the Cost Management module, if average costing is used.
Cost of Goods Sold Account: The cost of goods sold account is entered. This is a general ledger account. The value defaults from the Organization parameters.

  1. In the Purchasing tab, enter a Default Buyer for the purchase orders, a List Price, and an Expense Account. Check that the following are enabled:
    • Purchased: It enables us to purchase and receive the Item.
    • Purchasable: It enables us to create a Purchase Order for the Item.
    • Allow Description Update: It enables us to change the description of the Item when raising the Purchase Order.
    • RFQ Required: Set this value to Yes to enable us to require a quotation for this Item.
    • Taxable: Set this value to Yes with the Input Tax Classification Code as VAT–15%. This can be used with the default rules in E-Tax.
    • Invoice Matching: Receipt Required–Yes. This is to allow for three-way matching.
  2. In the Receiving tab, review the controls.


 In the Order Management tab, check that the following are enabled:

  • Customer Ordered: This enables us to define prices for an Item assigned to a price list.
  • Customer Orders Enabled: This enables us to sell the Item.
  • Shippable: This enables us to ship the Item to the Customer.
  • Internal Ordered: This enables us to order an Item via internal requisitions.
  • Internal Orders Enabled: This enables us to temporarily exclude an Item from internal requisitions.
  • OE Transactable: This is used for demand management of an Item.


 In the Invoicing tab, enter values for the Accounting Rule, Invoicing Rule, Output Tax Classification Code, and Payment Terms. Enter the Sales Account code and check that the Invoiceable Item and Invoice Enabled checkboxes are enabled.

An Item template is a set of attributes that enable the ‘quick’ creation of an Item. In this recipe, we will create an Item template that can be used to create many similar Items. We will copy from the Finished Good template to our new template called ACME Finished Good.

Getting ready

Log in to Oracle E-Business Suite and select the Inventory responsibility.

How to do it…

Let’s list the steps required to create an Item template:

  1. Navigate to Setup | Items | Templates.
  2. Select the Inventory Organization.


 From the Find Item Templates form, click on New button or press Alt+N.

In the Template field, enter the name of the new template; for example, enter ACME Finished Good.
In the Description field, enter a suitable description, for example, enter ACME Finished Good Template.

  1. Select Copy Template from the Tools menu.
  2. We can use this form to select the attributes groups that we want to copy from the Finished Good template.
  3. Click on the Apply button.
  4. Click on the Done button.
  5. In the dialog box presented to us, with the message “Do you want to save the changes you have made?”, click on the Yes button.

How it works…

Item templates can be created from scratch. To make the template creation process easier, Oracle has provided us with a number of seeded templates as a starting point to copy from. We can also combine templates and manually amend the attributes to define our template. When we copy from an existing template, we have choices that determine how the copy will occur.

The three main choices are as follows:

  1. Overwrite: All selected attribute values are copied to the new template and any values that we have manually created will be overwritten.
  2. Append: Attributes that have no value will be copied across to our template. This mode is useful if you are using a combination of templates.
  3. Overwrite Not Null: Only the selected attributes that contain values will be copied.

There’s more…

Let’s amend the template to allow us to automatically populate the template with some default values. Let’s create an Item and apply the amended template to the Item.

Amending the template

Let’s search for the template and amend the templates to include some of the default values:

  1. Search for the ACME Finished Good template by navigating to Setup | Items | Templates.
  2. Enter ACME Finished Good in the Template field and click on the Find button.
  3. Click on the Open button to view the template.


In the Attributes Group region, select Purchasing and enter some default values, for example:

  • Default Buyer: Stock, Ms. Pat
  • Input Tax Classification Code: VAT-15%
  • Taxable: Yes
  • Allow Description Update: Yes
  • Receipt Required: Yes

 Save the template.


 In the Attributes Group region, select Receiving and enter some default values, for example:

  • Over-Receipt Qty Action: Warning
  • Receipt Routing: Direct Delivery
  • Days Early Receipt Allowed: 5
  • Days Late Receipt Allowed: 2
  • Receipt Date Action: Warning

Save the template.
In the Attributes Group region, select Invoicing and enter some default values, for example:

  • Accounting Rule: Immediate
  • Payment Terms: Immediate

Save the template.

Creating an Item and applying the template to the Item

Let’s create an Item and apply the template to the Item:
Navigate to Items | Master Items.
Enter the Item code and description.
Select Copy From in the Tools menu.

 
Click on the Apply button.
Click on the Done button. This action will validate the template created.

 
Click on the Purchasing tab to review the default values of the attributes assigned automatically by the template.
Save the Item.

Exploring Item controls

During the creation of Items, we may decide to restrict the use of the Items by controlling Items within an Inventory Organization. When an Item is defined, it is defined in the Item Master Organization and can then be assigned to other Inventory Organizations. Items are then held in Subinventories, which can contain Locators. Locator, Serial number, Lot number, and Revision number within a Subinventory can be used to control Items. In this recipe, we will explore some of the control parameters for Items.

Getting ready

Log in to Oracle E-Business Suite and select the Inventory responsibility.

How to do it…

Let’s explore the following Item controls:

  1. Item Status
  2. Item Attribute

The Item Status is the status of an Item and it determines the actions that can be performed on an Item. For example, an obsolete Item may not be sold to the customer, but can be used as parts for repairs and can still be stockable. Let’s create an Item status for obsolete Items.
Navigate to Setup | Items | Status Code. 

In the Status field, enter Obsolete and ACME Obsolete in the Translated Status field.
Enter a Description, for example, ACME Obsolete Items.

 Enable the following attributes:
  • BOM Allowed
  • Stockable
  • Transactable

Save the form.

The levels that the attributes can be controlled at are set in the Item Attribute Controls form. Let’s look at some of the Item Attribute Controls:
     Navigate to Setup Items | Attribute Controls|
     From the menu, select View | Query By Example | Enter (or press F11 on the keyboard).
     In the Group Name field, enter Main%. 

     From the Menu, select View | Query By Example | Run (or press Ctrl+F11 on the keyboard).
     Observe that some attributes are controlled at the Master Level and some at the Org Level.
     Close the form.

There’s more…

Items are stored in a Subinventory and can be controlled using a locator. Items can be identified by lot and by serial numbers.

Storing Items by Subinventories

Subinventories are distinct separations of Items within an Inventory Organization. Subinventories can be physical or logical. Items within an Inventory Organization must reside in a Subinventory.
Transactions are performed from the Subinventories. Examples of Subinventories include: finished goods, van, stores, staging area, and fast moving goods. Let’s create a finished goods Subinventory and restrict an Item to the Subinventory.
    Navigate to Setup | Organizations | Subinventories.
    Click on the New button. 
        In the Name field, enter ACME-FG.
        In the Description, enter ACME Finished Goods.
        In the Locator Control field, select Item level. This will enable the Inventory transactions for 

         this Subinventory to use locator control, which we define at the Item level.
Save the record.
 Let’s restrict an Item to the Subinventory:
      Navigate to Items | Organization Items.
      Search for the PRD20001 Item.
 Oracle E-Business Suite: Creating Items in Inventory
Select the Inventory tab and select the Restrict Subinventories checkbox.
d.

    In the Tools menu, select Items Subinventories.
    Select ACME-FG in the Subinventory field.

    Save the record.

Storing Items by locators

Stock locators identify the physical areas where Items are stored. Additional controls can be placed on the Items in stock locators. For example, we can control the shelf life of an Item with stock locators. Stock locators are usually defined as Row, Rack, and Bin. Let’s create three stock locators for the ACME Finished Goods Subinventory and restrict an Item by locator control:
Navigate to Setup | Organizations | Subinventories

Search for the ACME-FG Subinventory (press F11 on the keyboard, and enter the search mask ACME%, then press Ctrl+F11 on the keyboard).
Click on the Locator button to enter the locator details.

   Enter A1.1.1 in the Locator field.
   In the Description field, enter ACME FG 1.
   In the Type field, select Storage Locator.
   Enter another row for A1.1.2, ACME FG 2, with Storage Locator in the Type field.
   Repeat for A1.1.3, ACME FG 3, with Storage Locator in the Type field.

Save the record. 

The structure of the stock locator is defined in the stock locator Flexfield structure and can be defined to fit your business requirements. Locator Control can be “prespecified” before they are used or can be defined dynamically as Items are received or shipped.
Let’s restrict an Item to the Locator:
    Navigate to Items | Organization Items.
    Search for the PRD20001 Item.

 
     Select the Inventory tab, select the Restrict Locators checkbox, and then select the Locator Control as Prespecified.
Save the record.
In the Tools menu, select Items Subinventories.
Select A1.1.1 in the Locator field.
Save the record.

Identifying Items by lot control

A lot of numbers can be used to identify Items that share the same specifications. For example, lot numbers can be used to specify the expiry period of an Item. Let’s look at how to use lot numbers to control Items. We will impose a shelf life of 30 days on the Item and assign lot numbers to the Item:
     Navigate to Items | Organization Items.
     Search for the PRD20001 Item.

Select the Inventory tab.
In the Lot Expiration (Shelf Life) region, select the Control field and select Shelf Life Days.
Enter 30 as the number of days.
In the Lot region, select Full Control in the Control field.
Save the record.

Tracking Items using serial control

Serial numbers can be used to track an Item. A serial number is assigned to each unit of the Item, if serial control is used:
Navigate to Items | Organization Items.
Search for the PRD20001 Item.

Select the Inventory tab.
In the Serial region, select the Generation field, and select At Receipt. This will allow us to specify the format of the serial numbers at the time of receipt.
Save the record.

Controlling Items using revisions

Items can have versions. Item versions are controlled using revisions. For example, we can decide to make the PRD20002 revision controlled, and have another version of the Item. Let’s change the attribute to revision controlled and add a revision B to the Item:

Navigate to Items | Organization Items.
Search for the Item PRD20002.

In the Inventory tab, enable the Revision Control checkbox.
In the displayed message, select OK.
Save the Item.

From the Tools menu, select Revisions.
Add a line for Revision B of the Item with the description Revised Widget.
Save the record.

Summary

This article included recipes for creating Items and exploring the Item attributes. It then continued with creating Item templates and exploring Item controls.

Oracle Purchasing Tables

po_requisition_headers_all
po_requisition_lines_all
po_req_distributions_all
po_headers_all
po_lines_all
po_distributions_all
rcv_transactions
po_requisitions_interface_all
po_reschedule_interface
po_headers_interface
po_lines_interface
po_distributions_interface
 
po_vendors
po_vendor_sites_all
po_vendor_contacts

Understanding the Matching Tables

Payables uses several of Oracle Purchasing tables for matching. To implement matching in Payables, you need to load these tables with the data from your non-Oracle purchasing application.

    • PO_HEADERS
    • PO_LINES
    • PO_LINE_LOCATIONS
    • PO_DISTRIBUTIONS
    • PO_DISTRIBUTIONS_AP_V (view of PO_DISTRIBUTIONS)
    • PO_RELEASES (Blanket Purchase Orders)
    • PO_LOOKUP_CODES

AutoInstall automatically installs these and other necessary Oracle Purchasing application tables when you install Payables.

PO_HEADERS

Each record in this table represents a purchase order, which is an order for goods or services from a single supplier. Each purchase order may have multiple lines (PO_LINES). In addition, each blanket purchase order may have multiple blanket releases (PO_RELEASES), which release an amount from the blanket.

PO_LINES

Each record in this table represents a purchase order line, which identifies the items and unit price for the goods ordered on a purchase order. Each purchase order line may have multiple shipments (PO_LINE_LOCATIONS).

PO_LINE_LOCATIONS

Each record in this table represents a purchase order shipment, which identifies the quantity of an item shipped to a buyer location by the supplier. Each purchase order shipment may have multiple accounting distributions (PO_DISTRIBUTIONS).

PO_DISTRIBUTIONS/PO_DISTRIBUTIONS_AP_V

Each record in this table/view represents a purchase order distribution, which identifies the account charged for the items on a purchase order shipment.

PO_RELEASES

Each record in this table represents a blanket release for a purchase order. A blanket release may create multiple shipments.

AP_INVOICES/AP_INVOICE_DISTRIBUTIONS

Each purchase order shipment can be matched to multiple invoices (AP_INVOICES), and a single invoice may be matched to multiple purchase order shipments. When you match an invoice to a purchase order shipment, Payables creates an invoice distribution (AP_INVOICE_DISTRIBUTIONS) from each purchase order distribution on the shipment. When you match an invoice to a single purchase order distribution, Payables creates a single invoice distribution from the purchase order distribution.

Table Descriptions

The following section describes the tables and the columns that Payables supports for matching to purchase orders from your non-Oracle purchase system. We describe how the columns are used and, if a column is required, the values you must load to successfully perform matching. For a complete description of the tables, please consult the Payables Applications Technical Reference Manual.

Attention: You must populate all NOT NULL columns in the purchasing tables.

PO_HEADERS

AGENT_ID

Enter the ID for the agent who created the purchase order. This value is used by the following reports in Payables: Merge Suppliers, Matching Agent Notice and Receiving Hold Requestor Notice.

TYPE_LOOKUP_CODE

Enter BLANKET or STANDARD (Lookup Type: PO TYPE) to identify the type of purchase order.

TERMS_ID

Enter the ID for the payment terms of the purchase order. Payables uses this value during matching to warn you if the payment terms on the purchase order do not match the payment terms on the invoice being matched to the purchase order. If you choose to leave this column empty, Payables will not warn you if the purchase order and invoice payment terms differ.

FREIGHT_TERMS_LOOKUP_CODE

Enter a QuickCode (QuickCode Type: FREIGHT TERMS) to identify the freight terms for the purchase order. See: QuickCodes.

CURRENCY_CODE

Enter the currency code for the purchase order. You can obtain a list of valid codes from FND_CURRENCIES.CURRENCY_CODE. The currency code for the invoice you want to match to this purchase order must be the same as the code you enter here.

PO_RELEASES (Blanket releases)

PO_LINES

LINE_TYPE_ID

Enter the ID for the line type of the purchase order line. You can obtain a list of valid IDs from PO_LINE_TYPES.LINE_TYPE_ID.

ITEM_ID

Do not enter a value in this column. Payables does not allow you to record purchase order lines with Items unless you install Oracle Purchasing.

ITEM_DESCRIPTION

Enter a description for your purchase order line. You can use this column to record information about the item on the purchase order line. Payables displays this description in the Purchase Order Shipments zone during matching.

TYPE_1099

Enter the income tax type for the purchase order line, if the supplier for the purchase order is a 1099 supplier. Payables assigns this type as the default income tax type for each invoice distribution created by matching to this purchase order line. If you leave the column empty, Payables uses the income tax type for the supplier as the default. You can obtain a list of valid types from AP_INCOME_TAX_TYPES.INCOME_TAX_TYPE.

PO_LINE_LOCATIONS (PO Shipments)

QUANTITY

Enter the quantity of goods ordered for the purchase order shipment. Payables uses this amount to match against if you are using 2-way matching. Payables verifies that this quantity matches the invoice quantity within defined tolerance levels and places the invoice on hold if it doesn’t match. In addition, if the quantity of the invoice is greater than the shipment quantity, your Payables warns you during invoice entry that the match will result in an overbill.

QUANTITY_RECEIVED/QUANTITY_ACCEPTED

Enter the quantity of goods received/accepted if you are using 3-way/4-way matching. Payables verifies that the quantity matches the invoice quantity within defined tolerance levels and places the invoice on hold if it doesn’t match.

QUANTITY_BILLED

Do not enter a value in this column, unless you have already matched an invoice to this purchase order shipment. When a match successfully completes (invoice is approved), Payables updates this column with the quantity you specified during matching.

QUANTITY_CANCELLED

Only enter a value in this column if you have cancelled a portion of the purchase order shipment in your non-Oracle purchasing system. The amount you enter reduces the amount that Payables considers to be the outstanding quantity ordered. Payables displays a warning if you try to match to a shipment which has been cancelled. When you cancel a shipment, Oracle Purchasing sets the PO_LINE_LOCATIONS.QUANTITY_CANCELLED to:

    • QUANTITY – QUANTITY_RECEIVED if receipt is required
    • QUANTITY – QUANTITY_BILLED if receipt is not required.

Attention: Approval does all quantity checks assuming the QUANTITY is the actual QUANTITY minus the QUANTITY_CANCELLED.

UNIT_MEAS_LOOKUP_CODE

Payables displays this value in the matching zones, but does not validate the column. You can enter any value into this column; however, you should use the same value that you use in your non-Oracle purchasing system.

TAXABLE_FLAG

Enter Y or N to indicate the purchase order shipment is subject to tax. If you enter Y, enter a value in the TAX_NAME column. During Approval, Payables verifies that the tax name for the purchase order shipment matches the tax name on the invoice and places a Tax Difference hold on the invoice if the tax names don’t match.

TAX_NAME

Enter the tax name used to verify that the tax names on the invoice and purchase order shipment match. You do not need to enter a value if you enter N in the TAXABLE_FLAG column. You can obtain a list of valid tax names from AP_TAX_CODES.NAME.

TYPE_LOOKUP_CODE

Enter BLANKET, STANDARD, or SCHEDULED (Lookup Type: SHIPMENT TYPE) to identify the type of purchase order shipment.

CLOSED_CODE

Do not enter a value in this column if you want to match an invoice to this purchase order shipment. If you enter the values CLOSED, FINALLY CLOSED, or CLOSED FOR INVOICE in the column, Payables warns you that you are matching to a closed purchase order.

PO_DISTRIBUTIONS (Account distribution)

Payables uses a view (PO_DISTRIBUTIONS_AP_V) to this table to perform purchase order distribution matching.

SET_OF_BOOKS_ID

Enter the set of books ID for your purchase order distribution. The ID you enter must be for the set of books you define in the Set of Books window.

CODE_COMBINATION_ID

Enter the Accounting Flexfield ID for the expense account you want to charge for the goods on the purchase order distribution.

QUANTITY_ORDERED

Enter the amount of goods charged to the Accounting Flexfield for this purchase order distribution.

Attention: NOTE: Payables does not validate the following, but assumes it to be true:

Total of PO_DISTRIBUTIONS.QUANTITY_ORDERED for one PO_LINE_LOCATION_ID = PO_LINES_LOCATIONS.QUANTITY (for the same ID).

Payables sometimes prorates the PO_DISTRIBUTION.QUANTITY_ORDERED using the PO_LINES_LOCATIONS.QUANTITY as the total.

BUDGET_ACCOUNT_ID/ACCRUAL_ACCOUNT_ID/ VARIANCE_ACCOUNT_ID

Enter the same Accounting Flexfield ID you entered for the CODE_COMBINATION_ID. Payables allows you to record budget, accrual, and variance (price and exchange rate) amounts for your purchase order distributions, but requires you to charge these amounts to the same expense account for the distribution.

QUANTITY_BILLED

Do not enter a value in this column, unless you have already matched an invoice distribution to this purchase order distribution. When a match successfully completes (invoice is approved), Payables updates this column with the quantity you specified during matching.

QUANTITY_CANCELLED

Enter a value in this column only if you have cancelled a portion of the purchase order distribution in your non-Oracle purchasing system. The amount you enter reduces the amount that Payables considers to be the outstanding quantity ordered. Payables displays a warning if you try to match to a shipment which has been cancelled.

Attention: Approval does all quantity checks assuming the quantity for the distribution is QUANTITY_ORDERED minus QUANTITY_CANCELLED.

AMOUNT_BILLED

Do not enter a value in this column, unless you have already matched an invoice to this purchase order shipment. When a match successfully completes (invoice is approved), Payables updates this column with the amount of the quantity you specified during matching multiplied by the unit price.

Oracle Projects Columns

Enter project information from Oracle Projects if you want to associate the invoice distribution (created through matching) with a project in Oracle Projects. Payables transfers the information into the AP_INVOICE_DISTRIBUTIONS table and uses it to create the default Accounting Flexfield for the invoice distribution. 

Matching to Purchase Orders

Perform the following steps to match invoices to purchase order information from your non-Oracle purchasing system:

Create Flat File with Purchasing Information

To load invoice information into Payables via SQL*Loader, first create a program that produces a flat file containing the information from your non-Oracle purchasing system for the purchase orders you want to match to invoices.

Load Information into Purchasing Tables

Use SQL*Loader to load the required information into the purchasing tables. You will need to create a SQL*Loader control file to format the information you want to load. The file you write will vary greatly depending on the nature and format of the flat file you use. Your control file must populate the purchasing tables as indicated in the previous table descriptions. See also: SQL*Loader (ORACLE8 Server Utilities Guide).

Enter Invoices

You match invoices to purchase order shipments during invoice entry. This online function links an invoice in the database to one or more purchase order shipments you choose. You cannot pay or post an invoice until Approval approves the invoice. You can match any type of invoice to a purchase order, including credit and debit memos.

Match to Purchase Order Shipments and distributions

When you match during invoice entry, you indicate whether you want to match to the purchase order shipment or to specific invoice distributions. You then choose the shipment or distribution you want to match to, and the quantity and price you are matching. Then Payables performs the following for each matched shipment:

    • Update QUANTITY_BILLED and AMOUNT_BILLED in PO_DISTRIBUTIONS
    • Update QUANTITY_BILLED in PO_LINE_LOCATIONS
    • Create one or more AP_INVOICE_DISTRIBUTIONS which record the QUANTITY_INVOICED, UNIT_PRICE, and PO_DISTRIBUTION_ID, in addition to other payables information.

Match to Credit and Debit Memos

Payables lets you enter a credit or debit memo (with a negative amount) and match to a purchase order. You would enter a negative quantity in the Quantity Invoiced field in the Purchase Order Shipment Match zone, thereby matching this credit invoice to one or no purchase order shipment lines. Payables then decreases the quantity billed against the purchase order shipment line(s). When you match a credit invoice to a purchase order shipment line, Payables:

    • Reopens closed shipment lines (sets PO_LINE_LOCATIONS.CLOSED_CODE to NULL)
    • Updates PO_LINE_LOCATIONS.QUANTITY_BILLED
    • Updates PO_DISTRIBUTIONS.QUANTITY_BILLED

Attention: Payables does not update any receiving information. You must install Oracle Purchasing if you want to enter or update receiving information for a purchase order

Close a Purchase Order Shipment

Invoice entry closes a purchase order shipment (sets CLOSED_CODE in PO_LINE_LOCATIONS to ‘CLOSED’) when:

    • QUANTITY_BILLED equals or exceeds QUANTITY_ORDERED (two-way matching), or
    • QUANTITY_ORDERED is less than or equal to QUANTITY_RECEIVED and QUANTITY_RECEIVED is less than or equal to QUANTITY_BILLED

Final Close

Payables does not support finally closing a purchase order if you do not install Oracle Purchasing with Payables. Final close allows you to match an invoice to a purchase order and permanently close the purchase order when you approve the invoice. 

Online Review of Purchasing Information

Without an Oracle Purchasing application, Payables does not allow you to review purchasing information, such as purchase order header and line information, online in the Invoice Workbench.

Using Approval

Approval is the Payables feature that performs two-, three-, or four-way matching. An invoice must pass Approval before you can pay or post the invoice. Approval reviews each invoice and places one or more matching holds on the invoice if the invoice does not meet your matching criteria. It also releases any existing matching holds if you adjust your invoice or purchase order to meet your matching criteria and current information on order, receipt and acceptance prices and quantities. You must submit Approval for all invoices, not just matched invoices, since it also checks for distribution variances, tax variances, and exchange rate information. You can submit Approval online for an invoice or in batch for a group of invoices. See also: Approval.

2-way, 3-way, and 4-way Matching

When you match to a purchase order, Payables automatically checks that the total of PO_DISTRIBUTIONS.QUANTITY_ORDERED = AP_INVOICE_DISTRIBUTIONS.QUANTITY_INVOICED (2-way matching). Payables only checks QUANTITY_RECEIVED (3-way matching) if the RECEIPT_REQUIRED_FLAG is set to Y and only checks QUANTITY_ACCEPTED (4-way matching) if the INSPECTION_REQUIRED_FLAG is set to Y.

Tax Matching

Payables only checks for tax name matching if the Payables option Validate PO Tax Name is enabled and the invoice has distributions with tax names.

Matching Tolerance

You can define percentage and amount tolerances for Matching quantities and price. Payables places a matching hold on an invoice only if the invoice quantity or price is greater than the purchasing quantity or price by more than your tolerance.

Matching Holds

When you submit Approval, Payables places a matching hold on a matched invoice (by inserting one or more rows in AP_HOLDS, one row for each type of hold for each invoice distribution) if:

    • QUANTITY_BILLED > QUANTITY in PO_LINE_LOCATIONS (QTY ORD Hold)
    • UNIT_PRICE in AP_INVOICE_DISTRIBUTIONS > PRICE_OVERRIDE in PO_LINE_LOCATIONS (PRICE Hold)
    • QUANTITY_BILLED > QUANTITY_RECEIVED in PO_LINE_LOCATIONS (QTY REC Hold)
    • QUANTITY_BILLED > QUANTITY_ACCEPTED in PO_LINE_LOCATIONS (QUALITY Hold)
    • TAXABLE_FLAG = NO in PO_LINE_LOCATIONS, but there IS tax recorded on the invoice (TAX DIFFERENCE Hold)
    • TAX_NAME in PO_LINE_LOCATIONS is not equal to VAT_CODE in AP_INVOICE_DISTRIBUTIONS (TAX DIFFERENCE Hold)

Using Encumbrance Accounting with Purchasing

Payables supports using encumbrance accounting with a non-Oracle purchasing system. To use encumbrance accounting, however, you must initially record the encumbered amount for the purchase order to which you want to match an invoice. Then, when Approval approves the invoice, if there is a variance between the invoice and its matched purchase order within the tolerances you define, Payables automatically creates an encumbrance journal entry for the amount of the variance. Payables always creates encumbrance journal entries in detail.

Attention: Approval uses the Payables table, AP_TRANSFER_ENCUMBRANCE, if you enable encumbrance accounting. Payables never drops this table, but deletes the appropriate lines from this table at the beginning of the program each time you submit Approval.

With an Oracle Purchasing application installed, Payables allows you to record these variance encumbrance journal entries to a separate variance account. With a non-Oracle purchasing system, Payables requires you to record the variance amount to the same Accounting Flexfield as the expense Accounting Flexfield for the purchase order distribution.
When you post the invoice to your general ledger, Payables relieves both the original encumbrance journal entries that you created when you encumbered the purchase order and the encumbrance journal entries it automatically created for the variance. Payables then creates actual journal entries for your invoice transaction. Your variance encumbrance journal entries and your actual journal entries update your account balances only when you post the journal entries in your general ledger.

Budgetary Control

The budgetary control feature does not use purchasing information unless you install Oracle Purchasing.

Encumbrance Entries in Payables

If you enable Budgetary Control for a set of books in Oracle General Ledger, you can reserve funds, or encumber them, when you expect an expense so you can avoid overspending a budget and to predict cash outflow. If you enable the PO Encumbrance Financials option, Purchasing and Payables create encumbrances and unencumbrances against the budgets you define in General Ledger. The following equation always holds true:

      Funds Available = Budget – Actuals – Encumbrances

The encumbrances Purchasing and Payables create depends on whether the invoice is purchase order matched, and what accrual method you use in Purchasing:

    • Unmatched Invoice: If you enable the PO Encumbrance Financials option and you enter an unmatched invoice, Payables creates an encumbrance for the expense during Approval, and reverses this encumbrance during posting.
    • Matched Invoice, Receipt Accrual: If you use the On Receipt Accrual Method in Purchasing, Purchasing creates an encumbrance for the goods received at the time of receipt, then reverses that encumbrance when it records the actual expense at the time of delivery of goods. When the invoice is matched to a purchase order and approved in Payables, it is not necessary for Payables to record an encumbrance for the expense. However, Payables will create an encumbrance for an invoice price variance or exchange rate variance, if they exist. Payables does not currently create encumbrances for Quantity variances when you accrue on receipt.
    • Matched Invoice, Period End: If you use the Period End Accrual method for your expense items in Purchasing, Purchasing creates an encumbrance for the goods received at the time of delivery. When the invoice is matched to a purchase order and approved in Payables, it is not necessary for Payables to record an encumbrance for the expense. However, Payables will create an encumbrance for a quantity variance, invoice price variance, or exchange rate variance, if any exist.

Payables reverses all remaining encumbrances for an invoice during Posting, when it records the actual invoice expense. The chart below shows when Payables creates encumbrance entries under the two different Accrual Methods.

Encumbrance with Combined Basis Accounting

If you use the combined basis accounting method, Payables posts encumbrance entries to your primary, accrual set of books only.

Encumbrance with Cash Basis Accounting

If you use the cash basis accounting method, Payables relieves encumbrance entries when you post payments. Payables prorates your encumbrance reversal based on the amount of your invoice payment. 

Purging Purchasing Information

Payables does not allow you to purge purchasing information if you do not have an Oracle Purchasing application installed. When you match an invoice to a purchase order from a non-Oracle purchasing system, you will not be able to purge the invoice because Payables requires that all objects, including matched purchase orders, associated with an invoice must be purgeable before you can purge the invoice.
select prh.segment1 “PO Requisition Number”,
       pha.segment1 “PO Number”,
       aps.SEGMENT1 “Supplier Number”,
       aps.vendor_name,
       apss.vendor_site_code,
       apsc.first_name,
       apsc.last_name,
       pla.item_id,
       plla.ship_to_organization_id,
       plla.ship_to_location_id,
       rt.transaction_type,
       rt.destination_type_code,
       rsh.receipt_num “PO Receipt Number”,
       aia.invoice_num,
       aida.dist_code_combination_id,
       aca.check_number,gjh.ledger_id,
       gjh.name
  from po_requisition_headers_all prh,
       po_requisition_lines_all prl,
       po_req_distributions_all prd,
       po_headers_all pha,
       po_lines_all pla,
       po_distributions_all pda,
       po_line_locations_all plla,
       ap_suppliers aps,
       ap_supplier_sites_all apss,
       ap_supplier_contacts apsc,
       rcv_transactions rt,
       rcv_shipment_headers rsh,
       rcv_shipment_lines rsl,
       ap_invoices_all aia,
       ap_invoice_lines_all aila,
       ap_invoice_distributions_all aida,
       ap_invoice_payments_all aipa,
       ap_checks_all aca,
       xla.xla_transaction_entities xte,
       xla_events xe,
       xla_ae_headers xah,
       xla_ae_lines xal,
       xla_distribution_links xdl,
       gl_import_references gir,
       gl_je_batches gjb,
       gl_je_headers gjh,
       gl_je_lines gjl
 where prh.segment1 = :RequitionNumber –Right click :RequitionNumber from Toad Enable Prompt For Substitution Variables
   and aps.vendor_id = pha.vendor_id
   and apss.vendor_id = aps.vendor_id
   and apss.vendor_site_id (+) = pha.vendor_site_id
   and apss.vendor_site_id  = aca.vendor_site_id
   and apsc.vendor_site_id = apss.vendor_site_id
   and apsc.vendor_contact_id = pha.vendor_contact_id
   and prl.requisition_header_id = prh.requisition_header_id
   and prd.requisition_line_id = prl.requisition_line_id
   and pda.req_distribution_id = prd.distribution_id
   and pla.po_header_id = pda.po_header_id
   and pla.po_line_id = pda.po_line_id
   and pha.po_header_id = pla.po_header_id
   and pha.org_id = 204
   and plla.po_header_id = pla.po_header_id
   and plla.po_line_id = pla.po_line_id
   and rt.transaction_type = ‘DELIVER’
   and rt.po_header_id = pha.po_header_id
   and rt.po_line_id = pla.po_line_id
   and rsh.shipment_header_id = rt.shipment_header_id  
   and rsl.shipment_header_id = rsh.shipment_header_id
   and rsl.shipment_line_id = rt.shipment_line_id
   and aila.po_header_id = pha.po_header_id
   and aila.po_line_id = pla.po_line_id
   and aia.invoice_id = aila.invoice_id
   and aida.invoice_id = aila.invoice_id
   and aida.invoice_line_number = aila.line_number
   and aipa.invoice_id = aia.invoice_id
   and aca.check_id = aipa.check_id
   and xte.entity_code = ‘AP_PAYMENTS’
   and xte.transaction_number = aca.check_number
   and xte.source_id_int_1 = aipa.check_id
   and xte.security_id_int_1 = aia.org_id
   and xe.entity_id = xte.entity_id
   and xah.event_id = xe.event_id
   and xal.ae_header_id = xah.ae_header_id
   and xal.ae_line_num = aida.invoice_line_number
   and xdl.ae_header_id = xah.ae_header_id
   and xdl.ae_line_num = xal.ae_line_num
   and xdl.applied_to_dist_id_num_1 = aida.invoice_distribution_id
   and gir.reference_5 = xte.entity_id  — Entity Id
   and gir.reference_6 = to_char(xe.event_id) –Event Id
   and gir.reference_7 = to_char (xah.ae_header_id) — AE Header Id
   and gir.gl_sl_link_id = xal.gl_sl_link_id
   –and gir.created_by = 1318
   and gjb.je_batch_id = gir.je_batch_id
   and gjh.je_batch_id=gjb.je_batch_id
   and gjh.je_header_id = gir.je_header_id
   and gjl.je_header_id=gjh.je_header_id
   and gjl.je_line_num= gir.je_line_num
select ooha.order_number,ooha.org_id,
       hca.account_name,
       hp.party_name “Customer Name”,
       hcasab.orig_system_reference      BILL_TO_ORIG_REF,
       hpsb.status                       BILL_TO_STATUS,
       ‘ADDRESS1 – ‘||bill_loc.address1||’,’||CHR(10)|| ‘ADDRESS2 – ‘||bill_loc.address2||’,’||CHR(10)||
       ‘ADDRESS3 – ‘||bill_loc.address3||’,’||CHR(10)|| ‘CITY     – ‘||bill_loc.city||’,’||CHR(10)||
       ‘POSTAL CD- ‘||bill_loc.postal_code||’,’||CHR(10)|| ‘COUNTRY  – ‘|| bill_loc.country  BILL_TO_ADDRESS,
       hcasas.orig_system_reference      SHIP_TO_ORIG_REF,
       hpss.status SHIP_TO_STATUS,
       ‘ADDRESS1 – ‘||ship_loc.address1||’,’||CHR(10)|| ‘ADDRESS2 – ‘||ship_loc.address2||’,’||CHR(10)||
       ‘ADDRESS3 – ‘||ship_loc.address3||’,’||CHR(10)|| ‘CITY     – ‘||ship_loc.city||’,’||CHR(10)||
       ‘POSTAL CD- ‘||ship_loc.postal_code||’,’||CHR(10)|| ‘COUNTRY  – ‘|| ship_loc.country  SHIP_TO_ADDRESS,
       oola.inventory_item_id,oola.ordered_item,
       msib.description item_description,
       wnd.name delivery_number,
       rct.trx_number “AR Invoice Number”,
       acr.receipt_number “AR Receipt Number”,
       gjh.ledger_id,
       gjh.name
  from oe_order_headers_all ooha,
       oe_order_lines_all oola,
       hz_parties hp,
       hz_cust_accounts hca,
       hz_party_sites hpss,
       hz_party_sites hpsb,
       hz_locations bill_loc,
       hz_locations ship_loc,
       hz_cust_acct_sites_all hcasab,
       hz_cust_acct_sites_all hcasas,
       hz_cust_site_uses_all hzsuab,
       hz_cust_site_uses_all hzsuas,
       mtl_system_items_b msib,
       wsh_delivery_details wdd,
       wsh_new_deliveries wnd,
       wsh_delivery_assignments wda,
       ra_customer_trx_all rct,
       ra_customer_trx_lines_all rctl,
       ra_cust_trx_line_gl_dist_all rctld,        
       ar_cash_receipts_all acr,
       xla.xla_transaction_entities xte,
       xla_events xe,
       xla_ae_headers xah,
       xla_ae_lines xal,
       xla_distribution_links xdl,
       gl_import_references gir,
       gl_je_batches gjb,
       gl_je_headers gjh,
       gl_je_lines gjl
 where ooha.order_number = :SalesOrderNumber –Right click :RequitionNumber from Toad Enable Prompt For Substitution Variables
   and ooha.org_id = 204
   and hca.cust_account_id    = ooha.sold_to_org_id
   and hp.party_id            = hca.party_id
   and hpss.party_id            = hca.party_id
   and hpsb.party_id            = hca.party_id
   and bill_loc.location_id = hpss.location_id
   and ship_loc.location_id = hpsb.location_id
   AND hcasas.cust_account_id  = hca.cust_account_id
   AND hcasab.cust_account_id  = hca.cust_account_id
   AND hcasas.party_site_id    = hpss.party_site_id
   AND hcasab.party_site_id    = hpsb.party_site_id
   and hzsuas.cust_acct_site_id = hcasas.cust_acct_site_id
   and hzsuab.cust_acct_site_id = hcasab.cust_acct_site_id
   and hzsuas.site_use_id = ooha.ship_to_org_id
   and hzsuab.site_use_id = ooha.invoice_to_org_id            
   and wda.delivery_id        = wnd.delivery_id(+)
   and wdd.delivery_detail_id = wda.delivery_detail_id
   and wdd.source_header_id   = ooha.header_id
   and wdd.source_line_id     = oola.line_id
   and wdd.organization_id    = msib.organization_id(+)
   and wdd.inventory_item_id  =msib.inventory_item_id(+)
   and rct.interface_header_attribute1 = to_char(ooha.order_number)
   and rct.org_id = ooha.org_id
   and rctl.customer_trx_id = rct.customer_trx_id
   and rctl.sales_order = to_char(ooha.order_number)
   and rctld.customer_trx_id = rct.customer_trx_id
   and rctld.customer_trx_line_id = rctl.customer_trx_line_id
   and acr.receipt_number = ‘G-1001’
   and acr.pay_from_customer = rct.sold_to_customer_id
   and acr.org_id = ooha.org_id
   and acr.customer_site_use_id = rct.bill_to_site_use_id
   and xte.transaction_number = acr.receipt_number
   and xte.entity_code = ‘RECEIPTS’
   and xe.entity_id = xte.entity_id  
   and xah.event_id = xe.event_id
   and xal.ae_header_id = xah.ae_header_id
   and xal.accounting_class_code = ‘CASH’
   and xdl.ae_header_id = xah.ae_header_id
   and xdl.ae_line_num = xal.ae_line_num
   –and xdl.source_distribution_id_num_1
   and gir.reference_5 = xte.entity_id  — Entity Id
   and gir.reference_6 = to_char(xe.event_id) –Event Id
   and gir.reference_7 = to_char (xah.ae_header_id) — AE Header Id
   and gir.gl_sl_link_id = xal.gl_sl_link_id
   and gir.created_by = 1318
   and gjb.je_batch_id = gir.je_batch_id
   and gjh.je_batch_id=gjb.je_batch_id
   and gjh.je_header_id = gir.je_header_id
   and gjl.je_header_id=gjh.je_header_id
   and gjl.je_line_num= gir.je_line_num