You are on page 1of 17

1

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
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:
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)
2
(In Purchasing, Supplier Base > Suppliers >
Sites > Receiving)
3
(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.
4
(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)
5
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.
6
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.
(In Payables, Setup > Options > Payables >
Matching).
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.
The other important setup in Payables is the
Invoice Tolerance. Invoice Tolerances are
defined to allow for variances between
7
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)
8
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.
9
10
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.
11
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.
12
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.
13
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
14
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
15
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;
C: How to remove a final matching hold.
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.
16
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!
17
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.

You might also like