You can set options and tolerances in Payables and Purchasing to control matching in your system.
You set these options in many windows including Financials Options, Payables Options, Suppliers, Supplier Sites, and the Purchasing Options window in Purchasing. In addition, you set the following:
In the Invoice Tolerance window you can set tolerances for the variance you will allow between invoices and purchase orders or receipts.
In the Payables Lookups and Purchasing Lookups windows you define lookup values that you use in both Payables and Purchasing. See: Integrated Supplier and Purchasing Information, Oracle Payables User Guide.
In the Profile Options window you set the value for AP: Show Finally Closed POs. See: AP: Show Finally Closed POs.
The following options and windows control matching in your system. The windows or document in which you can set the option are listed in the same order as the defaulting hierarchy. If a value defaults to another window or document, you can always override the default value.
Hold Unmatched Invoices (enabled, disabled)
Financials Options window (Supplier Entry) and Payables Options window (Expense Reports)
Suppliers window
Supplier Sites window
Match Approval Level (2-way, 3-way, 4-way)
Purchasing Options window
Suppliers window
purchase order shipment
Invoice Match Option (Receipt, Purchase Order)
Financials Options window
Suppliers window
Supplier Sites window
purchase order shipment
Related Topics
Entering Suppliers, Oracle iSupplier Portal Implementation Guide
You can use Oracle XML Gateway to receive invoices from suppliers using XML messaging standards. Oracle supports the XML standard that was developed by the Open Applications Group (OAG). Oracle uses the OAG's Process Invoice DTD called 171_Process_Invoice_002.dtd (version 7.2.1). Suppliers need to generate XML invoices that comply with this standard to ensure that these invoices can be received through the Oracle XML Gateway and processed by Payables. Please refer to the OAG website www.openapplications.org for more information on OAG standards.
This discussion includes the following topics:
This XML invoice support has the following restrictions for how the invoices are processed:
All invoices in one message must be from the same supplier and supplier site.
Custom code conversions must be defined as part of trading partner setup.
Tax groups are not supported.
Invoices in one message are limited to one organization.
Oracle supports the following XML element structure:
<PROCESS_INVOICE>
INVHEADER (invoice header)
INVCHARGE (freight/miscellaneous charge line)
INVLINE (item line)
INVTAX within INVLINE (This tax line will have the same LINE_GROUP_NUMBER as the Item line)
INVTAX (tax line(s)) (This tax line will not have a LINE_GROUP_NUMBER because it will be prorated across all taxable Item lines in this invoice.)
</PROCESS_INVOICE>
The following are examples of document structures that are not supported:
INVTAX and INVCHARGE within INVHEADER
INVTAX within INVCHARGE
INVCHARGE within INVLINE
The map does not support tax on tax. See Tax on XML Invoices.
The map does not support invoices matched to blanket purchase orders.
Related Topics
You perform setup for XML Invoices in the XML Gateway product. For additional information on the following steps, refer to Oracle XML Gateway User Guide.
Define a hub for each supplier that will send you XML invoices.
In XML Gateway, navigate to the Define Hubs window. For the following parameters, enter the following values:
Parameter | Value |
---|---|
Name | AP |
Protocol Type | HTTP |
Protocol Address | (enter the complete URL where the Transport Agent will post the XML document. The first part of this URL is the deploying enterprise's server and port) |
Username, 1 | (enter the name of the supplier) |
Password, 1 | (enter the password your supplier gives you) |
Hub Entity Code, 1 | (enter any code) |
Save your work.
Define the Inbound XML Invoices Transaction:
In XML Gateway, navigate to the Define Transactions window. For the following parameters, enter the following values:
Parameter | Value |
---|---|
Party Type | Supplier |
Transaction Type | AP |
Transaction Subtype | INI |
Transaction Description | Inbound XML Invoices |
Standard Code | OAG |
Direction | IN |
External Transaction Type | INVOICE |
External Transaction Subtype | PROCESS |
Queue | APPS.ECX_IN_OAG_Q |
Save your work.
Define each trading partner (supplier) that will send you XML invoices:
In XML Gateway, navigate to the Define Trading Partners window. For the following parameters, enter the following values:
Parameter | Value |
---|---|
Trading Partner Type | Supplier |
Trading Partner Name | (enter the name of your supplier) |
Trading Partner Site | (enter the supplier site address) |
Company Admin Email | (enter the supplier e-mail address) |
Transaction Type | AP |
Transaction Subtype | INI |
Standard Code | OAG |
External Transaction Type | INVOICE |
External Transaction Subtype | PROCESS |
Direction | IN |
Map | AP_INVOICE_INBOUND |
Source Trading Partner Location Code | (enter the same code you entered for the hub entity code) |
Document Confirmation | 0 |
Routing | (leave null) |
Save your work.
Submit the following information through a transport agent.
Parameter | Value |
---|---|
TRANSPORT_PROTOCOL | OXTA |
TRANSPORT_PROTOCOL_VERSION | 1.0 |
REQUEST_TYPE | SEND |
MESSAGE_ID | (enter any unique ID) |
MESSAGE_TYPE | XML |
MESSAGE_STANDARD | OAG |
TRANSACTION_TYPE | INVOICE |
TRANSACTION_SUBTYPE | PROCESS |
DOCUMENT_NUMBER | (enter any number) |
PARTY_ID | (enter any number) |
PARTY_SITE_ID | (enter the same code you entered for the hub entity code) |
USERNAME | (enter the username) |
PASSWORD | (enter the password) |
Save your work.
Invoice DTD elements that Oracle supports are presented in this section. These tables also show how the data elements map to columns in the Payables Open Interface tables.
The AP_INVOICE_INBOUND message map is used to populate the Payables Open Interface tables with invoice records based on data in a PROCESS_INVOICE_002 XML message. The following sections present details associated with that message map.
Note: Most data values are seeded.
XML Gateway Details:
Parameter | Value |
---|---|
Message Map Name: | AP_INVOICE_INBOUND |
Direction: | Inbound |
(Internal) Transaction Type: | AP |
(Internal) Transaction Subtype: | INI |
External Transaction Type: | PROCESS |
External Transaction Subtype: | INVOICE |
DTD Directory: | ap/xml/oag721 |
Map Directory: | ap/patch/115/xml/US |
Message Maps XGM File Name: | apxmlinb.xgm |
Workflow Business Event System Details:
Parameter | Value |
---|---|
Event Name initiated by the Message Map after the transaction is processed: | oracle.apps.ap.inv.invoice.recv |
Event Subscription Name initiated by the Application after the transaction is processed: | no subscription in this version |
General Message Map Details:
Parameter | Value |
---|---|
The Open Interface or API is initiated for the transaction by the Message Map: | No |
Name of the Application Open Interface associated with validation of the entire transaction: | Payables Open Interface |
Are levels expanded and/or collapsed in the Message Map: | Yes |
Target Detail Open Interface Tables:
Table |
---|
AP_INVOICES_INTERFACE |
AP_INVOICE_LINES_INTERFACE |
The following tables show values that default when the Payables Open Interface is populated.
Defaulted Columns:
Defaulted Columns | Default Value, and Condition (if any) |
---|---|
AP_INVOICES_INTERFACE.INVOICE_ID | Assigned next sequence value |
AP_INVOICES_INTERFACE.GROUP_ID | Assigned variable value from the XML Gateway Internal Control Number. |
AP_INVOICES_INTERFACE.SOURCE | XML GATEWAY |
AP_INVOICE_LINES_INTERFACE.INVOICE_ID | Assigned from corresponding header row |
AP_INVOICE_LINES_INTERFACE.INVOICE_LINE_ID | Assigned next sequential value |
The following tables show values that are derived when the Payables Open Interface is populated. Note that import later derives some invoice values such as the accounts for Freight and Miscellaneous distributions. For details on values that import derives or defaults, refer to the Payables Open Interface Table Descriptions, Oracle Payables Reference Guide.
Derived Columns:
Derived Columns | Default Value, and Condition (if any) |
---|---|
AP_INVOICES_INTERFACE.PAYMENT_METHOD | Derived from supplier site. |
AP_INVOICES_INTERFACE.VENDOR_SITE_ID | The supplier (VENDOR_ID) and the operating unit (ORG_ID) are derived from the PARTY_SITE_ID in the XML envelope. |
AP_INVOICES_INTERFACE.INVOICE_TYPE_LOOKUP_CODE | If the invoice amount is zero or positive then the value is STANDARD. If the invoice amount is negative then the value is CREDIT. |
AP_INVOICE_LINES_INTERFACE.LINE_TYPE_LOOKUP_CODE | For INVLINE elements, LINE_TYPE_LOOKUP_CODE is "ITEM". For INVTAX.AMOUNT.TAX.T elements, the line type value is TAX. If INVCHARGE.CHARGETYPE is "Freight" then the line type value is FREIGHT. If INVCHARGE.CHARGETYPE is anything other than "Freight" then the line type value is MISCELLANEOUS. Note that the CHARGETYPE is not case sensitive. |
AP_INVOICE_LINES_INTERFACE.TAXABLE_FLAG | Thisvalue is set to Y in two scenarios: -If the taxable flag is set to Y at the header then this value is set to Y for all Item lines. -This value is derived for Item lines only, and is based whether INVTAX is within INVLINE. The value is set to Y when tax should be prorated to the item. |
AP_INVOICE_LINES_INTERFACE.LINE_NUMBER |
XSLTs are not provided in the Oracle transactions. You may add them to your own or modified Message Maps by invoking the Execute Procedure to Perform XSLT Transaction in the Message Map.
XML Style sheets must be stored in the directory that is defined in the Profile Option, if they are used.
The AP_INVOICE_INBOUND message map collapses the dataarea and the PROCESS_INVOICE and INVHEADER elements into AP_INVOICES_INTERFACE.
We do not use any data in the user areas.
The following table contains information about Invoice Header (INVHEADER) DTD elements and how they map to open interface tables.
For a text description of the following table, see: Text Description of the Invoice Header Table, Oracle Payables User's Guide.
Field/Data Type | Description/Comment | Payables Open Interface Table column (inbound) |
---|---|---|
AMOUNT.DOCUMENT.T -VALUE -CURRENCY |
Qualifier needs to be "DOCUMENT" to be mapped. | AP_INVOICES_INTERFACE.INVOICE_AMOUNT AP_INVOICES_INTERFACE.INVOICE_CURRENCY_CODE |
DATETIME.DOCUMENT | Qualifier needs to be "DOCUMENT" to be mapped. | AP_INVOICES_INTERFACE.INVOICE_DATE |
DOCUMENTID | AP_INVOICES_INTERFACE.INVOICE_NUM | |
DESCRIPTN | AP_INVOICES_INTERFACE.DESCRIPTION | |
PARTNER.CONTACT.EMAIL | PARTNERTYPE needs to be "Supplier" to be mapped. If null, the email address will be derived from the trading partner setup. | AP_INVOICES_INTERFACE.VENDOR_EMAIL_ADDRESS |
The following table contains information about Invoice Charge (INVCHARGE) DTD elements and how they map to open interface tables.
For a text description of the following table, see: Text Description of the Invoice Charge Table, Oracle Payables User's Guide.
Field/Data Type | Description/Comment | Payables Open Interface Table (inbound) |
---|---|---|
AMOUNT.EXTENDED.T | Qualifier needs to be "EXTENDED" to be mapped. | AP_INVOICE_LINES_INTERFACE.AMOUNT |
INVCHARGE.CHARGETYPE | If INVCHARGE.CHARGETYPE is "Freight" then the line type value is FREIGHT. If INVCHARGE.CHARGETYPE is anything other than "Freight" then the line type value is MISCELLANEOUS. Note that the CHARGETYPE is not case sensitive. | AP_INVOICE_LINES_INTERFACE.LINE_TYPE_LOOKUP_CODE |
INVCHARGE.DESCRIPTN | AP_INVOICE_LINES_INTERFACE.DESCRIPTION |
The following table contains information about Invoice Line (INVLINE) DTD elements and how they map to open interface tables.
For a text description of the following table, see: Text Description of the Invoice Line Table, Oracle Payables User's Guide.
Field/Data Type | Description/Comment | Payables Open Interface Table (inbound) |
---|---|---|
AMOUNT.EXTENDED.T | Qualifier needs to be "EXTENDED" to be mapped. This is price x quantity. It does not include tax, freight or miscellaneous charges. | AP_INVOICE_LINES_INTERFACE.AMOUNT |
OPERAMT.UNIT.T | Qualifier needs to be "UNIT" to be mapped. | AP_INVOICE_LINES_INTERFACE.UNIT_PRICE |
QUANTITY.ITEM | Qualifier needs to be "ITEM" to be mapped. | AP_INVOICE_LINES_INTERFACE.QUANTITY_INVOICED |
DESCRIPTN | AP_INVOICE_LINES_INTERFACE.ITEM_DESCRIPTION | |
ITEMX | Currently used to identify PO line. | AP_INVOICE_LINES_INTERFACE.VENDOR_ITEM_NUM |
UNIT | Code conversion needs to be consistent with trading partner. | AP_INVOICE_LINES_INTERFACE.PO_UNIT_OF_MEASURE |
DOCUMNTREF.DOCTYPE | Not mapped, but for a purchase order, the DOCTYPE must be "PurchaseOrder". | |
DOCUMNTREF.DOCUMENTID | Currently used to identify PO number. | AP_INVOICE_LINES_INTERFACE.PO_NUMBER |
DOCUMNTREF.LINENUM | AP_INVOICE_LINES_INTERFACE.PO_LINE_NUMBER | |
DOCUMNTREF.SCHLINENUM | AP_INVOICE_LINES_INTERFACE.PO_SHIPMENT_NUM |
The following table contains information about Invoice Tax (INVTAX) DTD elements and how they map to open interface tables.
For a text description of the following table, see: Text Description of the Invoice Tax Table, Oracle Payables User's Guide.
Field/Data Type | Description/Comment | Payables Open Interface Table (inbound) |
---|---|---|
AMOUNT.TAX.T | Qualifier needs to be "TAX" to be mapped. Always use TAX.T to submit tax information. Do not use TAX.TAX. | AP_INVOICE_LINES_INTERFACE.AP_INVOICE_LINES_INTERFACE.AMOUNT |
Related Topics
An XML message can send a tax amounts in the following ways. One XML message can include both ways:
as its own tax line
as part of an invoice line
If the message has a separate tax line, the map creates it as a Tax line in the interface. Payables Open Interface Import then allocates that Tax line to all taxable Item lines on the invoice. Note that tax allocation is to Item lines only.
If a tax amount is included as part of an invoice line, then the map breaks the line into two lines -- one Item line and one Tax line. The map also populates each line with the same value in AP_INVOICE_LINES_INTERFACE.LINE_GROUP_NUMBER to ensure that the allocation of the Tax line is to the single Item line.
Invoice Validation will validate tax amounts and will apply holds to the invoice if necessary.
Related Topics
Once you install the Oracle XML Gateway, it automatically retrieves incoming XML messages that are placed in an XML Gateway Inbound Queue. XML Gateway maps the messages and loads them to the Payables Open Interface tables. XML Gateway passes the supplier e-mail address to the interface when it loads invoice records to Payables. Certain invoice import failures (for example, invalid purchase order) cause a workflow notification of the problem to be sent to the supplier at this designated e-mail address. After the notification is sent, the workflow automatically deletes the rejected invoice record from the interface. The supplier must correct the problem and retransmit the invoice.
The following import rejections cause a notification to be sent to the supplier.
Can Match To Only 1 Line
Duplicate Invoice Number
Duplicate Line Number
Inconsistent Curr
Inconsistent PO Line Info
Invalid Invoice Amount
Invalid Item
Invalid PO Info
Invalid PO Num
Invalid PO Shipment Num
Invalid Price/Quantity
Invalid Quantity
Invalid Unit Price
No PO Line Num
For detailed information about these rejections, see: Payables Open Interface Import Report, Oracle Payables User Guide.
To process your incoming invoices, you submit the XML Inbound Invoice Process. This is a request set that can be scheduled to run as often as you want to retrieve and process XML invoices. The set submits four concurrent programs: Payables Open Interface Import, Payables Invoice Validation, Payables Accounting Process, and Concurrent Request Notification.
The Concurrent Request Notification process automatically sends an e-mail to the e-mail address that is entered in the AP: Notification Recipient E-mail profile option. The e-mail notifies the recipient that the programs were submitted to the concurrent manager and provides the request ID of each program. For information on monitoring requests, see: Submitting Standard Reports, Programs, and Listings, Oracle Payables User Guide.
If an invoice does not import due to validation in the import program that is not the responsibility of the supplier (for example, accounting date is in a closed period), then the problem needs to be reviewed and corrected within Payables. See: Payables Open Interface Import Troubleshooting, Oracle Payables User Guide and Open Interface Invoices Window, Oracle Payables User Guide.
Prerequisites
Install Oracle XML Gateway to automatically receive incoming messages. See: Oracle XML Gateway User Guide.
In Oracle XML Gateway, define the trading partner. See: Oracle XML Gateway User Guide.
(Optional) Provide a value for import to assign for the expense account for Miscellaneous distributions. See: Miscellaneous Account Financials Option.
(Optional) Provide a value for import to assign for the expense account for Freight distributions. See: Freight Account Payables Option.
Set up taxes.Setting Up Taxes in Oracle E-Business Tax, Oracle E-Business Tax User Guide
In the Submit a New Request window, choose Request Set. In the Request Set field, select XML Inbound Invoice Process.
Optionally modify any default program parameters.
Optionally schedule the request set to run as often as you want to process XML invoices.
Related Topics
This page intentionally left blank.
The Payables Open Interface Workflow is a workflow template that must be customized before it processes any data. If the workflow is submitted before customization it will run but no validation or actions are performed. You cannot replace this workflow with a new process. You can customize the Payables Open Interface Workflow to help automate verification and validation of data in the Payables Open Interface tables before you submit Payables Open Interface Import. For example, you can modify this workflow to validate all accounting code combinations in the Payables Open Interface tables. Your workflow can send notifications of any invalid code combinations to a specified user for correction. You can also customize the workflow to override any invalid code combinations with a designated default value. Using Oracle Workflow, you can add workflow rules that meet the specific requirements of your business. If you implement this workflow, then once an invoice record has successfully completed workflow, it is ready to be imported into the Oracle Payables application tables.
When the workflow is submitted it looks at all data in the AP_INVOICES_INTERFACE table that meets the parameters specified and has a value of 'Y' in the WORKFLOW_FLAG column.
Records from Oracle sources are saved with no value for WORKFLOW_FLAG. If you want the workflow to select records with a null value for WORKFLOW_FLAG then you will need to write a customization to change the value for those records to 'Y'. For example, you could write a concurrent program to update the workflow flag to 'Y' for records with a null WORKFLOW_FLAG, the source of Quick Invoices, and a null status.
Workflow sets a temporary value of 'S' for 'Selected' when it processes the invoice. Once an invoice has successfully completed workflow the value is set to 'D' for 'Done'. Invoices that have the value of 'D' or null in this column are ready to be imported into the application tables using the Payables Open Interface Import.
When an invoice fails workflow, a notification is sent via e-mail to the individual set up in workflow as the performer. The responsible individual can act based on the e-mail. Alternatively, the individual can periodically use the Oracle Applications Notification window to query and review data that has failed the workflow. If you choose the References button in that window, the system navigates to the Open Interface Invoices window. You can use this window to correct data in the interface tables for any invoices that are not from the Quick Invoices window. If you need to correct invoice records that were entered in the Quick Invoices window, then use the Quick Invoices window. Once you correct the data, return to the Oracle Applications Notification window, and choose the Respond button. Enter Problem Fixed. Oracle Payables automatically resubmits the invoice to workflow.
Tip: To schedule the automatic import of data and initiation of workflow as a recurring process, use the Submit Request Set window. For example, if you integrate with Oracle e-Commerce Gateway for inbound invoices, you may want to create a request set containing the three programs, e-Commerce Invoice Inbound, Payables Open Interface Workflow, and Payables Open Interface Import. You can schedule this request set to run regularly, for example, every six hours.
The program can be added to a request set along with the Payables Open Interface Import routine to handle a complete loading of data into the application tables. This task describes how to submit the process individually.
Customize the workflow validation. Edit the procedure Do_Custom_Validation. This procedure is stored in $AP_TOP/admin/sql/apiiwkfb.pls. Edit the file and compile it against the server. The name of the workflow is AP Open Interface Import Workflow. If you want to process invoice records from the Quick Invoices window, customize the workflow to select invoice records with a null WORKFLOW_FLAG.
Assign Performer: Set up the individual who should receive notification of the workflow event.
Populate the WORKFLOW_FLAG column in the AP_INVOICES_INTERFACE table with a value of 'Y' in order for Workflow to perform action on an invoice. If you have customized Workflow to additionally select records with the WORKFLOW_FLAG set to null, then if you do not want a record selected for import, set the flag to D
You submit this program from the Submit Request window. It will process all records that have not yet been processed. See: Submitting Standard Reports, Programs, and Listings, Oracle Payables User Guide.
Source. If you want to limit Workflow to records with a particular source, enter the source exactly as it appears in the Oracle Payables Lookups window. Leave blank if you want Workflow to process records regardless of source.
Group. If you want to limit Workflow to records with a particular group, enter the group. If you entered the invoices in the Quick Invoices window, then enter the Quick Invoices Batch name. Leave blank if you want Workflow to process records regardless of group.
Related Topics
Oracle Workflow User Guide
Payables Open Interface Import, Oracle Payables User Guide