14 Managing Customer Contracts

Learn how to manage your customers' contracts in Oracle Communications Billing and Revenue Management (BRM).

Topics in this document:

About Contracts

Note:

In release 15.0.1 or later, you can create contracts for any revenue recognition scheme, and no feature needs to be enabled to use it.

A contract is a subscription with terms your customers agree to when purchasing it. The terms define the commitment period and options for canceling and renewing the subscription. For example, a contract might have a 1-year commitment period, a $100 early termination fee, and an automatic renewal after 12 months. A contract's terms apply to all offers, services, and required bundles in the contract. Any optional bundles the customer purchases are governed by their own independent terms.

After your customers have purchased a contract, they can:

  • Modify the contract's auto-renewal options

  • Purchase any optional bundles that are associated with their contract

  • Cancel optional bundles in their contract, incurring any early termination fees for doing so

  • Cancel their contract before the end of the commitment period, if allowed by the contract's terms, incurring any early termination fees for doing so

When their contracts reach the end of the commitment period, they are either canceled or automatically renewed when you run the pin_contracts utility. See "Canceling Expired Contracts" and "Processing Contract Auto-Renewals".

About Managing Customer Contracts

You manage your customers' contracts by using:

  • Billing Care. See "Assets" in Billing Care Online Help.

  • A custom client application calling the Contract FM standard opcodes. See "Managing Contracts" in BRM Opcode Guide.

  • A custom client application calling the Subscriptions endpoints in the Billing Care REST API. See "Subscriptions REST Endpoints" in REST API Reference for Billing Care.

Note:

After contracts area created, BRM does not support the following operations:

  • Modifying existing contracts

  • Suspending contracts

  • Transitioning packages and bundles

  • Using complex discounts

    Only flat discounts that apply directly to the currency amount of cycle fees or purchase fees is supported. Discount grants on noncurrency resources and discounts based on resource values are not supported.

  • Using Account Migration Manager

  • Transferring services

  • Performing multischema operations

About Canceling a Customer's Contract Early

Your customers can cancel their contract before the end of the commitment period if the contract's terms allow it. When customers cancel their contracts early, BRM cancels all bundles, offers, and services in the contract and automatically charges your customers any early termination fees.

Your customers can also cancel any optional, add-on bundles in their contract before the end of the commitment period, if it is allowed by the bundle's terms, while still retaining their contract.

Note:

Because the contract's terms govern required bundles, customers cannot cancel a required bundle and still keep their contract. If they cancel a required bundle, the entire contract is canceled.

For example, assume a customer's Online Learning contract includes the following:

  • A one-year commitment term with a $20 fee for canceling early

  • A required bundle for digital textbooks

  • An optional bundle for online tutoring with a one-year commitment term and no fee for canceling early

If the customer cancels the Online Learning contract or the digital textbook service early, they must pay the $20 fee, and BRM cancels the entire contract, including the online tutoring service.

If the customer cancels only the online tutoring service early, they are not charged a fee and keep their digital textbook service.

Processing Contract Auto-Renewals

You use the pin_contracts utility to process all contract auto-renewals in BRM. The utility searches the BRM database for all contracts that have auto-renewal enabled and have reached the end of their commitment period and then renews the contract to the new subscription term. See "About Subscription Terms" in PDC Creating Product Offerings.

When a contract's term is renewed, its start date is updated to the current contract's end date, and its end date is extended for the new commitment period specified in the terms. For example, when a six-month contract with a January 1 start date and a June 30 end date is renewed, the new 6-month contract has a start date of July 1 and an end date of December 31.

To process all auto-renewal contracts that expire today, run the following command:

pin_contracts -renew

For more information, see "pin_contracts".

You should run pin_contracts with the -renew parameter regularly to ensure that contract auto-renewals are processed in a timely manner.

Canceling Expired Contracts

You use the pin_contracts utility to cancel the following:

  • Non-renewable contracts that are at the end of their commitment period

  • Auto-renewal contracts that have already been renewed and are at the end of their second commitment period

When an expired contract is canceled, BRM cancels all bundles, offers, and services associated with the contract.

To cancel all non-renewable contracts that expire today, run the following command:

pin_contracts -expire 

To cancel all contracts that have already been auto-renewed and are at the end of their second commitment period, run the following command:

pin_contracts -expire-renewed 

For more information, see "pin_contracts".

You should run pin_contracts with the -expire and -expire-renewed parameters regularly to ensure that contracts are canceled in a timely manner.

Customizing Contract Management

BRM stores information about your customer's contracts, such as a contract's start and end date, in /subscriber_contract objects. For information, see Storable Class Reference.

You can extend the /subscriber_contract storable class to store additional fields. To do so, see "Extending Subscriber Contracts" in BRM Opcode Guide.

Note:

Extending the /susbcriber_contract storable class is supported only in release 15.0.1 or later.

You can also customize how contract management does the following:

  • Validates contracts by using the PCM_OP_CONTRACT_POL_VALID_CONTRACT policy opcode.

  • Prepares a contract by using the PCM_OP_CONTRACT_POL_PREP_CONTRACT policy opcode.

  • Creates contracts by using the PCM_OP_CONTRACT_POL_POST_CREATE_CONTRACT policy opcode.

  • (Release 15.0.1 or later) Calculates penalty charges during contract cancellation by using the PCM_OP_CONTRACT_POL_CANCEL_CONTRACT policy opcode.

For more information, see "Contract FM Policy Opcodes" in BRM Opcode Guide.