Invoicing

This chapter covers the following topics:

Overview

Invoicing in Oracle Order Management is the process by which data from Orders and Returns is communicated to Oracle Receivables to create invoices, credit memos, and credits on account, recognize revenue and manage sales credits.

Invoicing Integration has been implemented as a workflow activity in Order Management. When it executes, it transfers fulfilled item information including quantities, selling prices, payment terms, and transaction dates to Oracle Receivables, which processes invoices for customers and accounts for revenue. Additionally, you can process credit memos and credits on accounts created from returns. Upon completion of the Invoicing workflow activity, you must submit AutoInvoice from Oracle Receivables to import the invoice and credit data into Oracle Receivables. The Invoicing Integration workflow activity can be part of the Order Header workflow, if you want the entire order to interface to Receivables simultaneously, or part of the Order Line workflow, which will interface each line or set of lines as they become eligible.

See Oracle Order Management User's Guide.

Feature Functions and Basic Instruction

The Invoicing workflow activity loads the Oracle Receivables Autoinvoice Interface tables with data from the order lines, price adjustments, sales credits and charges. The types of data interfaced are product information such as ordered item identifier, description, inventory item identifier, quantities and prices, currency, and payment terms. It can be run from the line workflow or the header workflow, depending on whether you want to invoice the lines as they are shipped or wait for the whole order to be invoiced.

Invoicing and Fulfillment

Oracle Order Management seeded workflows are designed so order lines are eligible to be Invoice Interfaced once they have completed the fulfillment workflow activity. The fulfillment concept, along with the use of fulfillment sets, enables you to group lines together for invoicing purposes. Typically, for shippable lines, shipping completes fulfillment. For non-shippable lines, booking completes fulfillment. If you want to hold up invoicing of a non-shippable line until an associated shippable line is shipped, put those lines together into a fulfillment set. None of the lines in the set progress past fulfillment to invoicing until all lines in the set are fulfilled.

Automatic Fulfillment Set Assignment

Oracle Order Management enhances Fulfillment Set functionality with seeded defaulting rules which will minimize the need for user action thus reducing error and keystrokes.

Features include:

Discounts

In Oracle Order Management, you have the option to send items and prices to Oracle Receivables minus any price adjustments or to send the list price and then send separate adjustment lines for each discount. This is controlled by the system parameter Show Discount Details on Invoice. If you choose to show discounts, they are sent as regular invoice lines to Receivables with a negative price, and are accounted for like the item to which they belong. The Description field for the discount lines is the name of the discount. This feature provides visibility to discounts for printing on invoices, but does not provide separate accounting for discounts.

Freight and Other Charges

In Oracle Order Management, all freight and special charges such as insurance, handling, and export charges are passed individually to Oracle Receivables as invoice header level charges. There is no grouping performed by the Invoicing Activity. However, Oracle Receivables will consolidate all the freight charge lines into one line for accounting and printing on the invoice. Oracle Order Management passes the details to Oracle Receivables to support differing charge accounting and printing in the future, once Receivables supports such functionality.

Freight charges are applied at the header level. However if the customer uses line level invoicing, sometimes a part of the freight charge at the header level used to get invoiced. Moreover, if the freight charge used to get updated, this difference was not passed to invoice interface. The difference amount is populated in the invoice interface tables to indicate that a charge has to be credited and invoiced for the correct amount.

Over and Under Shipments

Overshipments are invoiced based on the setting of the Overshipment Invoice Basis system parameter and also corresponding attributes on the Customer and Bill-To site. Values for this parameter are Ordered or Shipped. If this value is Ordered, then the ordered quantity is invoiced, even if a larger amount was actually shipped. If this value is Shipped, then the actual shipped quantity up to the Overshipment Tolerance limit is used for billing. Undershipments are always invoiced as the amount shipped. You must set overshipment and under shipment tolerances to be able to overship or automatically close a line on an undershipment. You can set site-level shipping tolerances through a profile option. You can also specify exceptions for a customer, bill-to site, item or customer/item combination in the Customer Standard window, Master Items window, and an Oracle Order Management window for customer or item.

You can calculate the freight charges based on the values specified for the system parameter Overshipment or Undershipment Invoice Basis for Charges. Specify whether to calculate based on the ordered quantity or on the shipped quantity. If the quantity shipped or received is within the tolerance specified on the sales order line, then the freight charge amount invoiced is calculated based on the value of this parameter for both undershipment and overshipment.

In the Sales Orders window or in the Quick Sales Orders window, in the line level Actions, Charges and Freight Costs window, the fields Quantity, UOM, and Charge display the quantity, UOM, and freight charge amount calculated based on the value of this parameter.

