4 Configuring Deliverables

Learn how to use Oracle Communications Pricing Design Center (PDC) deliverables to specify how and when revenue is recognized by your company.

Topics in this document:

About Creating Deliverables

Note:

Deliverables are supported only by Oracle Communications Billing and Revenue Management (BRM) 12.0.0.3.0 with Interim Patch 31426340 and later, and PDC 12.0.0.3.0 with Interim Patch 31426374 and later.

A deliverable is a good or service that provides value to your customers, such as an eBook, a night in a hotel room, or a month of telephony service. In BRM, a deliverable defines the type of good or service you are selling, its standalone selling price, its revenue earning schedule, and its revenue G/L ID.

You create deliverables if your company supports deliverable-based revenue recognition. See "About Deliverable-Based Revenue Recognition" in BRM Collecting General Ledger Data.

The type of deliverable that you create depends on the good or service that your company is selling.

  • One-time activities: These are discrete services that are performed by your company or by your customers, such as a company installing a service at the customer's home. All of the revenue from one-time activities is recognized at once, either at the time of purchase or when a milestone has been marked as completed.

  • Physical goods: These are tangible products that you sell to your customers, such as DVDs, cell phones, and eBooks. All of the revenue from physical goods is recognized at once, either at the time of purchase or when a milestone has been marked as completed.

  • Metered services: These are services with limits on how much customers can use in a cycle, such as 100 free minutes or 20 eBooks a month. The revenue from metered services is recognized on a linear earning schedule at a frequency that you specify. For example, if a customer has a one-year contract for a monthly service, your company recognizes 1/12th of the revenue at the end of each month.

  • Continuous services: These allow customers to use an unlimited amount of a service over a specified time period, such as unlimited data for a month or unlimited access to a website for a month. The revenue from continuous services is recognized on a linear earning schedule at a frequency that you specify. For example, if a customer has a one-year contract for a monthly service, your company recognizes 1/12th of the revenue at the end of each month.

To create deliverables, do the following:

  1. Ensure that deliverable-based revenue recognition is enabled in BRM. See "Enabling Deliverable-Based Revenue Recognition" in BRM Collecting General Ledger Data.

  2. Configure your deliverables in an XML configuration file. See "Configuring Deliverables".

  3. Load the XML configuration file into the PDC database by using the ImportExportPricing utility. See "Loading Deliverables into the PDC Database".

After you create your deliverables, you associate them with your charge offers.

Configuring Deliverables

To configure your deliverables, you can create your own XML configuration file that follows the format specified in the XML Schema Definition (XSD) file. Alternatively, you can make a copy of the PDC_home/apps/Samples/Examples/SampleDeliverable.xml file and then customize it for your business needs.

The deliverable XML configuration file contains the following:

  • A deliverables section, which is the top-level section that applies to all deliverable types. The elements in this section specify the deliverable's name, type, and associated G/L ID. See "About the deliverables Section".

  • An entitlements subsection, which applies to only service-based deliverables: one-time activities, continuous services, and metered services. The elements in this subsection specify the type of service you are offering and its validity period. See "About the entitlements Subsection".

  • A revenueBasisItem subsection, which applies to all deliverables. The elements in this subsection define the good's or service's standalone selling price and its earning schedule. See "About the revenueBasisItem Subsection".

    For physical goods, this subsection is nested under the deliverables section. For service-based deliverables, this subsection is nested under entitlements.

For information about how to configure the XML file based on the type of good or service you are selling, see the following:

About the deliverables Section

Table 4-1 describes all of the elements in the deliverables section.

Table 4-1 Elements in the deliverables Section

Element Description

name

Specifies the name of the deliverable.

description

Provides a description of the deliverable.

priceListName

Set this to Default.

obsolete

Specifies whether the deliverable configuration is obsolete (true) or still active (false).

deliverableType

Specifies whether the deliverable is for a product or service:

PRODUCT: Use this value for physical goods.

SERVICE: Use this value for one-time activities, metered services, and continuous services.

productType

Specifies the type of product:

PHYSICAL_GOODS: Use this value for physical goods.

ADMINISTRATIVE: Use this value for one-time activities, metered services, and continuous services.

Note: This field is required if deliverableType is PRODUCT.

permittedType

Specifies the type of service that the deliverable can be associated with:

PRODUCT: Use this if the deliverable can be associated with a specific service type.

CUSTOMER: Use this if the deliverable can be associated with Account.

permittedName

If permittedType is PRODUCT, set this to the name of the service.

If permittedType is CUSTOMER, set this to Account.

revenueGlid

Specifies the revenue G/L ID to use for tracking early termination fees.

About the entitlements Subsection

Table 4-2 describes all of the elements in the entitlements subsection. This subsection applies to only one-time activities, metered services, and continuous services.

Table 4-2 Elements in the entitlements Subsection

