Invoices

Setting Up Your System for Matching

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:

Matching Control Defaulting Hierarchies

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.

Related Topics

Entering Suppliers, Oracle iSupplier Portal Implementation Guide

Financials Options

Invoice Tolerances

Payables Options

XML Invoices

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:

XML Invoice Transaction Limitations

This XML invoice support has the following restrictions for how the invoices are processed:

  1. All invoices in one message must be from the same supplier and supplier site.

  2. Custom code conversions must be defined as part of trading partner setup.

  3. Tax groups are not supported.

  4. Invoices in one message are limited to one organization.

  5. 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

  6. The map does not support tax on tax. See Tax on XML Invoices.

  7. The map does not support invoices matched to blanket purchase orders.

Related Topics

XML Invoices

Setup for XML Invoices

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.

To set up your system to receive XML Invoices:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Message Map Detail

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.

Map Summary

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  

Attached XSLT

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.

Collapsing or Expanding Data Levels

The AP_INVOICE_INBOUND message map collapses the dataarea and the PROCESS_INVOICE and INVHEADER elements into AP_INVOICES_INTERFACE.

USERAREAs

We do not use any data in the user areas.

INVHEADER

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

INVCHARGE

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

INVLINE

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

INVTAX

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

XML Invoices

Tax on XML Invoices

An XML message can send a tax amounts in the following ways. One XML message can include both ways:

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

XML Invoices

Processing Oracle XML Gateway Invoice Records

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.

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.

Submitting the XML Inbound Invoice Process

Prerequisites

To submit the XML Inbound Invoice Process:

  1. In the Submit a New Request window, choose Request Set. In the Request Set field, select XML Inbound Invoice Process.

  2. Optionally modify any default program parameters.

  3. Optionally schedule the request set to run as often as you want to process XML invoices.

Related Topics

XML Invoices

Tax Handling for XML Invoices

This page intentionally left blank.

Payables Open Interface Workflow

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.

the picture is described in the document text

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.

Submitting the Payables Open Interface Workflow

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.

Prerequisites

Workflow Submission

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.

Selected Workflow Parameters

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