This chapter covers the following topics:
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 using this process. 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 at the same time, 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
Oracle Manufacturing APIs and Open Interfaces Manual
The Invoicing workflow activity loads the Receivables Autoinvoice Interface tables with data from the order lines, price adjustments, sales credits and charges. 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 invoice together.
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.
Oracle Order Management enhances Fulfillment Set functionality with seeded defaulting rules which will minimize the need for user action thus reducing error and keystrokes.
The ability to automatically assign all lines of an order to one Fulfillment Set.
Defaulting of header level Fulfillment Set from Order Transaction Types allowed
Removal and addition of a line from Fulfillment sets from Order Import and Process Order API
In Order Management, you have the option to send items and prices to Receivables net of 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.
In 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 done by the Invoicing Activity. However, Oracle Receivables will consolidate all the freight charge lines into one line for accounting and printing on the invoice. Order Management passes the details to 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. Now with enhancements to the functionality, the amount difference is populated in the invoice interface tables. This indicates that a charge has to be credited and the invoicing takes place for the correct amount.
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 attribute are Ordered or Shipped. If this value is Ordered, the ordered quantity is invoiced, even if a larger amount was actually shipped. If this value is Shipped, the actual shipped quantity up to the Overshipment Tolerance limit is used for billing. Undershipments are always invoiced as the amount shipped. Please note that you must set over and under shipment tolerances to be able to overship or automatically close a line on an undershipment. You can set site-level shipping tolerances via a profile option. You can also specify exceptions for a customer, bill-to site, item or customer/item combination using the Customer Standard form, Master Items form, and an Order Management form for customer/item.
Credit card information is sent to Receivables if the Payment Type on the order or line is Credit Card. Data interfaced includes: Oracle Payments order number (transaction id), approval code, bank account id, credit card holder name, primary payment method. This information will allow Receivables to do the necessary capture functions for the credit card. If an order or line that was paid with a credit card is returned with reference, Receivables automatically creates a refund to the credit card rather than an on-account credit. Receivables now had automated credit card refund processing. Order Management does not require any setup for this, it is done at Receivables.
In previous order fulfillment flows, the goods were shipped to the customer and were then invoiced and interfaced to AR. Now 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 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, COGS accounting should be deferred till 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, please refer to the Oracle Order Management User’s Guide.
Customer Acceptance is set up in AR’s Revenue Management module. At order entry, Order Management defaults the customer acceptance deferral reason and its attributes from Receivables onto the sales order line.
The OM System Parameter to enable Customer Acceptance has been introduced. This is for performance reasons, as calling the AR API to invoke their rules engine on every order line is expected to be expensive. It is called Enable Fulfillment Acceptance and the values are Yes/No. The default is No. This new parameter will be seeded in the Generic Category of System Parameters.
Setup for Customer Acceptance:
Customer acceptance can be enabled at Operating Unit level through OM system parameter: Enable Fulfilment Acceptance – Y/N.
We need to enable function security for the given responsibility for the following two functions:
Sales Orders: Fulfillment Acceptance – This ensures that the action attribute Fulfilment Acceptance is available in the Actions LOV.
Sales Orders: Update Acceptance Attributes – This allows for updating the acceptance attributes of Acceptance Name and Acceptance Expire days.
These are attached to the sales order menu – ONT_ Sales_Order.
Define Deferral Reason
Define ‘Deferral reason’ under Receivables Revenue Management set up
Navigation: Revenue Management Super User -> Contingency Search / Definition -> this launches an HTML page.
Define assignment rules to assign the deferral reason to customer, site, item, etc.
For defining a Pre-billing Acceptance, use the deferral reason removal event as Invoicing.
For defining a Post-billing Acceptance, use the deferral reason removal event as Customer Acceptance.
For defining an Implicit Acceptance, we need to define the Optional time attributes – Event Attribute and Days added to Event attribute.
Please note that Order Management supports Ship Confirm Date as only event attribute for the current release.
The Days added to Event Attribute gets defaulted as Acceptance Expire days in Sales Order Line.
Note: The deferral reason defined in AR’s Revenue Management setup page is actually used as Acceptance Name in Order Management.
For further information on setting up deferral reasons and other features, please refer to the Oracle Accounts Receivables User Guide.
The Invoice Interface Workflow subprocesses handles sending 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 will prevent the order line from being interfaced to Receivables.
Post-billing acceptance is handled in 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 AR.
The Invoice Interface module does the following:
Checks if pre-billing Customer Acceptance is required on the order line.
If required, wait until customer acceptance is recorded.
When customer acceptance has been recorded, continue the invoice interface process.
If pre-billing acceptance is not required, continue the invoice interface process.
Interface acceptance information and the deferral reasons information to Receivables.
OM will change Invoice Interface to not interface an RMA line to AR if it references pre-billing rejected quantity.
Please note, this sub-process does not communicate the event of acceptance recording to AR. AR is notified of Customer Acceptance event in Customer Acceptance Capture module.
It is possible in Order Management to set up note categories to indicate you want the 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.
Once a line or an order has invoiced, you can view the invoice summary information from 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 be viewed include Invoice Number, Batch Source, invoice date, amount and balance. Select the Invoice Details button to view all the details about the invoice selected in the Receivables Transaction Summary window.
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.
Fulfillment Set Name column has been added to OE_ACTIONS_INTERFACE table to specify Set Name.
OE_ACTIONS_INTERFACE table can be used to perform multiple fulfillment set operations on single line.
Action ADD_FULFILLMENT_SET can be used to add lines into fulfillment set.
Action REMOVE_FULFILLMENT_SET can be used to remove line from a fulfillment set.
Combination of Addition and Removal will help in moving line from one fulfillment set to another
Example: In order to add line 1.1 into fulfillment set F1, F2, populate two records into the OM actions interface table.
Note: To support previous functionality, 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 Definition Form There are default Fulfillment Set columns on the Transaction type Form. This is 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 Order Form The Default Fulfillment set is on the Quote/Sales Order Form 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 Form Specify the Set Fulfillment name on the Actions Form. You can edit the Fulfillment set name.
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
Line Flow with Header Level Invoicing
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
Line Flow with Line Level Invoicing
See: Invoice Processing, Oracle Order Management User's Guide.
The items you expect to invoice must be setup with the Invoiceable and the Invoice Enabled item attributes turned on. You can also specify a GL account which can be used for building the revenue account in autoAccounting on this tab of the item setup form.
These 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 Receivables is obtained based on tables documented in the Oracle Manufacturing APIs and Open Interfaces Manual,chapter on Interfacing Oracle Order Management with Oracle Receivables and Invoicing.
There are various transaction types seeded in Receivables, such as Invoice or Credit Memo. These definitions control how the different AR transactions are processed, and they can specify various GL accounts available for use during autoAccounting. You must attach a Receivables Transaction Type to your Order Management Order Types and Lines Types when you define them in order to make Autoinvoice import your orders.
Also called Transaction Sources or Batch Sources – these entities enable you to specify a default transaction type assigned to a batch and determine whether Receivables will automatically number your transactions and batches. To use for OM, create at least one of these with a type = automatic. For more information on Invoice Sources and uses, see Oracle Manufacturing APIs and Open Interfaces Manual,chapter on Interfacing Oracle Order Management with Oracle Receivables and Invoicing.
Controls how the accounting is derived for lines that are processed by the Autoinvoice Import process. See the Oracle Receivables Implementation Guide for set up details.
When you define your Order Management order types and line types, you can specify various information that affects the Invoicing Activity. Enter this information on the Finance tab of the Define Transaction Type form. Pick a Receivables Transaction Type and Invoice Source. You may choose Accounting and Invoicing Rules, Credit Method for Accounting and Installment.
These rules are setup 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.
These rules are also setup in Receivables and let you specify the sequence of printing lines within an invoice.
If your order does not appear in the Sales Order list of values in the Autoinvoice Import request submission window, check the workflow status of your lines and verify that the Invoice Interface activity status is COMPLETE.
If your lines show Invoice Interface activity status of INCOMPLETE, AWAITING INVOICE INTERFACE - ON HOLD, or AWAITING INVOICE INTERFACE - INCOMPLETE DATA, "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 Oracle Order Management User's Guide
If your 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 your 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.
A new tax engine called Vertex Engine has been incorporated into the Tax application to assist the tax calculation facility. All previous tax calculations and tax-related activities that were done in Order Management are now done in the Tax application using the Vertex Engine.
Some changes to Order Management include profile option changes, new tax fields etc. The Setup > Tax menu options have been changed to include the Location window only.
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 box is checked, otherwise tax calculation will not take place in the order lines.