____________________________________
Pay On Receipt Brown Bag
____________________________________
What is Pay On Receipt?
POXPOIV, Pay on Receipt, also known as ERS (Evaluated
Receipt Settlement), or Self-Billing, is an Oracle Purchasing concurrent
program, which automatically creates invoices in Payables and matches them with
Purchase Orders for the received amount.
How does Pay on
Receipt Work?
From bug 3610485:
When Pay on Receipt Autoinvoice (POXPOIV) program is ran, it in turn launches
Payables Interface Import (APXIIMPT) program.
POXPOIV updates invoice_status_code of rcv_transactions to INVOICED, then populates records in ap_invoices_interface and ap_invoice_lines_interface. Then the interface data is committed and APXIIMPT is invoked to create the invoices.
If APXIIMPT program errors out for some reason during the validation of AP interface data then the records stay in interface tables with REJECTED status and the associated error information will be stored in AP_INTERAFACE_REJECTIONS table.
POXPOIV sets invoice_status_code of rcv_transactions, for transaction_type RECEIVE,
to INVOICED for both successfully imported invoices and for invoices rejected
by APXIIMPT.
If Pay on Receipt AutoInvoice is ran again later then it will pick
only those records which have invoice_status_code as 'PENDING. It will not
pick/process the records which have invoice_status_code =
INVOICED. [1]
----------
The Pay on Receipt program populates data in
ap_invoices_interface and ap_invoice_lines_interface. Then Payables Import program is kicked off,
which in turn processes these records and creates an invoice by populating the
final tables of ap_invoices_all and ap_invoice_distributions_all
At the time invoice_status_code is inserted into
rcv_transactions, the system checks for the value of the Vendor Site’s Pay On
Code. If Pay On Code is set to
‘Receipt’, then invoice_status_code is inserted into rcv_transactions as
‘PENDING’, otherwise it will be inserted as null[2]
I. Basic Setup Required:
1.
Navigation: Purchasing Super User Responsibility > Supply
Base > Suppliers. Query the Supplier
to be associated with the Purchase Order.
Select Site button. In the
General Tab, select the Pay and Purchasing check boxes:
2.
In the Purchasing
Tab of the Supplier Sites form in the Self Billing section, the Pay On and
Invoice Summary Level fields are set as follows (this set up is done in
Payables):
Pay On = Receipt
If Pay On is set to
‘Receipt’, Invoice Summary Level settings may be one of the following:
- Pay Site = one invoice is created per
supplier pay site.
- Packing Slip = one invoice is created
per packing slip per supplier pay site.
- Receipt = one invoice is created per
receipt per supplier pay site.
The above settings
will determine how the invoice number is created:
The Invoice Number is of the
following format:
‘ERS’--
where:
- ERS is the default prefix for Pay
On Receipt invoices, or any prefix specified in
the profile option PO:ERS Invoice
Number Prefix.
In the above setting, ‘Seq#’ is a
unique system generated number, where X
Depends on the summary level
indicated above in the Invoice Summary Level
Setting:
·
If summary level = Pay Site, then ‘X’ = Invoice Date
·
If summary level = Packing Slip, then ‘X’ = Packing Slip Number
·
If summary level = Receipt, then ‘X’ = Receipt Number
If there are issues with this setup, it is handled by Payables.
3.
Navigation:
Purchasing Super User > Purchase Order > Purchase Order > Terms
window.
The Pay On field
should be set to ‘Receipt’:
4.
Navigation: Payables > Setup > Options > Payables
> Invoice Tab:
Under GL Date Basis, there are four options. The accounting date will be based on the
option selected here:
- Invoice
Date (Invoice date entered on the Invoice in Accounts Payable)
- System
Date (Current/system date the invoice was entered in Accounts Payable)
- Goods
Received / Invoice Date (Invoice date entered on the receipt in Accounts
Receivable)
- Goods
Received / System Date (Current/system date the receipt was entered in
Accounts Receivable)
II. Troubleshooting:
1a.
No invoices are created:
POXPOIV launches APXIIMPT, and APXIIMPT completes with
error. This will cause records to be
stuck in AP Interface tables, and an Invoice is not created. To determine if records are stuck in status
of NULL or REJECTED in ap_invoices_interface, to determine those records:
select AP.invoice_id, AP.invoice_num, AP.vendor_id, AP.vendor_site_id,
AP.po_number, AP.status, AP.source, AP.group_id, APL.invoice_id,
APL.po_header_id, APL.po_line_id, APL.po_line_location_id,
APL.po_distribution_id, APL.po_release_id, APL.release_num,
APL.org_id, APL.rcv_transaction_id, APL.receipt_number,
RT.transaction_type, RT.transaction_id, RT.parent_transaction_id,
RT.quantity, RT.invoice_status_code, RT.quantity_billed
from ap_invoices_interface AP, ap_invoice_lines_interface APL,
rcv_transactions RT
where AP.source = 'ERS'
and AP.invoice_id = APL.invoice_id
and rt.po_header_id = APL.po_header_id
and APL.rcv_transaction_id is not null
and APL.rcv_transaction_id = rt.transaction_id
and (rt.vendor_id is null or rt.vendor_site_id is null);
1b.
Pay on Receipt Workaround:
To create an Invoice if Pay on Receipt failed:
Manually create a QuickMatch:
Navigation: Payables > Invoices > Invoices
Select QuickMatch from the Type.
Enter the PO Number you want to match in the PO Number box:
Click OK and the information from the PO will default into
the Invoice form.
Continue to populate the rest of the required columns to
create the Quick Match (Match to PO), and Save:
(Troubleshooting
continued):
2. To verify if Vendor is enabled to Pay on Receipt,
retrieve the following:
select pv.vendor_name, pvs.last_update_date, pvs.creation_date, pvs.purchasing_site flag, pvs.pay_site_flag, pvs.default_pay_site_id, pvs.pay_on_code, pvs.inactive_date, pvs.hold_all_payments_flag
from po_vendor_sites_all pvs, po_vendors_all pv
where pv.vendor_name in <'Enter the vendor name'>
and pv.vendor_id = pvs.vendor_id;
3. Verify the Aging Period is set:
Profile
'PO: ERS Aging Period' needs to be set at some value, even 0. Or when
submitting the Pay on Receipt Autoinvoice program enter a value for parameter
'Aging Period'. See Note
301477.1
4. Verify the receipt is available for Pay on Receipt. If the invoice_status_code is NULL in RCV_TRANSACTIONS, the record is not eligible for Pay on Receipt.
select rt.quantity, rt.source_document_code, rt.invoice_status_code, rt.match_option, rt.match_flag, rt.shipment_header_id,
rt.po_header_id, rsh.invoice_status_code, rsh.last_update_date
from rcv_transactions rt, rcv_shipment_headers.rsh
where rt.shipment_header_id = rsh.shipment_header_id
and rsh.receipt_num = <’enter receipt number’>
and rsh.ship_to_or_id =;
5. Run the script below to determine if the records are stuck in AP_INVOICES_INTERFACE:
4. Verify the receipt is available for Pay on Receipt. If the invoice_status_code is NULL in RCV_TRANSACTIONS, the record is not eligible for Pay on Receipt.
select rt.quantity, rt.source_document_code, rt.invoice_status_code, rt.match_option, rt.match_flag, rt.shipment_header_id,
rt.po_header_id, rsh.invoice_status_code, rsh.last_update_date
from rcv_transactions rt, rcv_shipment_headers.rsh
where rt.shipment_header_id = rsh.shipment_header_id
and rsh.receipt_num = <’enter receipt number’>
and rsh.ship_to_or_id =
5. Run the script below to determine if the records are stuck in AP_INVOICES_INTERFACE:
select
AP.invoice_id, AP.invoice_num, AP.vendor_id, AP.vendor_site_id, AP.po_number,
AP.status,AP.source, AP.group_id, AP.invoice_date, AP.invoice_amount,
AP.invoice_currency_code, AP.exchange_rate, AP.terms_id, AP.description,
AP.creation_date,
AP.goods_received_date, AP.invoice_received_date, AP.org_id, APL.invoice_id, APL.po_header_id, APL.po_line_id, APL.po_line_location_id, APL.po_distribution_id, APL.po_release_id, APL.release_num, APL.org_id, APL.rcv_transaction_id, APL.receipt_number, RT.transaction_type, RT.transaction_id, RT.parent_transaction_id, RT.quantity, RT.invoice_status_code, RT.quantity_billed
from ap_invoices_interface AP, ap_invoice_lines_interface APL, rcv_transactions RT
where AP.source = 'ERS'
and AP.invoice_id = APL.invoice_id
and rt.po_header_id = APL.po_header_id
and APL.rcv_transaction_id is not null
and APL.rcv_transaction_id = rt.transaction_id
and (rt.vendor_id is null or rt.vendor_site_id is null);
If the data in the ap_invoices_interface table matches the PO, then Purchasing is passing the correct data. Please log a SR with AP.
6. If an invoice is not created review the output from the Payables Open Interface. The rejection section should provide the reason why the invoice was not created.
AP.goods_received_date, AP.invoice_received_date, AP.org_id, APL.invoice_id, APL.po_header_id, APL.po_line_id, APL.po_line_location_id, APL.po_distribution_id, APL.po_release_id, APL.release_num, APL.org_id, APL.rcv_transaction_id, APL.receipt_number, RT.transaction_type, RT.transaction_id, RT.parent_transaction_id, RT.quantity, RT.invoice_status_code, RT.quantity_billed
from ap_invoices_interface AP, ap_invoice_lines_interface APL, rcv_transactions RT
where AP.source = 'ERS'
and AP.invoice_id = APL.invoice_id
and rt.po_header_id = APL.po_header_id
and APL.rcv_transaction_id is not null
and APL.rcv_transaction_id = rt.transaction_id
and (rt.vendor_id is null or rt.vendor_site_id is null);
If the data in the ap_invoices_interface table matches the PO, then Purchasing is passing the correct data. Please log a SR with AP.
6. If an invoice is not created review the output from the Payables Open Interface. The rejection section should provide the reason why the invoice was not created.
7. If receiving using Receiving Open Interface, and
invoices need to be created for ASBNs, check that Profile of
PO_ASBN_INVOICE_INTERFACE is set to Y, or Payables will not be launched to
create an invoice for ASBNs.
8. To create debug log files:
Set Profile ‘PO:
Enable SQL trace for Receiving Processor’ to Yes
Run POXPOIV Pay on
Receipt Auto Invoice program.
Log file generated
will have debug messages included.
III. Debit Memo
1. When creating a Debit Memo for a return, the
‘Create Debit Memo’ should be enabled, defaulting from the supplier site setup:
2. Supplier Site setup:
Navigation: Purchasing Super User Responsibility > Supply
Base > Suppliers. Query the Supplier
to be associated with the Purchase Order.
Select the Purchasing tab. In the Self Billing section, “Create Debit Memo from RTS Transaction”
should be checked:
3. Troubleshooting Debit Memo Creation
If Debit Memo is
not automatically created in AP, verify the following:
- The supplier site has to be
marked to allow RTS transactions.
- There must be an original
invoice already in AP for the item being returned.
- The PO and the original
Invoice must be to the same Supplier Site.
- The Supplier Site must be
marked as both a Pay Site and a Purchasing Site.
- The return quantity cannot
cause the quantity invoiced to go negative.
- The return quantity must be
equal to or less than the quantity invoiced.
- The Create Debit Memo
checkbox must also be turned on in the Receipt form.
- The return must be to the
Supplier, and not to Receiving.
- If the Create Debit Memo errs
with AP_CANNOT_ASSIGN_DOC_SEQ, verify the seeded Document Category is the
one assigned to the set of books for successful creation of automatic RTS
Debit memos
4. Workaround for Creating Debit Memo:
If the Debit memo is
not created automatically, manually create a Debit Memo in the Accounts Payable
application:
Navigation: Invoices > Entry >Invoices
Select Debit Memo from the list of values for the type. Continue to populate the rest of the required
columns to create the Debit Memo.
Referenced from Note
214273.1 Purchase Order Matching Troubleshooting Guide