This chapter covers the following topics:
Oracle Order Management enables you to bill your customers on a recurring basis for standard items they are ordering on a sales order line. When you are entering a sales order you can create a billing plan for the sales order line. When you create the billing plan you can specify a fixed number of billing plan lines, an indefinite number of billing plan lines, or milestone-based billing plan lines. If you choose a fixed number of billing plan lines, you then enter parameters for the billing plan, including billing period, billing frequency, start date, billing amount, and number of billing plan lines. If you choose an indefinite number of billing plan lines, the parameters for the billing plan include billing period, billing frequency, start date, and billing amount. If you choose milestone-based billing plan lines, you enter parameters for the billing plan including milestone, bill percent or bill amount, and bill date for user-defined milestones.
After you have created a billing plan associated with a fixed number or indefinite number of billing plan lines, before the billing lines can be created you must close the sales order source order line. After the sales order source order line is closed, you can then manually run or have the system periodically run the Create Billing Lines concurrent program. The Create Billing Lines concurrent program creates bill only (based on the default setup) sales order lines for each of the billing plan line associated with the billing plan in the same sales order as the billing plan. These bill only lines interface data to Oracle Accounts Receivable which then creates the invoices against them. This concurrent program only creates bill only lines for billing plan lines where the source order line is closed, the billing plan status is Billing in Progress or Open, and the system date is greater than or equal to the bill date on the billing plan line. As the recurring billing process goes along, you can view the billing plan to view the amounts you have billed to your customers and the amounts you have yet to bill to your customers. After the last billing plan line associated with the billing plan is invoiced the billing plan status is automatically changed to Closed.
When you are creating a billing plan associated with milestone-based billing plan lines you can select predefined milestones and user-defined milestones. If you choose predefined milestones, the system automatically populates the bill date for a milestone billing plan line as the different milestones occur for the source sales order line. If you choose user-defined milestones, then you must manually enter the bill date for each billing plan line or use the PO API to generate the bill date.
You can enter milestones between existing milestones. The application resequences milestones, when you enter a new milestone between existing milestones or when you change a milestone bill date, in ascending order by bill date. User-defined and predefined milestones display in ascending order by bill date followed by milestones without a bill date. When you enter a new milestone without a bill date or delete a milestone then there is no resequencing of milestones.
After you have created a billing plan associated with milestone-based billing plan lines, you must book the source sales order before the billing lines can be created. As the different milestones occur for the source sales order line, you can then manually run or have the system periodically run the Create Billing Lines concurrent program. The Create Billing Lines concurrent program creates bill-only (based on the default setup) sales order lines for each of the billing plan lines associated with the billing plan in the same sales order as the billing plan. These bill-only lines interface data to Oracle Accounts Receivable, which then creates the invoices against them. This concurrent program only creates bill-only lines for billing plan lines when all of the following criteria are met:
The source order line is booked.
The bill date is available on the billing plan line.
The billing line is not generated.
The billing plan status is Billing in Progress or Open.
The system date is greater than or equal to the bill date on the billing plan line.
As the recurring billing process goes along, you can view the billing plan to view the amounts you have billed to your customers and the amounts you have yet to bill. When the last billing plan line is billed and the status of source order line is Closed, then the billing plan status gets changed to Closed.
Note: The major difference between fixed number and indefinite number and milestone-based billing plans is that with milestone-based billing plans the source sales order line does not need to be closed; it only needs to be booked before you can create billing lines using the Create Billing Lines concurrent program.
Note: If all the milestones are billed, then the billing plan is closed in the Close activity of the source order line.
If the status source order line is Closed, then during the billing of the last milestone, the billing plan status is changed to Closed.
For all billing plan types, until the billing plan is closed, you can make modifications to the billing plan for which billing sales order lines have not been created. This includes deleting individual plan lines or terminating all of the billing plan lines at once. Your customers may also fully or partially return items from the sales orders line associated with a billing plan. Periodically, you may need to review or make changes to the billing plan to accommodate those changes that have occurred against the sales orders lines. If all of the quantity of an item has been returned on an RMA, the system terminates the billing plan which in turn stops the invoicing of the customer.
Note: The recurring billing feature does not incorporate any changes to existing revenue and COGS recognition functionality in E-Business Suite. If required, it is expected that you are responsible for implementing any related changes.
For more information on recurring billing user procedures, see the Oracle Order Management User's Guide.
For more information on the Creating Billing Line concurrent program, see the Oracle Order Management User's Guide.
Order Management provides several lookup types for use with the recurring billing functionality. This table lists the predefined recurring billing lookup types.
Lookup Type | Lookup Type Description | Access Level | Lookup Code | Lookup Code Description |
---|---|---|---|---|
BILLING_PLAN_MILESTONE | Billing Plan Milestone | Extensible | BOOK | Booking |
CUSTACCEPT | Customer Acceptance | |||
FULFILL | Fulfillment | |||
BILLING_PLAN_STATUS | Billing Plan Status | System | BILLING_IN_PROGRESS | Billing in Progress |
CLOSED | Closed | |||
OPEN | Open | |||
REVIEW_REQUIRED | Review Required | |||
TERMINATED | Terminated | |||
BILLING_PLAN_PERIOD | Billing Plan Period | System | D | Day |
MTH | Month | |||
WK | Week | |||
YR | Year | |||
ONT_RECUR_BILLING_LINE_TYPE | Recurring Billing Line Types in Order Management | System | BL | Billing Line |
SOL | Source Order Line |
Enable recurring billing in the environment:
Navigate to the OM System Parameters window.
OM System Parameters window
Enter the operating unit in the Operating Unit field.
Clear the Show All check box.
Select Invoicing Parameters in the Category field.
Locate the Enable Recurring Billing parameter and enter Yes in the Value field.
Click OK.
Create a folder to display the recurring billing fields (Billing Validation, Bill Amount, and Recurring Billing Line Type) in the Sales Orders window:
Note: The fields on the Sales Orders window that support recurring billing are folder-enabled non-mandatory fields.
Navigate to the Line Items tab in the Sales Orders window.
Place the cursor in the row of the table where you want to add the recurring billing fields.
Select Folder menu from the tool bar.
Select Show Field.
Select the Billing Validation field.
Click OK.
The field appears in the row of the table.
Repeat steps 3 through 6 for the Bill Amount field and the Recurring Billing Line Type field.
Sales Orders window - Line Items tab
Select Folder menu from the tool bar.
Select New.
Enter a name for the folder in the Folder field.
(Optional) Select the Open as Default check box if you want this folder to open by default when you access the Sales Orders window.
(Optional) Select the Public check box if you want others to be able to use the folder.
Click OK.
(Optional) If you are using milestone-based billing, you can add additional customized milestone values to the BILLING_PLAN_MILESTONE lookup type:
Navigate to the Order Management Lookups window.
Click Find.
Select the BILLLING_PLAN_MILESTONE lookup type and click OK.
Click New.
Enter the following information:
Field | Description |
---|---|
Code | Enter a code for the milestone. |
Meaning | Enter a meaning for the milestone. |
Description | (Optional) Enter a description for the milestone. |
Effective Dates From and To | Select the dates the lookup code is effective. The Effective Date From field defaults to today's date. |
Enabled check box | Select this check box to enable this lookup code. This check box is selected by default. |
Order Management Lookups Window
Click Save.
Define defaulting rules for billing lines and other outbound lines:
Navigate to the Defaulting Setup - Entity Attributes window.
Click Find.
Select the Order Line entity and click OK.
Defaulting Setup - Entity Attributes window
Select the Attribute Line Type.
Click Defaulting Rules.
Attribute Defaulting Rules window
Clear the Enabled check box for the Regular Line seeded defaulting condition.
Click Save.
Enter the following information in the Defaulting Conditions region:
Field | Description |
---|---|
Precedence | Enter the precedence number for the new line type you are creating. |
Defaulting Condition | Select Regular Line. |
Enabled check box | Appears selected by default. |
Enter the following information in the Default Sourcing Rules region:
Field | Description |
---|---|
Sequence | Enter the sequence for the defaulting rule. |
Source Type | Select the source type. |
Default Source/Value | Select the source or value associated to the source type. For billing lines, this can be any outbound line type which doesn't have shipping activity. |
Attribute Defaulting Rules window
Click Save.
Example of PL/SQL API Procedure (XX_RECURRING_BILLING.SQL):
CREATE OR REPLACE PACKAGE XX_RECURRING_BILLING AS FUNCTION GET_LINE_TYPE ( p_database_object_name IN VARCHAR2 ,p_attribute_code IN VARCHAR2) RETURN NUMBER; END XX_RECURRING_BILLING; / CREATE OR REPLACE PACKAGE BODY XX_RECURRING_BILLING AS FUNCTION GET_LINE_TYPE ( p_database_object_name IN VARCHAR2 ,p_attribute_code IN VARCHAR2) RETURN NUMBER IS l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level; l_source_order_line_id NUMBER; BEGIN IF l_debug_level > 0 THEN oe_debug_pub.add( 'ENTERING XX_RECURRING_BILLING.GET_LINE_TYPE' , 1 ) ; END IF; l_source_order_line_id := ONT_LINE_DEF_HDLR.g_record.SOURCE_ORDER_LINE_ID; IF l_source_order_line_id IS NOT NULL AND l_source_order_line_id <> FND_API.G_MISS_NUM THEN RETURN 1418; --Bill Only Line Type END IF; RETURN NULL; EXCEPTION WHEN OTHERS THEN RETURN NULL; END GET_LINE_TYPE; END XX_RECURRING_BILLING ; /
For more information about defining defaulting rules, see Defining Defaulting Rules.
(Optional) Set up the following descriptive flexfields to enter additional information in the billing plan header and billing plan line respectively for all billing plans.
Additional Billing Plan Header Information
Additional Billing Plan Line Information
See Defining Descriptive Flexfields, Oracle E-Business Suite Flexfields Guide for information about defining a descriptive flexfield.
The descriptive flexfields are hidden by default. To display them, you must personalize the Billing Plan page as follows:
Navigate to the Billing Plan page.
Click Settings and then click Personalize page.
Personalize the Billing Plan page to display Additional Billing Plan Header Information and Additional Billing Plan Line Information descriptive flexfields.
See Oracle Application Framework Personalization Guide for information about personalizing the page.