Element Description

entitlementType

Specifies the type of service entitlement:

ALLOWANCE_ONE_TIME: Use this for one-time activities.

FEATURE: Use this for continuous services.

ALLOWANCE_RECURRING: Use this for metered services.

name

Specifies the name of the service entitlement.

description

Provides a description of the service entitlement.

resourceBalElemNumCode

(ALLOWANCE_ONE_TIME and ALLOWANCE_RECURRING entitlement types only) Specifies the noncurrency balance element numeric code for tracking the service you are offering. For example, you might enter the numerical code for gigabytes for an allowance of data.

featureValue

(FEATURE entitlement types only) Describes the type of continuous service you are providing, such as unlimited data for a month or unlimited text messages for a week.

allowanceValidityMode

(ALLOWANCE_ONE_TIME and ALLOWANCE_RECURRING entitlement types only) Specifies the validity period for the allowance granted to your customer:

CURRENT_BILLING: The allowance expires after the current billing cycle.

MULTIPLE_BILLING: The allowance expires after the specified number of billing cycles, such as 3 billing cycles.

CURRENT_RECURRING: The allowance expires after the current frequency period, such as the current quarter or the current bimonthly period.

MULTIPLE_RECURRING: The allowance expires after the specified number of frequency periods, such as two quarters or two bimonthly periods.

ALWAYS: The allowance never expires.

For example, if the data granted to your customer expires at the end of the billing cycle, you would enter CURRENT_BILLING.

allowanceValidityPeriod

(ALLOWANCE_ONE_TIME and ALLOWANCE_RECURRING entitlement types only) Specifies the number of cycles or periods for the allowance's validity mode.

1: Use this if allowanceValidityMode is set to CURRENT_BILLING, CURRENT_RECURRING, or ALWAYS.

IntegerValue: Specify the number of billing cycles or frequency periods that the allowance is valid, such as 3 for 3 billing cycles. Use this if allowanceValidityMode is set to MULTIPLE_BILLING or MULTIPLE_RECURRING.

allowanceValue

(ALLOWANCE_ONE_TIME and ALLOWANCE_RECURRING entitlement types only) Specifies the amount of a resource that is granted to the customer, such as 20 eBooks, 200 domestic texts, or 1 night in a hotel room.

subscriptionCycle

(ALLOWANCE_RECURRING entitlement types only) Specifies the frequency at which the allowance is granted to the customer. The supported values are: MONTHLY, BIMONTHLY, QUARTERLY, SEMI_ANNUAL, and ANNUAL.

About the revenueBasisItem Subsection

Table 4-3 describes all of the elements in the revenueBasisItem subsection.

Table 4-3 Elements Supported in the revenueBasisItem Subsection

Element Description

type

Specifies the type of revenue:

RATE_BASED: Use this for metered services and one-time activities.

VALUE_BASED: Use this for continuous services and physical goods.

amount

Specifies the amount for the standalone selling price, such as 100, 150, or 200.

currencyBalElemNumCode

Specifies the ISO currency number for the standalone selling price, such as 840 for US Dollars or 978 for Euros.

timeUnit

Set this to MONTH.

timeValue

Specifies the number of months that the amount is valid, such as 2 for 2 months. The default is 1.

milestoneType

Specifies when the revenue is recognized for physical goods:

IMMEDIATE: Use this to recognize the revenue at the time of purchase.

FUTURE: Use this to recognize revenue when a milestone is marked as completed.

Note: The milestoneType element applies only to physical goods. However, you must enter a value for all other deliverable types to prevent an error when you load the XML configuration file.

scalable

Specifies whether the rate is scalable (true) or not (false).

quantity

(ALLOWANCE_RECURRING and ALLOWANCE_ONE_TIME entitlement types only) Specifies the quantity of the service.

Configuring Deliverables for Physical Goods

To configure a deliverable for a physical good, add the following to your XML configuration file:

  • In the top-level deliverables section, add a name, description, and other information about your product. Ensure that you set these elements as follows:

    • Set deliverableType to PRODUCT

    • Set productType to PHYSICAL_GOODS

  • In the revenueBasisItem subsection, do the following:

    • Set type to VALUE_BASED

    • Specify the standalone selling price for the physical good that you are selling. For example, for a standalone selling price of 20 US Dollars, you would enter:

      <amount>20.00</amount>
      <currencyBalElemNumCode>840</currencyBalElemNumCode>
    • Specify whether the revenue is recognized at purchase (IMMEDIATE) or when a milestone is marked as completed (FUTURE). For example:

      <milestoneType>IMMEDIATE</milestoneType>
    • Specify the validity period for the physical good. For example, for 1 month, you would enter:

      <timeUnit>MONTH</timeUnit>
      <timeValue>1</timeValue>

