Recurring Billing

This chapter covers the following topics:

Recurring Billing Overview

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:

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.

Recurring Billing Lookup Types

Order Management provides several lookup types for use with the recurring billing functionality. This table lists the predefined recurring billing lookup types.

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

Setting Up Recurring Billing

To Set Up Recurring Billing

  1. Enable recurring billing in the environment:

    1. Navigate to the OM System Parameters window.

      OM System Parameters window

      the picture is described in the document text

    2. Enter the operating unit in the Operating Unit field.

    3. Clear the Show All check box.

    4. Select Invoicing Parameters in the Category field.

    5. Locate the Enable Recurring Billing parameter and enter Yes in the Value field.

    6. Click OK.

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

    1. Navigate to the Line Items tab in the Sales Orders window.

    2. Place the cursor in the row of the table where you want to add the recurring billing fields.

    3. Select Folder menu from the tool bar.

    4. Select Show Field.

    5. Select the Billing Validation field.

    6. Click OK.

      The field appears in the row of the table.

    7. Repeat steps 3 through 6 for the Bill Amount field and the Recurring Billing Line Type field.

      Sales Orders window - Line Items tab

      the picture is described in the document text

    8. Select Folder menu from the tool bar.

    9. Select New.

    10. Enter a name for the folder in the Folder field.

    11. (Optional) Select the Open as Default check box if you want this folder to open by default when you access the Sales Orders window.

    12. (Optional) Select the Public check box if you want others to be able to use the folder.

    13. Click OK.

  3. (Optional) If you are using milestone-based billing, you can add additional customized milestone values to the BILLING_PLAN_MILESTONE lookup type:

    1. Navigate to the Order Management Lookups window.

    2. Click Find.

    3. Select the BILLLING_PLAN_MILESTONE lookup type and click OK.

    4. Click New.

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

      the picture is described in the document text

    6. Click Save.

  4. Define defaulting rules for billing lines and other outbound lines:

    1. Navigate to the Defaulting Setup - Entity Attributes window.

    2. Click Find.

    3. Select the Order Line entity and click OK.

      Defaulting Setup - Entity Attributes window

      the picture is described in the document text

    4. Select the Attribute Line Type.

    5. Click Defaulting Rules.

      Attribute Defaulting Rules window

      the picture is described in the document text

    6. Clear the Enabled check box for the Regular Line seeded defaulting condition.

    7. Click Save.

    8. 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.
    9. 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

      the picture is described in the document text

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

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

    1. Navigate to the Billing Plan page.

    2. Click Settings and then click Personalize page.

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