You are on page 1of 17

How To Match Invoices to Purchase Orders

Michael V. Milano Cheryl Ludwig Oracle Corporation Abstract Improve your understanding of invoice matching and provide an overview of invoice matching and setup requirements in both Oracle Payables and Purchasing. Scope I. Overview of Invoice Match Functionality II. Review of various Setup Screens III. Invoice Match Process IV. Overview of the Accounting Entries V. Troubleshooting Tips 2-way matching (quantity billed <= quantity ordered) 3-way matching (adds quantity billed <= quantity received) 4-way matching (adds quantity billed <= quantity accepted

Purchase orders are created for Inventory Items or Expense Items. The accounting entries created by matching invoices to POs will be different for Inventory Items as compared to Expense Items depending on whether you accrue expense items on receipt or at period end. You can match a single invoice to multiple purchase order shipments, or you can match multiple invoices to a single purchase order shipment. Oracle Payables ensures that you match only to purchase orders for the supplier on the invoice and that the purchase order and invoice currencies match. II. SETUP The first setup step is determining which match option you are using, i.e. 2-way, 3-way or 4-way matching. This option can be setup as a default in Purchasing Options, Supplier or Supplier Site or on the PO Shipment Line. (In Purchasing, Setup > Organization > Purchasing Options > Default)

I. OVERVIEW Oracle Payables shares purchase order information from your purchasing system to enable online matching with invoices. Invoiced or billed items are matched to the original purchase orders to ensure that you pay only for the goods or services you ordered and/or received. If you are billed for an item over the amount and quantity tolerances you define in the Invoice Tolerance window, during Approval, Oracle Payables applies a hold to the invoice, which prevents payment. Oracle Payables supports three levels of matching which verify that purchase order and invoice information match within defined tolerances as follows:

(In Purchasing, Supplier Base > Suppliers > Sites > Receiving)

(In Purchasing, Purchase Orders > Purchase Orders > PO Shipments > More)

Note that in 11i, there is now the option to match to purchase order receipts as well as purchase order shipments. This option is available in the PO Shipment form Invoice Match Option. If you are using 4-way matching you must also enable inspection of the goods when they are received. To do this you can set the default in Receiving Options or set inspection at the PO Shipment level.

(In Purchasing, Setup > Organizations > Receiving Options > Receipt Routing) Note that to require inspection, receipt routing should be set to inspection required.

(In Purchasing, Purchase Orders > Purchase Orders > PO Shipments > Receiving Controls)

To require inspection, change receipt routing to inspection required for this one purchase order. You must also define a Purchase Price Variance Account. This account shows the variance between the purchase price on the purchase order and the standard cost for all items you receive and deliver into inventory and work in process. Inventory records purchase price variance on delivery into a subinventory. Work in Process records purchase price variance on delivery into the job or repetitive schedule. You must also define an Invoice Price Variance Account. This account shows the difference between the purchase price on the purchase order and the purchase price on the invoice.

(In Purchasing, Setup > Organizations > Organizations). Place your cursor on the inventory org and click the others button. Select Inventory Information. Select alternate region other accounts. In Payables, the important setup steps are Payables Options and Tolerances. In Payables Options you will need to setup the following: Allow Final Matching. Select this option to allow final matching of purchase order matched invoices. You can indicate a final match when you match an invoice to a purchase order during invoice entry or when you adjust a matched invoice distribution. Select this option only if you want to allow the option of permanently closing the purchase orders. Once a purchase order is permanently closed, you cannot reopen the purchase orders.

Allow Distribution Level Matching. Select this option if you want to allow matching to purchase order distributions. If you select this option, you can match an invoice to one or more purchase order distributions. If you do not select this option, you can match an invoice to a purchase order Shipment. Allow Matching Account Override. Select this option if you want to allow override of the account for an invoice distribution created from matching to a purchase order. You can override the account for a matched invoice distribution in the Distributions window.

You cannot override the account for a matched invoice distribution if you use encumbrance accounting or perpetual receipt accrual. Transfer PO Descriptive Flexfield Information. Select this option if you want to automatically transfer the descriptive flexfield information from the purchase order distribution to the invoice distributions when you match an invoice to a purchase order.

(In Payables, Setup > Options > Payables > Matching).

The other important setup in Payables is the Invoice Tolerance. Invoice Tolerances are defined to allow for variances between

invoices and purchase orders and for differences in tax calculation. If a tolerance is exceeded, the invoice will go on hold during the invoice approval process. The Define Tolerance form displays the name of the Hold that Oracle Payables will place on the invoice for each tolerance that is exceeded. If an invoice is on hold, the invoice cannot be paid. In the Invoice Tolerances window, select the check box for each tolerance you want to enforce, and enter tolerance levels for your purchase order matching transactions and your invoice taxes. In the Maximum Quantity Ordered field, enter either the percent or the quantity difference above purchase order shipment line quantity ordered that you allow suppliers to invoice. In the Maximum Quantity Received field, enter either the percent or the quantity difference above purchase order shipment line quantity ordered that you allow suppliers to invoice.

In the Price field, enter the percentage difference above purchase order shipment line unit price that you allow suppliers to invoice. In the Exchange Rate Amount Field, enter the amount of variance you allow between an invoice amount and the amount of the purchase order shipment to which it is matched. Enter a value in this field only if you enter foreign currency invoices in Oracle Payables. In the Shipment Amount field, enter the amount of variance you allow between and invoice amount and the amount of the purchase order shipment to which it is matched. In the Total Amount field, enter the total amount of variance you allow for both the Exchange Rate Amount variance and the Shipment Amount combined. If you do not use foreign currency, do not enter a value in this field. (In Payables, Setup > Invoice > Tolerances)

III. INVOICE MATCH PROCESS The first step in the invoice match process is to create a purchase order. There are several types of purchase orders, including Standard, Planned and Blanket purchase orders. For the purposes of illustration, this paper will use Standard Purchase Orders for all examples. In Purchasing, navigate to Purchase Orders > Purchase Orders. Enter the PO Header information like Supplier, Site, etc. If you are purchasing an Inventory Item, select the item from the list of values in the item field. If you are purchasing an expense item,

leave the item blank and enter a category, i.e. MISC.MISC. Enter a description, unit of measure, quantity, price and need by date. Click the Shipments button. Enter your shipment information: the inventory org, ship to location and quantity. The Receiving Control button allows you to enter receiving information like the receipt routing (direct delivery, standard delivery or inspection required). Remember the value for receipt routing needs to be inspection required to enable 4-way matching.

Click the Distributions Button. Enter the quantity and charge account information. Note the distribution line type default to expense or inventory depending on the item(s) being purchased. Save your work. Close the distribution and shipment forms to get back to the purchase order header click the Approve button. If you are using 3-way or 4-way matching, you must receive the items. In Purchasing, Receiving > Receipts. In the line tab, click the checkbox to the left of the quantity. This indicates which line(s) you wish to receive. Enter the quantity to be received. Save your work. It should be noted that accounting entries are generated when the receiving transaction

processor is run. The process transfers the accounting entries to the GL_INTERFACE table where General Ledger can import the transactions and then post them to the general ledger. The profile option RCV: Processing Mode determines when the receiving transaction processor is run. There are three values for this profile option, on-line, immediate and batch. If you select online or immediate, the receiving transaction processor is kicked off as soon as the receipt is saved. If you select batch, then you must run the process as a concurrent request. Now you can log into Payables and enter an invoice to be matched to either the purchase order shipment line or the receipt.

10

In Payables, Invoices > Entry > Invoices or Invoices > Entry > Invoice Batches (if batching is enabled in Payables Options). Enter invoice header information including supplier name, supplier site, invoice date, invoice number, and optionally, invoice description. The Invoice Type defaults to Standard. To enter a basic invoice, choose Standard. Enter the Supplier or Supplier Number. Choose the Supplier Site to which you will send payment of the invoice. Oracle Payables will print the address for this site on the payment. Enter the Invoice Date, or accept the default (todays date) by using the Tab key to move to

the next field. Oracle Payables will not allow the entry of invoices in closed periods, so depending on which database you are in, you may have to use old dates or open newer fiscal periods. Enter the Invoice Number from the Suppliers Invoice, or accept the default (todays date) by using the Tab key to move to the next field. Oracle Payables will not accept duplicate invoice numbers for the same supplier. Enter the Invoice Amount. Next to the Match button is a field that displays the default invoice match option. In 11i you can match to purchase order shipments or to receipts. Your choice of which is your default is displayed here, although you can change this value when matching.

11

Query the purchase orders to which you want to match the invoice. For each shipment you want to match, enter two of the following:

Quantity Invoiced, Unit Price, or Match Amount. Oracle Payables automatically calculates the remaining field.

12

If you want to match in further detail, you can match to purchase order distributions by choosing Distribute. If the Distribute button is enabled, that is the indication that there are multiple distributions for the shipment. You can also match to the receipt rather that the purchase order shipment. To do this select receipt match option (the field next to the match button on the Invoice Workbench). Click the Match button and enter a receipt number in the find window. Common Nomenclature: Charge A/C account to be affected by the PO or invoice distribution IPV A/C Invoice Price Variance Account AP LIAB Accounts Payable Liability Account Cash cash account Rec. A/C receiving account AP Exp Accr Accounts Payable expense accrual account. AP Inv. Accr Accounts Payable Inventory account IV. Overview of Accounting Entries The following are various examples of when encumbrance entries are created and what they should look like. Case Scenarios: 1) 2-way match. Match a Standard purchase order for $10 (expense item) to a standard invoice for $10 with accrual at period end. When the purchase order is created and approved, no accounting entries are

