Integrate Recurring Billing Between Order Management and Accounts Receivable

You can integrate recurring billing between Oracle Order Management and Oracle Accounts Receivable for service items and for other items.

Example 1: Bill All Periods Immediately

Assume you want to bill the full amount for the entire duration of a service contract in the first billing period.

  • You set up a contract that starts on Jan 1, 2024 and that has a duration of 12 Months, so it lasts for one year.
  • You want to date the first invoice as Jan 1, 2024, and you want to invoice the full amount for the entire duration of the contract on that first invoice, which is $1,200 ($100 a month for 12 months).

Here's how it works.

  1. You create an order line that has these attributes.
    Attribute Value
    Charge Type

    Recurring at $100 a month

    You use one time billing even though the charge is recurring.

    Quantity 1
    UOM Ea
    Service Duration 1 Year
    Service Duration Extended Amount 1200
    Contract Start Date 01-JAN-2024
    Contract End Date 31-DEC-2024
    Billing Frequency ONE TIME
    Number of Periods 1
  2. You submit the sales order, and then the Invoice fulfillment task sends these attributes to Accounts Receivable.
    Attribute Value
    Quantity 1
    UOM Ea
    Billing Frequency ONE TIME
    Number of Periods 1
    Amount

    1200

    The math is:

    • Service Duration Extended Amount of 1200 divided by 1 Number of Periods equals 1200

    For details, see Fulfillment Tasks.

  3. Accounts Receivable reads the data and finds that there's only one row, sees that Number of Periods equals 1, and then uses that one row to create an invoice for $1200 with an Invoice Date of 01-JAN-2024.
  4. Accounts Receivable automatically runs the Import AutoInvoice scheduled process. The scheduled process creates the invoice and sets the invoice date to 01-JAN-2024.
  5. Accounts Receivable sends the invoice details to Order Management, such as the invoice number, invoice date, amount, and so on.
  6. Order Management displays these details on the fulfillment line, and then sets the line's status to Closed.

Example 2: Bill Each Period Monthly

Now let's say you want to date the first invoice on Jan 1 2024, and then date 11 more invoices on the first day of each subsequent month for the duration of the 12 month service.

  1. You create an order line that has these attributes. The bold attribute values indicate what's different from example 1.
    Attribute Value
    Charge Type Recurring at $100 a month
    Quantity 1
    UOM Ea
    Service Duration 1 Year
    Service Duration Extended Amount 1200
    Contract Start Date 01-JAN-2024
    Contract End Date 31-DEC-2024
    Billing Frequency MONTH
    Number of Periods 12
  2. You submit the sales order, then the Invoice task sends these values to Accounts Receivable on a single row.
    Attribute Value
    Quantity 1
    UOM Ea
    Billing Frequency MONTH
    Number of Periods 12
    Amount

    100

    The math is:

    • Service Duration Extended Amount of 1200 divided by 12 Number of Periods equals 100
  3. Accounts Receivable reads the data and finds that there's only one row, but sees that Number of Periods equals 12. So it creates 12 rows, one for each billing period, and sets the date on each of these rows. The Contract Start Date happens on the first day of each month, so Accounts Receivable sets the date on each row to the first day of each month, such as 01-JAN-2024, 01-FEB-2024, 01-MAR-2024, and so on.
  4. Assume you set up the Import AutoInvoice scheduled process so it runs one time on the first day of each month. Accounts Receivable automatically runs the Import AutoInvoice scheduled process. The scheduled process creates an invoice and sets the invoice date to 01-JAN-2024.
  5. Accounts Receivable sends the invoice details to Order Management, including the invoice number, invoice date, and amount.
  6. Order Management displays these details on the fulfillment line. If the invoice task is the final task in the orchestration process, then Order Management sets the fulfillment line's status to Closed.
  7. Receivables automatically sends an invoice for period 2 on February 1, with an Invoice Date of 01-Feb-2024 and an amount of $100. Receivables repeats this step for period 3 through period 12 on the first day of the month, using the same amount but updating the invoice date for each month.
  8. Order Management adds a new row for each invoice in the billing details on the fulfillment line.
    • It does this even if the fulfillment line is closed.
    • It adds a new row on the first day of each month.
    • It displays the invoice on the same fulfillment line. It doesn't create a new line for each invoice.
    • In this example, the fulfillment line won't have all 12 invoices until 01-Dec-2024.