Credit Cards

Credit card information is sent to Oracle Receivables if the Payment Type on the order or line is Credit Card. The data that is interfaced includes: Oracle Payments order number (transaction id), approval code, bank account id, credit card holder name, primary payment method. This information will allow Oracle Receivables to perform the necessary capture functions for the credit card. If an order or line that was paid with a credit card is returned with a reference, Oracle Receivables automatically creates a refund to the credit card rather than an on-account credit. Oracle Receivables has automated credit card refund processing. Oracle Order Management does not require any setup for this, it is performed in Oracle Receivables.

Customer Acceptance

In standard order fulfillment flows, the goods are shipped to the customer and are then invoiced and interfaced to Accounts Receivables. With Customer Acceptance, the flow includes an additional step, customer acceptance, where the customer accepts the goods either before or after billing takes place. The revenue recognition process is deferred and linked to the customers accepting the shipped goods during post-billing acceptance. The basic business need is to defer invoicing and/or revenue recognition for the shipped goods till the customer receives the shipment and accepts the material. Consequently, Cost of Good Sold (COGS) accounting must be deferred till the customer communicates acceptance. In pre-billing acceptance, the customer accepts the goods first and then invoicing takes place. For pre-billing and post-billing acceptance, you can accept the goods explicitly or implicitly.

For more information on using the Customer Acceptance feature, see Oracle Order Management User's Guide.

Customer acceptance is set up in the Oracle Receivables Revenue Management module. At order entry, Oracle Order Management defaults the customer acceptance deferral reason and its attributes from Oracle Receivables onto the sales order line.

To enable customer acceptance, set the system parameter Enable Fulfillment Acceptance to Yes. The default is No. This parameter is predefined in the Generic Category of System Parameters. Use this parameter to improve the performance because calling the Oracle Receivables API to invoke their rules engine on every order line results in slower performance.

Setup for Customer Acceptance:

  1. Enable customer acceptance.

    Customer acceptance is enabled at the Operating Unit level using the Oracle Order Management system parameter: Enable Fulfilment Acceptance. Values are Yes or No.

  2. Enable function security for the given responsibility performing customer acceptance for these functions:

    1. Sales Orders: Fulfillment Acceptance: This function ensures that the action Fulfilment Acceptance is available in the Actions LOV in the Sales Orders window.

    2. Sales Orders : Update Acceptance Attributes: This function gives you the ability to update Acceptance Name and Acceptance Expire Days acceptance attributes.

    Attach these functions to the sales order menu - ONT_ Sales_Order.

  3. Define processing constraints for customer acceptance.

    Using processing constraints you can define when you can update contingency attributes (Contingency Name and Revenue Recognition Expiration Days). You can specify that these fields can only be updated until the sales order is booked or post booking until an order line is fulfilled. The processing constraint is enabled for Booking by default.

  4. Define Revenue Contingency and Rule.

    1. Define Revenue Contingency (Deferral Reason) in Oracle Receivables Revenue Management.

      Navigation: Revenue Management Super User > Revenue Contingencies > Contingencies

      The Create Revenue Contingency HTML page appears.

      When defining a Pre-billing Acceptance, use the Contingency Removal Event of Invoicing.

      When defining a Post-billing Acceptance, use the Contingency Removal Event of Customer Acceptance.

      When defining an Implicit Acceptance, you need to define the optional time attributes: Event Attribute and Days Added to Event attribute.

      The value in the Days Added to Event Attribute field defaults into the Acceptance Expire Days field in the sales order line.

      Note: Oracle Order Management supports only the Ship Confirm Date event attribute.

      Note: The deferral reason defined in Oracle Receivables Revenue Management Create Revenue Contingency page is used as the Acceptance Name in Oracle Order Management.

    2. Define assignment rules to assign the contingency (deferral reason) to customer, site, item, and so on.

      You can add FOB Point and Shipping Method attributes as parameters to assignment rules that are used for customer acceptance. When you create a sales order for an item that requires customer acceptance and you change the FOB Point or Shipping Method the contingency attributes will re-default.

      When you define rules to default contingency based on FOB Point or Shipping Method, you must map FOB Point and Shipping Method to custom attributes. Oracle Order Management only ensures that FOB Point and Shipping Method initiate a call to the Accounts Receivable API, so that the Accounts Receivable engine can reevaluate the rules for defaulting contingency. You will still need to write a small piece of custom code to pass on the attributes FOB Point and Shipping Method to Accounts Receivable.

      For information on custom attribute setup using the Accounts Receivable Hook, see My Oracle Support (MOS) Doc ID 1505238.1.

    For more information on setting up revenue contingencies and other features, see Oracle Accounts Receivables User Guide.