generated, unless you are using encumbrance accounting, which is discussed in another white paper. Accounting entries are generated when the Receiving Transaction Processor completes. Since this is a 2-way match there will be no receipt for this transaction. When the invoice is matched, the invoice distribution will default from the PO distribution. It will also populate the PO_DISTRIBUTION_ID in the AP_INVOICE_DISTRIBUTIONS_ALL table. To actually create the accounting entries, you must run the Create Accounting process. Invoice Matched/Approved, Run Create Acct Account Debit Credit Charge A/C 10 AP LIAB 10 2) 3-way match. Create a $20 purchase order for an expense item (period end accrual) and match it to an invoice for $20. Upon approval of the purchase order no accounting entries are generated. Receive the items Once the Receiving Transaction Processor has completed, accounting entries are generated and populated in the GL_INTERFACE table. Item Received/Receiving Transaction Processor completes Account Debit Credit Rec. A/C 20 AP Exp Accr. 20 Items Delivered/Receiving Transaction Processor completes Account Debit Credit Rec. A/C 20 Charge A/C 20 Invoice Matched and Run Create Accounting Account Debit Credit AP Exp Accr 20 AP LIAB 20

13

3) Create a purchase order for $30 inventory item (accrue on receipt). Match the purchase order to a standard invoice for $30. Receive the Item/Receiving Transaction Processor completes Account Debit Credit Rec A/C 30 AP Inv Accr 30 Deliver the Item/Receiving Transaction Processor completes Account Debit Credit Rec A/C 30 Charge A/C 30 Invoice Matched/Approved, Run Create Accounting Account Debit Credit AP Inv Accr 30 AP LIAB 30 4) Create a purchase order for an inventory item, (accrue on receipt) for $40. Match a standard invoice for $50. Item Received/Receiving Transaction Processor completes Account Debit Credit Rec A/C 40 AP Inv Accr 40 Item Delivered/Receiving Transaction Processor completes Account Debit Credit Rec A/C 40 Charge A/C 40 Invoice Matched and Run Create Accounting Account Debit Credit AP Inv Accr 40 IPV A/C 10 AP LIAB 50 Note: The difference between the purchase order price and the invoice price is charged to