The following example shows how to configure a deliverable for an Internet modem and handset with a standalone selling price of 99 US Dollars, an immediate earning schedule, and a validity period of 1 month.

<deliverables xmlns:cim="http://xmlns.oracle.com/communications/platform/model/Config">
   <name>Internet Modem and Handset</name>
   <description>Internet Modem and Handset</description>
   <priceListName>Default</priceListName>
   <obsolete>false</obsolete>
   <deliverableType>PRODUCT</deliverableType>
   <productType>PHYSICAL_GOODS</productType>
   <revenueGlid>1000005</revenueGlid>
   <revenueBasisItem>
      <type>VALUE_BASED</type>
      <amount>99</amount>
      <currencyBalElemNumCode>840</currencyBalElemNumCode>
      <timeUnit>MONTH</timeUnit>
      <timeValue>1</timeValue>
      <milestoneType>IMMEDIATE</milestoneType>
      <scalable>true</scalable>
   </revenueBasisItem>
</deliverables>

Configuring Deliverables for One-Time Activities

To configure a deliverable for a one-time activity, add the following to your XML configuration file:

  • In the top-level deliverables section, add a name, description, and other information about the one-time activity. Ensure that you set these elements as follows:

    • Set deliverableType to SERVICE

    • Set productType to ADMINSTRATIVE

  • In the entitlements subsection, add a name and description, and then ensure that you set the following elements:

    • Set entitlementType to ALLOWANCE_ONE_TIME

    • Specify the noncurrency balance element numeric code for tracking the service you are offering. For example:

      <resourceBalElemNumCode>1000101</resourceBalElemNumCode>
    • Specify the validity period for the allowance. For example, for a validity period of 2 billing cycles, you would enter:

      <allowanceValidityMode>MULTIPLE_BILLING</allowanceValidityMode>
      <allowanceValidityPeriod>2</allowanceValidityPeriod>
  • In the revenueBasisItem subsection, add the following:

    • Set type to RATE_BASED

    • Specify the standalone selling price for the one-time activity. For example, for a standalone selling price of 100 Euros, you would enter:

      <amount>100.00</amount>
      <currencyBalElemNumCode>978</currencyBalElemNumCode>

The following example shows how to configure a deliverable for an Internet Modem Handset Installation with a standalone selling price of 200 US Dollars:

<deliverables xmlns:cim="http://xmlns.oracle.com/communications/platform/model/Config">
   <name>Internet Modem Handset_Installation</name>
   <description>Internet Modem Handset_Installation</description>
   <priceListName>Default</priceListName>
   <obsolete>false</obsolete>
   <deliverableType>SERVICE</deliverableType>
   <productType>ADMINISTRATIVE</productType>
   <revenueGlid>1000002</revenueGlid>
   <entitlement>
      <entitlementType>ALLOWANCE_ONE_TIME</entitlementType>
      <name>Installation Entitlement</name>
      <resourceBalElemNumCode>1000101</resourceBalElemNumCode>
      <allowanceValidityMode>CURRENT_BILLING</allowanceValidityMode>
      <revenueBasisItem>
         <type>RATE_BASED</type>
         <amount>200.0</amount>
         <currencyBalElemNumCode>840</currencyBalElemNumCode>
         <timeUnit>MONTH</timeUnit>
         <timeValue>1</timeValue>
         <milestoneType>IMMEDIATE</milestoneType>
         <scalable>true</scalable>
         <quantity>1</quantity>
      </revenueBasisItem>
   </entitlement>
</deliverables>

Configuring Deliverables for Metered Services

To configure a deliverable for a metered service, add the following to your XML configuration file:

  • In the top-level deliverables section, add a name, description, and other information about the metered service. Ensure that you set these elements as follows:

    • Set deliverableType to SERVICE

    • Specify the type of service that the deliverable can be associated with. For example, for telephony services, you would enter:

      <permittedType>PRODUCT</permittedType>
      <permittedName>TelcoGsmTelephony</permittedName>
  • In the entitlements subsection, add a name and description, and then ensure that you set the following elements:

    • Set entitlementType to ALLOWANCE_RECURRING

    • Specify the allowance amount that is granted to the customer, such as 100 minutes or 10 gigabytes. For example, for 100 text messages, you would enter:

      <allowanceValue>100.00</allowanceValue>
      <resourceBalElemNumCode>9305</resourceBalElemNumCode>
    • Specify the validity period for the allowance. For example, if a granted data allowance of 5 GB expires after 1 billing cycle, you would enter:

      <allowanceValidityMode>CURRENT_BILLING</allowanceValidityMode>
      <allowanceValidityPeriod>1</allowanceValidityPeriod>
    • Specify the frequency at which the allowance is granted to the customer. For example, if a data allowance of 5 GB is granted every month, you would enter:

      <subscriptionCycle>MONTHLY</subscriptionCycle>
  • In the revenueBasisItem subsection, add the following:

    • Set type to RATE_BASED

    • Specify the standalone selling price for the service. For example, for a standalone selling price of 100 Euros, you would enter:

      <amount>100.00</amount>
      <currencyBalElemNumCode>978</currencyBalElemNumCode>
    • Specify the validity period for the metered service. For example, for 1 month, you would enter:

      <timeUnit>MONTH</timeUnit>
      <timeValue>1</timeValue>