Invoice Interface Workflow

The Invoice Interface Workflow subprocesses handle sending the interface data to Oracle Receivables for invoice and credit memo creation. It is used to handle pre-billing customer acceptance. If an order line requires pre-billing customer acceptance, this sub-process prevents the order line from being interfaced to Oracle Receivables.

the picture is described in the document text

Post-billing acceptance is handled in the Close-Line sub-process. Also, if an RMA line that references a pre-billing rejected quantity comes into this sub-process, it will not interface that line to Accounts Receivable.

the picture is described in the document text

The Invoice Interface module performs the following:

  1. Checks if pre-billing customer acceptance is required on the order line.

  2. If required, it waits until customer acceptance is recorded.

  3. After customer acceptance is recorded, it continues the invoice interface process.

  4. If pre-billing acceptance is not required, it continues the invoice interface process.

  5. Interfaces acceptance information and the contingency information to Oracle Receivables.

  6. Oracle Order Management changes Invoice Interface to not interface an RMA line to Accounts Receivable if it references pre-billing rejected quantity.

This sub-process does not communicate the event of acceptance recording to Accounts Receivable. Accounts Receivable is notified of the Customer Acceptance event in the Customer Acceptance Capture module.

Notes/Attachments

Oracle Order Management gives you the ability to set up note categories to indicate you want a note to print on the Invoice. The notes do not print on the seeded standard Receivables Invoice although they are visible in the Receivables Transaction window, but you can modify the invoice to print them. If you choose to customize the printing of the Invoice, you can fetch those notes flagged for the invoice and print them in your print procedure.

Viewing the Invoice

After a line or an order has invoiced, you can view the invoice summary information in Oracle Order Management. From the Sales Order Organizer, select 'Invoices/Credit Memos in Additional Line Information or in Additional Order Information to see invoice data. Data available to view includes Invoice Number, Batch Source, invoice date, amount and balance. Click the Invoice Details button to view all the details about the invoice selected in the Receivables Transaction Summary window.

Detail Instruction

Defaulting Rules Setup

The hard coded defaulting rules (Ship to, invoice to and sold to) have been converted to seeded defaulting rules using defaulting framework to provide flexibility in changing the sequence of the rules to be used. Order type is an additional seeded defaulting rule that can be used in defining sequence for defaulting rules of Fulfillment Sets. A defaulting rule can be defined for Fulfillment Sets based on the Transaction type.

Note: Defaulted Set at the header level affects only the new lines that are created and does not have any impact on existing lines.

Order Import

For example: To add line 1.1 into fulfillment set F1, F2, populate two records into the OM actions interface table.

Note: If lines are created during order import, the fulfillment set name specified on the lines interface table is used to add lines to fulfillment set. If the UPDATE operation is being performed on existing lines in Order lines, the fulfillment set name specified on the lines interface table is ignored and you must populate the fulfillment set name on the actions interface table.

Transaction Types Window There are default Fulfillment Set columns on the Transaction Types window. They are available only for Order Level Transaction types. To locate the Default Fulfillment Set check box, navigate to Setup > Transaction Type > Define > Shipping Tab > Fulfillment Set check box.

Note: A seeded defaulting rule is provided for defaulting this on to the Quote/Sales Order Pad.

Sales Orders Window The Default Fulfillment set is on the Quote/Sales Orders window Header, which may be defaulted from transaction type. You can change the value of the Default Fulfillment Set column. If the Set Name is available it is used as the name for the system defined set. If the Set Name is not available then the system generates a set name Starting with "1." If the system defined fulfillment set is fulfilled, then no new lines are added to the system defined set. Changing the set name is allowed only when no line is part of the default set. You cannot change the name if there are one or more lines for that set.

Order Import Corrections Window Specify the Set Fulfillment name on the Actions window. You can edit the Fulfillment set name.

Tools/Techniques of Feature - API's, Workflow

When you set up your order and line workflows for invoicing, choose carefully which line and header workflows you use together to be sure you match the correct Invoicing Activities.

If you intend to use header level Invoicing, be sure to use line level workflows that have coordination points with the header activity. The seeded Oracle Workflows are named to make that easy to do. For example, there is a header workflow called Order Flow – Generic with Header Level Invoice Interface – you would use it with line flows such as Line Flow – Generic with Header Level Invoice Interface.

Order Flow with Header Level Invoicing

the picture is described in the document text

Line Flow with Header Level Invoicing

the picture is described in the document text