the Invoice Price Variance account as defined in Inventory Information form (Setup > Organizations > Organizations). 5) Create a purchase order for an expense item (accrue on receipt) for $50. Match an invoice for $60. Item Received/Receiving Transaction Processor completes Account Debit Credit Rec A/C 50 AP Exp Accr 50 Item Delivered/Receiving Transaction Processor completes Account Debit Credit Rec A/C 50 Charge A/C 50 Invoice Matched and Run Create Accounting Account Debit Credit AP Exp Accr 50 Charge A/C 10 AP LIAB 60 Note: The difference in the purchase order price and the invoice price is not recorded to the Invoice Price Variance account. For expense items, price variances are recorded to the charge account on the purchase order distribution and not the invoice price variance account. When the Transfer to General Ledger is run the price variance will show as a separate journal line, as shown above. V. Troubleshooting Tips A. Essential Table Level Detail 1. Purchase Orders PO_HEADERS_ALL Fields: po_header_id Segment1=PO Number wf_item_type wf_item_key

14

C: How to remove a final matching hold. 2. Purchase Orders PO_LINES_ALL Fields: po_line_id po_header_id closed_code 3. Purchase Orders PO_LINE_LOCATIONS_ALL Fields: line_location_id po_header_id po_line_id closed_code quantity_received quantity_accepted quantity_billed 4. Purchase Orders PO_DISTRIBUTIONS_ALL Fields: po_distribution_id po_header_id po_line_id line_location_id quantity_ordered quantity_billed quantity_cancelled 5. Accounts Payable AP_INVOICE_DISTRIBUTIONS Field: po_distribution_id B: New Required Field. 11i has a new required field in the po_line_locations_all table called match_option. Since this is a new field, when upgrading this field will be NULL. After the upgrade you will need to run the following script to populate this field. update po_line_locations_all set match_option = P where match_option is NULL; commit; If you have an invoice distribution which has been matched to a final closed PO, the invoice will get a FINAL MATCHING hold. There are 2 ways of final closing a PO line: 1. When you match an invoice to the PO line, you can set the field "final match" to Yes. This is on the same form where you enter the amount and quantity you are matching. 2. You can manually Final Close a PO through purchasing. The form is called Control Purchase Orders. Once you have final closed a PO, the very NEXT time that you try to match an invoice to the PO, you will get the final matching hold. The hold is placed on the invoice when you run AutoAapproval. Example: 1. Match an invoice to a PO. Choose yes for Final Match. This invoice will pass AutoApproval. 2. Match a second invoice to the same PO. When you try to match to the line that is already closed, you will receive a warning message telling you that the line is already closed. When you try to approve the invoice, the invoice will be put on final matching hold. There is no way to manually remove the hold; the system must remove the hold. There are two workarounds for this situation: Workaround #1: -------------You need to reverse the distribution line that has the final match hold. You can then create a new PO line, and then match to that line.