The following example shows how to configure a deliverable for VOIP service that grants 200 minutes per month and that has a standalone selling price of 100 US dollars:

<deliverables xmlns:cim="http://xmlns.oracle.com/communications/platform/model/Config">
   <name>VoiceCallsOverIP</name>
   <description>VoiceCallsOverIP</description>
   <priceListName>Default</priceListName>
   <obsolete>false</obsolete>
   <deliverableType>SERVICE</deliverableType>
   <permittedType>PRODUCT</permittedType>
   <permittedName>Ip</permittedName>
   <revenueGlid>1000001</revenueGlid>
   <entitlement>
      <entitlementType>ALLOWANCE_RECURRING</entitlementType>
      <name>VoiceCallOverIPEntitlement</name>
      <resourceBalElemNumCode>1000101</resourceBalElemNumCode>
      <allowanceValidityMode>CURRENT_BILLING</allowanceValidityMode>
      <allowanceValidityPeriod>1</allowanceValidityPeriod>
      <allowanceValue>200</allowanceValue>
      <subscriptionCycle>MONTHLY</subscriptionCycle>
      <revenueBasisItem>
         <type>RATE_BASED</type>
         <amount>100.0</amount>
         <currencyBalElemNumCode>840</currencyBalElemNumCode>
         <timeUnit>MONTH</timeUnit>
         <timeValue>1</timeValue>
         <milestoneType>IMMEDIATE</milestoneType>
         <scalable>false</scalable>
         <quantity>1</quantity>
      </revenueBasisItem>
   </entitlement>
</deliverables>
</cim:ConfigObjects>

Configuring Deliverables for Continuous Services

To configure a deliverable for a continuous service, add the following to your XML configuration file:

  • In the top-level deliverables section, add a name, description, and other information about the continuous service. Ensure that you set these elements as follows:

    • Set deliverableType to SERVICE

    • Specify whether the deliverable can be associated with a service or an account. For example, for VOIP services, you would enter:

      <permittedType>PRODUCT</permittedType>
      <permittedName>Ip</permittedName>
  • In the entitlements subsection, add a name and description, and then ensure that you set the following elements:

    • Set entitlementType to FEATURE

    • Specify the name and value of the continuous service you are offering. For example, for an unlimited number of minutes for VOIP calls, you would enter:

      <featureValue>UnlimitedCallMinutes</featureValue>
  • In the revenueBasisItem subsection, add the following:

    • Set type to VALUE_BASED

    • Specify the standalone selling price for the service. For example, for a standalone selling price of 20 US dollars, you would enter:

      <amount>20.00</amount>
      <currencyBalElemNumCode>840</currencyBalElemNumCode>
    • Specify the validity period for the continuous service. For example, for 1 month, you would enter:

      <timeUnit>MONTH</timeUnit>
      <timeValue>1</timeValue>

The following example shows how to configure a deliverable for unlimited data for a month that has a standalone selling price of 100 US dollars:

<deliverables xmlns:cim="http://xmlns.oracle.com/communications/platform/model/Config">
   <name>DataDownload</name>
   <description>DataDownload</description>
   <priceListName>Default</priceListName>
   <obsolete>false</obsolete>
   <deliverableType>SERVICE</deliverableType>
   <permittedType>PRODUCT</permittedType>
   <permittedName>Ip</permittedName>
   <revenueGlid>1000001</revenueGlid>
   <entitlement>
      <entitlementType>FEATURE</entitlementType>
      <name>DataDownloadEntitlement</name>
      <featureValue>UnlimitedDataDownload</featureValue>
      <revenueBasisItem>
         <type>VALUE_BASED</type>
         <amount>100</amount>
         <currencyBalElemNumCode>840</currencyBalElemNumCode>
         <timeUnit>MONTH</timeUnit>
         <timeValue>1</timeValue>
         <milestoneType>IMMEDIATE</milestoneType>
         <scalable>true</scalable>
      </revenueBasisItem>
   </entitlement>
</deliverables>

Loading Deliverables into the PDC Database

To load your deliverables into the PDC database:

  1. Go to the directory in which you saved your deliverable XML configuration file.

  2. Run the following command:

    ImportExportPricing -import -config FileOrDirectoryName 

    where FileOrDirectoryName specifies either the full path and file name of the import XML file or the directory in which the import XML files reside.

See "Importing and Exporting Pricing and Setup Components" for more information.