Similarly, if you want to use line level Invoicing, use a header workflow that does not have invoicing, and use line flows that do not wait for coordination with the header regarding Invoicing.

See: The Oracle Order Management User's Guide

Order Flow with Line Level Invoicing

the picture is described in the document text

Line Flow with Line Level Invoicing

the picture is described in the document text

To Implement Invoicing

Profile Options

For information on profile options, see the Profile Options section in the Oracle Order Management Setup chapter in this guide.

See: Invoice Processing, Oracle Order Management User's Guide.

Item Attributes

The items you expect to invoice must be set up with the Invoiceable Item and the Invoice Enabled item attributes turned on in the Invoicing tab of the Master Item window. You can also enter a GL account which can be used for building the revenue account in autoAccounting on this tab.

Accounting Rules and Invoicing Rules

Accounting and invoicing rules are set up in Oracle Receivables and refer to the way revenue is recognized and in which accounting period. There are several seeded rules which suit most applications. In Order Management, you can specify an Accounting and an Invoicing Rule when you define an order type or line type, and also when you define agreements. If you choose an Accounting Rule with a variable duration, you must also enter the number of periods to be used for recognizing revenue. When the Invoice Interface workflow activity runs, the data to pass to Oracle Receivables is obtained based on information documented in the Oracle Integration Repository (iRepository).

Receivables Transaction Types

There are various transaction types seeded in Oracle Receivables such as Invoice or Credit Memo. These definitions control how the different Account Receivables transactions are processed, and they can specify the GL accounts available for use during autoAccounting. You must attach a Receivables Transaction Type to the Order Management Order Types and Lines Types when you define them to make Autoinvoice import the orders.

Receivables Invoice Sources

Oracle Receivables invoice sources are also called transaction sources or batch sources. These entities enable you to specify a default transaction type assigned to a batch and determine whether Oracle Receivables will automatically number the transactions and batches. To use in Oracle Order Management, create at least one of these with a type of automatic.

For more information about invoice sources and uses, see the Oracle Integration Repository (iRepository).

Auto-accounting

Auto-accounting controls how the accounting is derived for lines that are processed by the Autoinvoice Import process.

For information on the setup details, see the Oracle Receivables Implementation Guide.

Order Management Transaction Types

When you define the Oracle Order Management order types and line types, you can specify various information that affects the Invoicing Activity. Enter this information in the Finance tab of the Transaction Types window. Pick a Receivables Transaction Type and Invoice Source. You may choose Accounting and Invoicing Rules, Credit Method for Accounting and Installment.

Invoice Grouping Rules

Invoice grouping rules are set up in Oracle Receivables and let you specify which attributes must be identical on the same invoice. If the chosen attributes are different for different lines, then separate invoices will be generated.

Invoice Line Ordering Rules

Invoice line ordering rules are also set up in Oracle Receivables and let you specify the sequence of printing lines within an invoice.

Troubleshooting

If the order does not appear in the Sales Order list of values in the Autoinvoice Import request submission window, check the workflow status of the lines and verify that the Invoice Interface activity status is COMPLETE.

If the lines display the Invoice Interface activity status of INCOMPLETE, AWAITING INVOICE INTERFACE - ON HOLD, or AWAITING INVOICE INTERFACE - INCOMPLETE DATA, and AWAITING INVOICE INTERFACE statuses, you can use the Process Messages window to find the messages logged by the Invoice Interface for these lines. Typically, the process errors out due to incomplete or missing data on the order line, data such as batch source name, Receivables transaction type, credit memo transaction type or service start date and end date for service lines.

See: Detailed Order Statuses for Invoicing in the Oracle Order Management User's Guide

If the invoices are not getting created when you run Autoinvoice Import, be sure to examine the log and report resulting from the concurrent job. It points out the reasons why data is not processed. Usually the problem stems from auto-accounting rules that have or have not been set up. For example, verify that there are General Ledger numbers entered for the revenue accounts for the salespeople on the order. Usually you can correct the setup and rerun Autoinvoice Import. The corrected sales order data will process correctly and your invoices will be created.

Vertex Integration

The Vertex engine is a part of the Tax application. Tax calculations and tax-related activities are performed in the Tax application using the Vertex engine

Tax Calculation setup considerations

In the Transaction Types window, Finance tab, you can specify a Receivables Transaction Type and a Tax Event for tax calculation. You must ensure that in the Receivables Transaction Type window (Receivables > Setup > Transaction Types), the Tax Calculation check box is selected, otherwise tax calculation will not occur for the order lines.

Transaction Types window - Oracle Receivables

the picture is described in the document text