15

Workaround #2: -------------You can manually create a distribution line on the invoice that is not matched to the PO, but is charged to the correct GL account. NOTE: You may want to use this second workaround if the goods were already received against the original PO line. D: Price Holds on Invoices. Several clients have stated that they had POs with several invoices already matched to the POs. They enter an invoice where the invoice price is the same or lower than the PO price, and they get a PRICE hold. Basically, the problem is as follows. The PRICE hold is because the average price of all the invoices matched to the PO is compared to the PO price. Since the average price is greater than the PO price, the PRICE hold comes on, even though the price on the current invoice is the same or lower than the PO price. NOWHERE in the documentation does it state that the "average price of all the invoices matched to that PO" is used. The doc only states that the invoice price is compared to the PO price and the tolerance used. The documentation needs to be updated to include the correct calculation. Currently, in the Matching Holds table it states: PRICE hold Invoice unit price > [purchase order unit price x (1 + % tolerance)] The "invoice unit price" needs to be changed to specify the weighted average calculation of all the invoice prices on all invoices matched to that PO.

E: What do the values of the final match flag mean? In the AP_INVOICE_DISTRIBUTIONS_ALL table, the FINAL_MATCH_FLAG codes mean: N - The PO shipment line has not been matched. Y - The PO shipment line has been matched, AND one of the invoices for this PO has been final matched. When a PO is final matched to an invoice, all other invoices for that PO are updated, too. So you cannot tell from this flag, which invoice was final matched. D - The PO shipment line is closed. You cannot invoice this distribution line. F: Descriptive Flexfields. Descriptive flexfields that appear on the purchase order header and purchase order lines do not transfer to Accounts Payables when matched. Only descriptive flexfields on the purchase order distribution will be transferred to Oracle Payables. Conclusion It is our desire that this paper has helped you understand the fundamentals of Invoice Matching. Breaking Invoice Matching down should help you understand the process. We hope that you are now better equipped to troubleshoot problems and determine what needs to be done to resolve the issue. In addition, if you encounter a problem that requires assistance, please remember to log an iTAR with Oracle Support. They may have seen the issue before and may already have a solution for the issue!

16

About the Authors Michael Milano is a Technical Analyst with the Oracle Support Payables group. He has been working for Oracle Support for over 3 years. Cheryl Ludwig is a Technical Analyst with the Oracle Support Purchasing group. She has been working for Oracle Support for over 3 years.

17

You might also like