Example 3: Override Recurring Billing

Continuing Example 2, assume you need to override some of the values. Assume you need to bill the first period at $50 and the last period at $150. Here's what you need to do.

  1. Set these attributes on the Edit Recurring Billing page:
    • Set Override Period to 1 and Override Amount to $50.
    • Set Override Period to 12 and Override Amount to $150.
  2. Don't enter a value in these attributes:
    • Recurring Billing Start Date
    • Recurring Billing End Date
    • Recurring Invoice Start Date

Order Management will do the same fulfillment flow that it does in Example 2 but with these differences:

  • The first invoice will have an amount of $50, which is the value that you set for Override Period 1.
  • The last invoice will have an amount of $150, which is the value that you set for Override Period 2.

Example 4: Change the Start Date

Continuing Example 3, assume you need to add a start date for your billing period. Assume the contract:

  • Starts on 18-JAN-2024
  • Ends on 17-JAN-2025

Here's what you need to do.

  1. Set the Recurring Billing Start Date to 01-FEB-2024 on the Edit Recurring Billing page.
  2. Don't enter a value in these attributes:
    • Recurring Billing End Date
    • Recurring Invoice Start Date

Order Management will do the same fulfillment flow that it does in Example 3 except the scheduled process will send these values to Receivables on the first invoice:

  • SecondBillingPeriodStartDate is 01-FEB-2024.
  • Date is 18-JAN-2024.
  • Billing period is 18-JAN-2024 through 31-JAN-2024.

The billing period on all subsequent invoices will align with the month. For example, the billing period for the second invoice will be 1-FEB-2024 through 28-FEB-2024.

Example 5: End Billing and Give Credit

Now let's revisit Example 2, Bill Each Period Monthly, except assume recurring billing already started and you billed your customer for January and February at $100 for each month.

Your customer calls, wants to cancel the contract and get credit for February, so you need to cancel billing for March through December and give a $100 credit for February.

Here's what you need to do.

  1. Create a referenced return. Make sure you reference the recurring billing line from the original order, but don't modify any other details on the line.
  2. Set the Order Date on the line to 01-FEB-2024. This is the date that you want to stop future billing and get credit for periods that you already billed. If you're importing the order, then set the Cancellation Effective Date instead. Note that you can use Cancellation Effective Date only through import.
  3. Submit your return. Order Management will close the fulfillment line when it sends the line to Receivables.

Receivables will:

  • Delete the rows that it hasn't billed yet from the interface table and create a credit according to the dates that it gets from Order Management.
  • Create only one credit memo for the entire cancelled part of the contract. It won't create recurring credits even if you need to credit more than one period that you already billed.

Note

  • If you don't want to give any credit but instead want to stop billing for all periods that you haven't billed yet, then set the Order Date or the Cancellation Effective Date to the next billing period that you haven't billed. In this example, set it to 01-March-2024.
  • To get credit for all billing periods that you already billed, and to stop billing for all periods that you haven't yet billed, set the date to the first billing period. In this example, set it to 01-JAN-2024.

Use a Different Start Date

Order Management sets the date on the first invoice to the order date. You can use a different date. Here's how:

  1. Add an extensible flexfield on the order line.
  2. Display the extensible flexfield only when the Billing Frequency attribute on the line doesn't contain One Time Billing.
  3. Use a service mapping to map the value in the extensible flexfield to the TRX DATE column in the interface table.
  4. At run time, enter your date in the extensible flexfield, then click Submit.

For details, see Overview of Using Extensible Flexfields in Order Management and Use a Service Mapping to Integrate Order Management with Other Oracle Applications.

Override the Period, Amount, or Quantity

  • We recommend that you create an order management extension to make sure that the sum of all values for the period, amount, and quantity equals the duration extended amount or the extended amount. This includes values that you do and don't override.
  • If you override an amount, then Receivables will use the override and ignore any discount that you send for the period. Receivables will apply your discount only on periods that you don't override.

For details, see Overview of Creating Order Management Extensions.

Remove Extra Billing Periods in Receivables

You might see an extra billing period in Receivables. This might happen because Order Management converts the contract dates according to the legal entity's time zone. To avoid this problem, we recommend that you create a service mapping that sends the actual contract dates to Receivables instead of doing a conversion. For details, see Use a Service Mapping to Integrate Order Management with Other Oracle Applications.