Price Models

Overview

Oracle CPQ 23D combined dynamic pricing with static pricing so all pricing types can be defined in the same Price Model. Prior to Oracle CPQ 23D, CPQ supported dynamic pricing options at the Price Model level. A Price Model was designated as either a Tier Pricing, Volume Pricing, Advanced, or 'None' Dynamic Pricing type. Beginning in Oracle CPQ 23D, Tier and Volume types of Dynamic Pricing are defined at the Price Model Item level (i.e. a specific product) within any type of Price Model, to provide users additional flexibility and ease of administration. This enhancement simplifies administration and discoverability of pricing in the Pricing Engine.

Upon upgrade to Oracle CPQ 23D all Price Models will support tier, volume, and flat pricing on an item by item basis and will retain any tier or volume pricing that has been previously defined.

Price Model Structure

Oracle CPQ supports the Rate Plan business object to define groups of charges that can be optionally applied to the pricing for a subscription product (e.g. Monthly vs. Quarterly Subscription Plan). Rate Plans provide an alternative to non-Rate Plan charges and product prices. Rate Plans can be defined using either the Pricing Portal or Product Workbench. A Rate Plan is a collection of charges for a product that is added as Price Model Items within a CPQ Pricing Engine Price Model. A Price Model Item can have zero to many Rate Plans, or zero to one product price, and zero to many non-Rate Plan stand-alone charges. A Rate Plan can also have zero to one product price and zero to many charges. If a product has more than one Rate Plan, one of the Rate Plans is designated as the default Rate Plan.

Price Models continue support for linked Pricing Rules and Simple Condition within the Price Model.

Price Model Item

Dynamic Pricing

Dynamic Pricing types, such as Tier or Volume Pricing, are defined at the Price Model Item level. This allows pricing administrators and product managers to add multiple different Dynamic Pricing type items to the same Price Model. They can also change the Dynamic Pricing type for a data item without the need to create a new Price Model.

Each Product Price or Charge is defined by a Price Type, Charge Type, and Dynamic Pricing type.

Price Model Items

Price Model Types

You can create the following types of Price Models (aka Price Model List Types):

ClosedPrice List - allows administrators to define simple conditions and add absolute prices for all child Price Model Items.

  • Administrators can define different prices for each child Price Model Item.

  • Price Lists are the equivalent of Absolute Price Value Price Models.

ClosedDiscount List - allows administrators to define simple conditions and add discount pricing adjustments for the child Price Model Items.

  • Administrators can define whether the applied discount is specified by Amount or Percent.

  • The Adjustment Type cannot be modified after the initial creation of the Price Model.

  • The same Adjustment Type is applied to all child Price Model Items, but administrators can define different values for the discount Amount or Percent for each Price Model Item.

ClosedMarkup List - allows administrators to define simple conditions and add markup or uplift pricing adjustments for the child Price Model Items.

  • Administrators can define whether the applied markup is specified by Amount or Percent.

  • The Adjustment Type cannot be modified after the initial creation of the Price Model.

  • The same Adjustment Type is applied to all child Price Model Items, but administrators can define different values for the markup Amount or Percent for each Price Model Item.

ClosedAdvanced - enables scripting support for charges and other extensible output values using Advanced type Price Models and Scripting Price Model type Pricing Matrix Templates.

  • The Advanced Price Model is created and associated to a Scripting Price Model Template.

  • The BML is authored in the Scripting Price Model Template which defines the extensible schema used by the BML.

  • The same template can be used to create multiple advanced price models. For example, the same discount template can be used to create a North America Discount Price Model and Latin America Discount Price Model.

  • Each Advanced Price Model can have its own Pricing Data which is viewed and edited in the associated Price Model.

  • This native Pricing Data corresponds to the data table previously required by most Legacy Advanced Price Models.

  • The BML is executed once for the whole pricing document when multiple lines are included in the pricing invocation.

  • For more information see Pricing Matrix Templates and Example Advanced Price Model & Scripting Matrix Template.

ClosedAdvanced (Legacy)  - allows administrators to define simple conditions and add advanced BML functions for a Price Model.

The advanced BML functions return the following pricing items:

  • Unit Price: Displays Unit List Prices in Oracle CPQ Configuration and Commerce Price Attribute Set attributes (_pricing_rule_price_each and _price_unit_price_each).

  • Pricing JSON: Contains customer-defined data used for Pricing Engine integrations.

    The _price_calculation_info Commerce system attribute stores the details of the pricing calculation performed by a Price Model. This attribute is automatically available in the Commerce sub-document Price Attribute Set and will be populated in Commerce if the Transfer Price Models JSON Pricing Option is enabled.

Dynamic Pricing Types

The Oracle CPQ Pricing provides the following Dynamic Pricing types:

ClosedStatic Pricing (None)  allow administrators to define simple product prices or charges for each currency.

  • Static Pricing is established when Dynamic Pricing is set to 'None'.
  • Pricing values can be prices or discounts, as established by the Price Model List Type.

Closed Volume Pricing applies the same price or discount to all items on a single transaction line. The price or discount is based upon the quantity (total number of units).

  • Volume Pricing is established when Dynamic Pricing is set to 'Volume Pricing'.
  • Pricing values can be prices or discounts, as established by the Price Model List Type.

The following image shows a Price Model Item with Volume Pricing.

  • The customer will receive a $20 discount per item when they order more than 30 headphones.
  • When the customer orders licenses, they can receive the following discounts:
    • $0 discount per item when they order 0 - 50 licenses
    • $100 discount per item when they order 51 – 150 licenses
    • $150 discount per item when they order 151 – 500 licenses
    • $200 discount per item when they order 501 or more licenses

Volume Discount pricing


ClosedTier Pricing applies different unit price values to different items of a single transaction line. The total price or discount of the transaction line is based on aggregating the pricing brackets for all units of the item for that transaction line.

  • Pricing values can be prices or discounts, as established by the Price Model List Type.
  • Tier Pricing is established when Dynamic Pricing is set to 'Tier Pricing'.

The following image shows a Price Model Item with Tier Pricing. If a customer with tier pricing orders a quantity of 25 web cams, they will receive the following discounts:

  • No discount (Tier 1) is applied to the first 10 web cams.
  • $5 discount per item (Tier 2) is applied to the next 10 web cams.
  • $10 discount per item (Tier 3) is applied to the remaining 5 web cams.

Tier Discount Pricing example

ClosedPrice Model Attribute-based Matrix Pricingand the associated Pricing Matrix Templates can be used to define pricing that requires the Pricing Engine to use a custom dynamic matrix as the basis for calculating runtime prices, thus replacing the need for data tables and custom BML.

Oracle CPQ 24C now provides the ability to define similar table-based pricing at the Price Model level. Attribute-based Matrix Pricing and the associated Pricing Matrix Templates can be used to define pricing that requires the Pricing Engine to use a custom dynamic matrix as the basis for calculating runtime prices, thus replacing the need for data tables and custom BML.

  • Attribute-based Matrix Pricing is available for Price List, Discount List, and Markup List type Price Models and Price Agreements.

  • Conditional pricing for a single or multiple products can then be defined by using the pre-defined columns to specify the criteria for desired conditions.

  • For more information, refer to Pricing Matrix Templates.

Model Matrix Pricing

ClosedProduct / Charge Attribute-based Matrix Pricing and the associated Pricing Matrix Templates can be used to define pricing that requires the Pricing Engine to use a custom dynamic matrix as the basis for calculating runtime prices.

  • Attribute-based Matrix Pricing is available for Price List, Discount List, and Markup List type Price Models.
  • Pricing Matrix Templates can be used to price both one-time or recurring product prices and charges.
  • After a Pricing Matrix Template has been defined, it can be selected as a Dynamic Pricing type when creating product prices and charges. Conditional pricing can then be defined by using the pre-defined columns to specify the criteria for desired conditions.
  • For more information, refer to Pricing Matrix Templates.

Attribute-based Matric Pricing

ClosedRate Cards and the associated Rate Card type Templates can be used to define complex usage-based pricing for Usage Price Types.

  • Rate Cards are only available for Price List type Price Models.
  • Rate Cards are only available for Usage Price Types.
  • Price values are defined by the applicable Rate Card and can't be modified when defining a charge.
  • For more information, refer to Rate Cards and Pricing Matrix Templates.

Price Details Rate Card

Enhanced Price Authoring

ClosedBlock Pricing allows customers to price products by blocks of units rather than per unit.

Customers in some industries (e.g. communications, utilities, hosting services) price products by blocks of units rather than per unit. Block pricing provides more flexibility, encourages larger purchases, and simplifies fulfillment, rating, and invoicing processes. For example, a customer may want to price software in blocks of hundreds or thousands and charge a price for the entire block rather than per each user. Oracle CPQ 24A provides the option to use blocks rather than units for pricing. CPQ pricing supports both block and unit pricing for the same product price or charge under the same conditions. CPQ also supports Block Pricing for Dynamic Tier Pricing.

Block Pricing applies different unit price values to different items of a single transaction line. The total price or discount of the transaction line is based on aggregating the pricing brackets for all units of the item for that transaction line.

  • Pricing values can be prices or discounts, as established by the Price Model List Type.

  • Block Pricing is established when Block Pricing is enabled and the Block Size is greater than 1.

Block Pricing is disabled by default. To enable Bock Pricing, administrators click the Mange Columns icon, and select the Block Size option when adding a product price or charge to a Price Model Item.

Select Block Size

Block Price Examples

For example, a customer selling CAD software subscriptions uses block pricing to offer discounts on yearly subscriptions purchased in blocks of 10. The block size is 10 and the block price is $9,000. The price for items not purchased in blocks of 10 is $1,000 each.

Block Pricing Item

If a customer with block pricing orders 15 yearly subscriptions, the following pricing is applied:

  • The block pricing is applied to the subscriptions that are purchased in blocks of 10.
    (1 block of 10 at a price of $9,000 = $9,000)

  • The item price of $1,000 is applied to the 5 subscriptions not in a block of 10.
    (5 items at a price of $1,000 = $5,000)

  • The total aggregated price is $14,000 ($9,000 + $5,000).

  • The List Price is the average price for all 15 subscriptions ($14,000 ÷ 15 = $933.33).

Line Item Grid with Block Pricing Item

Another example, a customer selling CAD software subscriptions uses block pricing to offer discounts on yearly subscriptions purchased in blocks of 10. The block size is 10 and the block price is $9,000. The price for items not purchased in blocks has not been defined in any Price Model.

Block pricing example

If a customer with block pricing orders 15 yearly subscriptions, the following pricing is applied:

  • The block 1 pricing is applied to the subscriptions that are purchased in blocks of 10.
    (1 block of 10 at a price of $9,000 = $9,000)

  • The block 2 pricing is applied to the remaining 5 subscriptions that are purchased in blocks of 10.
    (1 block of 10 at a price of $9,000 = $9,000)

  • The total aggregated price is $18,000 ($9,000 + $9,000).

  • The List Price is the average price for all 15 subscriptions ($18,000 ÷ 15 = $1,200.00).

Discount Block Price Example

An amount or percent discount works out a bit differently. For example, a customer selling CAD software subscriptions uses block pricing to offer discounts on yearly subscriptions purchased in blocks of 10. The block size is 10 and the block discount is 10%. The price for items not purchased in blocks has not been defined in any Price Model.

Block pricing example

If a customer with block pricing orders 15 yearly subscriptions, the following pricing is applied:

  • The block discounting is not applied to the subscriptions until a block of 10 is reached.
    (9 or less subscriptions are not discounted per above definition)

  • The 1 block discounting is applied to the block of subscriptions that are purchased in blocks of 10.
    (1 block of 10 at a discount of 10% = $9,000 if product price is defined as $1,000 initially)

  • The 5 additional subscriptions do not have block pricing discounting applied as block 2 has not been met.
    (5 subscriptions at no discount = $5,000 if product price is defined as $1,000 initially)

  • The aggregated price is $14,000 ($9,000 + $5,000).

  • The List Price is the average price for all 15 subscriptions ($14,000 ÷ 15 = $933.33).

Markup Block Price Example

Markup List type Price Models support markup and uplift pricing. Let’s use the same example as before to understand the difference in the calculations when a markup is set up for block pricing without the Item Discount being present.

Markup Block Price Example

If a customer with block pricing orders 15 yearly subscriptions, the following pricing is applied:

  • The 1 block markup is applied to the block of 10 subscriptions that are purchased in blocks of 10.

    (1 block of 10 with markup of 10% = $11,000 if product price is defined as $1,000 initially)

  • The block 2 markup is applied for the 5 additional subscriptions, as the calculation differs for markups from discounts.

    (5 subscriptions with markup = $6,000 if product price is defined as $1,000 initially)

  • The aggregated price is $17,000 ($11,000 + $6,000).

  • The List Price is the average price for all 15 subscriptions ($17,000 ÷ 15 = $1,133.33).

ClosedService Durations can be used to define different pricing for the same service product based on the duration.

Pricing administrators can define different pricing for the same service product based on the duration for which the customer is committing. Enhanced subscription price authoring for service durations allows sales users to incentivize customers to commit to longer contract / service durations to reduce churn and the need to resell the service sooner at renewal time.

For example, two Price Model Items can be added for the EGW-01 Supremo Power Extended Warranty. One item has a 1 year service duration, and the second item has a 2 year service duration. This allows the customer to set different prices based on the service duration.

Service Durations

This feature provides an easy way to incentivize customers to commit to longer service durations.

ClosedDiscount or Markup All Products - The Any Item Product type option the ability to apply discounts or markups to all products or a group of products without enumerating each product in a Price Model.

The Any Item Product type option can be selected when adding new products to a Discount List or Markup List Price Model. By combining this feature with Price Model conditions customers can also define discounts or markups for a group of products.

Select Any Item

BOM Item Pricing

ClosedBOM Item Product Pricing enables the CPQ Pricing Engine to set up and execute different prices for a product based upon the presence and location of the product within a product hierarchy, bundle, or BOM. Products may be either a standalone part or a BOM item defined in a CPQ BOM Item Definition table, including root BOM Items.

When BOM-related columns are displayed for a Price Model, administrators define pricing data for BOM Items or Products. The following example shows a Price Model with two items:

  • The line item outlined in blue defines the price for the Connected Services BOM Item. The BOM item part number or model path is displayed in the Product column.
  • The line item outlined in green defines the price for the Connected Services Product when the product is sold stand-alone.

Price Model Pricing Data with Stand-alone Part and BOM Item

When a sales user adds these items to a quote and criteria from the associated Pricing Rule and Price Model are met, the prices from the Price Model are applied.

Product and BOM Item Price in LIG

Notes:

  • The product hierarchy must be defined in BOM Mapping Item Definition table to enable hierarchical product pricing in the Pricing Engine.
  • If you wish to price root BOM items using Pricing Engine BOM item pricing, you should not define a price in the Parts database for BOM's root item with an associated part number.
  • Bulk upload and download of product prices in Pricing Engine have also been enhanced to support BOM Item pricing.

Price Model Page Descriptions

ClosedPrice Models List Page This list page allows administrators to view information about available Price Models without opening individual Price Model details.

Price Models Page

Item Description

1

Add a new Price Model or Manage Columns that are displayed in the price model list.

2

Enter search criteria to filter Price Model results, which remain persistent while navigating within Price Models.

3

Sort Price Models using the Name, Variable Name, Start, or End column headers.

4

Edit an existing Price Model by clicking on the appropriate Name link or selecting Edit from the line ellipsis drop-down.

5

View linked Pricing Rules by clicking on the Linked Pricing Rules number.

Click on the Rule link to edit the linked Pricing Rule. See Pricing Rules for editing information.

6

Edit or Delete a Price Model by clicking on the line ellipsis.

Only Inactive Price Models can be deleted.

ClosedPrice Model Page This page allows administrators to manage Basic Details, Conditions, and Pricing Data for a Price Model. The new default structured view for the Price Model Pricing Data provides easy access to manage product Price Model Items.

Price Model Page

Item Description

1

Click Edit in the Basic Details section to modify the Price Model Name, Description, or Integration ID. You can also click the More Details toggle to display or hide the Price Model Variable Name, Integration ID, and Dynamic Matrix Pricing.

2

Click Edit in the Conditions section to modify the Price Model conditions.

Note: The Base Price Model uses an "Always True" Pricing Rule and an "Always True" Price Model that cannot be deleted, reordered or assigned a condition.

3

Enter search criteria to filter Pricing Data results, which remain persistent while navigating within Price Model Items.

4

Sort Price Model Items using the Product, BOM Item, BOM Item Variable Name, or Root BOM Item Variable Name column headers.

5

Edit an existing Price Model Item by clicking on the appropriate Name link.

You can quickly access Charges and Rate Plans defined for a Price Model Item, by clicking the associated links.

6

  • Click the Table View icon to display additional information for the Price Model Items. For more information, refer to Table View.
  • Click the Structure View icon to display the default view.

    You can only access existing Price Model Items and Add new Price Model Items from the Structure View.

7

Click Actions to Add Products or reorder Manage Columns.

8

Click on the line ellipsis to Edit or Delete a Price Model Item.

ClosedTable Pricing Data View

The Table View allows administrators to view a summary of Dynamic Pricing, Charges, Rate Plans, and Rate Cards information for all Price Model Items on a single page. From this view, administrators can click Actions to:

  • Edit Prices directly in the Pricing Data section.
  • Manage Columns that are displayed in the Pricing Data section.

Pricing Details - Table View


 

Administration

ClosedAdd a Price List Type Price Model

Complete the following steps to define a Price List type Price Model with (optional) simple conditions. You can only specify absolute prices for child products added to this list.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models card.
  4. Select the Add from the Actions drop-down.

  5. Create the Price Model:
    1. Enter a name in the Name field.
    2. Enter the Variable Name. Variable names can only contain alpha-numeric characters and underscores. The entry can be changed before saving, but after saving the value is read-only.
    3. Select Price List: from the List Type drop-down.
    4. (optional) Select a Start date. This effective start date value will apply to all child products.

    5. (optional) Select a End date. This effective end date value will apply to all child products.

    6. (optional) Enter a Description.
    7. Click Create.
  6. (optional) ClosedAdd Simple Conditions.

    You do not need to do anything to set an "Always True" condition. New Price Models default to the "Always True" condition.

    1. Click the Conditions Edit button.

    2. Select Simple from the Condition Type drop-down.

    3. Select the Action based on option.

      • All Conditions
      • Any Conditions
      • Complex Conditions
    4. Click the Click to add attributes here link to add attributes and condition values.

    5. Select the condition Attribute, Operator, and enter a Value.

      Edit simple condition attribute line

    6. (optional) Click Add New Condition to add another condition.

    7. (optional)To delete a conditions click the Delete Delete icon icon.

    8. Click Update to save the condition(s).

  7. Select to one of the following options to add products to this Price Model:
    • To add products or product hierarchies (BOM items) proceed to Add a Product.
    • To use custom dynamic matrix pricing for this price model proceed to Add Attribute-based Matrix Pricing for a Price Model.

      Note: You cannot add Dynamic Attribute-based Pricing to a Price Model or a Price Agreement with existing charges unless all existing charges are based on the same attribute-based charge template.


ClosedAdd a Discount List Type Price Model

Complete the following steps to define a Discount List type Price Model with (optional) simple conditions. You can only specify discount pricing adjustments for child products added to this list.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models card.
  4. Select the Add from the Actions drop-down.

  5. Create the Price Model:
    1. Enter a name in the Name field.
    2. Enter the Variable Name. Variable names can only contain alpha-numeric characters and underscores. The entry can be changed before saving, but after saving the value is read-only.
    3. Select Discount List from the List Type drop-down.
    4.  Select the Adjustment Type.
      • Amount: Select this option if you will enter discounts in amounts.
      • Percent: Select this option if you will enter discounts in percentages.
    5. (optional) Select a Start date. This effective start date value will apply to all child products.

    6. (optional) Select a End date. This effective end date value will apply to all child products.

    7. (optional) Enter a Description.
    8. Click Create.
  6. (optional) ClosedAdd Simple Conditions.

    You do not need to do anything to set an "Always True" condition. New Price Models default to the "Always True" condition.

    1. Click the Conditions Edit button.

    2. Select Simple from the Condition Type drop-down.

    3. Select the Action based on option.

      • All Conditions
      • Any Conditions
      • Complex Conditions
    4. Click the Click to add attributes here link to add attributes and condition values.

    5. Select the condition Attribute, Operator, and enter a Value.

      Edit simple condition attribute line

    6. (optional) Click Add New Condition to add another condition.

    7. (optional)To delete a conditions click the Delete Delete icon icon.

    8. Click Update to save the condition(s).

  7. Select to one of the following options to add products to this Price Model:
    • To add products or product hierarchies (BOM items) proceed to Add a Product.
    • To use custom dynamic matrix pricing for this price model proceed to Add Attribute-based Matrix Pricing for a Price Model.

      Note: You cannot add Dynamic Attribute-based Pricing to a Price Model or a Price Agreement with existing charges unless all existing charges are based on the same attribute-based charge template.


ClosedAdd Markup List Type Price Model

Complete the following steps to define a Markup List type Price Model with (optional) simple conditions. You can only specify markup/uplift pricing adjustments for child products added to this list.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models card.
  4. Select the Add from the Actions drop-down.

  5. Create the Price Model:
    1. Enter a name in the Name field.
    2. Enter the Variable Name. Variable names can only contain alpha-numeric characters and underscores. The entry can be changed before saving, but after saving the value is read-only.
    3. Select Markup List: from the List Type drop-down.
    4. Select the Adjustment Type.
      • Amount: Select this option if you will enter markups in amounts.
      • Percent: Select this option if you will enter markups in percentages.
    5. (optional) Select a Start date. This effective start date value will apply to all child products.

    6. (optional) Select a End date. This effective end date value will apply to all child products.

    7. (optional) Enter a Description.
    8. Click Create.
  6. (optional) ClosedAdd Simple Conditions.

    You do not need to do anything to set an "Always True" condition. New Price Models default to the "Always True" condition.

    1. Click the Conditions Edit button.

    2. Select Simple from the Condition Type drop-down.

    3. Select the Action based on option.

      • All Conditions
      • Any Conditions
      • Complex Conditions
    4. Click the Click to add attributes here link to add attributes and condition values.

    5. Select the condition Attribute, Operator, and enter a Value.

      Edit simple condition attribute line

    6. (optional) Click Add New Condition to add another condition.

    7. (optional)To delete a conditions click the Delete Delete icon icon.

    8. Click Update to save the condition(s).

  7. Select to one of the following options to add products to this Price Model:
    1. To add products or product hierarchies (BOM items) proceed to Add a Product.
    2. To use custom dynamic matrix pricing for this price model proceed to Add Attribute-based Matrix Pricing for a Price Model.

      Note: You cannot add Dynamic Attribute-based Pricing to a Price Model or a Price Agreement with existing charges unless all existing charges are based on the same attribute-based charge template.


ClosedAdd an Advanced Price Model

Note: The new type of scripting Price Model is named 'Advanced' whereas legacy scripting Price Models are now renamed Advanced (Legacy) Price Models.

Prerequisites: The following items must be defined prior to adding an Advanced Price Model:

  • Commerce Transaction Line attributes that will be populated by the output values.

  • Pricing Lookups with valid values for any menu type attributes you will use in your dynamic pricing.

  • Pricing Attributes for the input and output pricing values.

  • A Scripting Price Model type Pricing Matrix Template to define the specific metadata or columns you will use to define one or more dynamic input and output pricing attributes.

  • Refer to Example Advanced Price Model & Scripting Matrix Template for more information.

Complete the following steps to create an Advanced type Price Model in the CPQ Pricing Portal.

  1. Navigate to Admin > Pricing Portal > Price Models.

  2. Select Add from the Actions drop-down.

  3. Create the Price Model:

    1. Enter the Name.

    2. Enter the Variable Name.

    3. Select Advanced from the List Type drop-down.

    4. Select the applicable Scripting Price Model - Pricing Matrix Template from the Template drop-down.

    5. (optional) Select a Start date. This effective start date value will apply to all child products.

    6. Select an End date. This effective end date value will apply to all child products.

    7. (optional) Enter a Description.

    8. Click Create.

  4. Select Edit from the Actions drop-down.

  5. Click Add, and then define the values for the row.

    1. Select values from available drop-downs and define the appropriate data values for the row.

    2. Repeat this step to enter additional rows.

    ClosedAdvanced Price Model Example

    Example Advanced Price Model

  6. Click Update.


ClosedAdd Attribute-based Matrix Pricing to a Price Model

Complete the following steps to create dynamic matrix pricing for a Price Model.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models or Price Agreements card (as applicable).

  4. Select the applicable Price Model or Price Agreement.

    • A Price Model or Price Agreement must be defined by either product prices and charges OR by a Pricing Matrix.

    • You cannot add Dynamic Attribute-based Pricing to a Price Model or a Price Agreement with existing charges unless all existing charges are based on the same attribute-based charge template.

  5. Click Edit in the Basic Details section.

  6. Expand the More Details section.

  7. Select the applicable Pricing Matrix Template from the Dynamic Matrix Pricing drop-down.

  8. Click Save or Update.

  9. Click the Table View icon Table View icon in the Pricing Data section.

  10. Select Edit from the Actions drop-down.

  11. Perform one of the following options:

    • To add new product to the pricing matrix, select Add Charge from the Add drop-down.

    • To add a conditional row item to the last product in the pricing matrix, select Add Matrix Row from the Add drop-down.

    • To add a conditional row item for any existing product in the pricing matrix, click on the line ellipse for the applicable product line item and select Add Matrix Row.

  12. Enter or select the conditional values for each column.

  13. Enter the applicable pricing.

    The item pricing is determined by the parent Price Model's or Price Agreement’s list type and adjustment type (for discount and markup lists). For example, Item Markup % is defined by the parent Markup List type Price Model with a Percent adjustment type. If a customer implementation uses block pricing, Block Size and Block Price attributes can also be added.

  14. Click Save or Update.


ClosedAdd a Product

Complete the following steps to add a product to a Price Model.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models card.
  4. Select the applicable Price Model.

  5. Select Add Products from the Actions drop-down.

  6. Select the applicable item from the Product drop-down.

    • Select a Part or BOM item, or

    • Select Any Item to add a discount or markup for all products.

      This option is only available for Discount Lists and Markup Lists.

  1. Click Create.

  2. Proceed to Add a Product Price, Add a Rate Plan, or Add a Charge.


ClosedAdd a Product Price

Complete the following steps to add a Product Price to a product.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models or Price Agreements card.
  4. Click on the applicable Price Model or Price Agreement.
  5. Click on the applicable product.

  6. If the desired product is not listed, refer to Add a Product for instructions.

  7. Click Add Product Price - OR - select Add Product Price from the Actions drop-down.

  8. When enabled, select a Charge Definition.

    Charge Definitions standardize charge categories and define the valid combinations of price types and charge types.

    • The Price Type and Charge Type are automatically populated when using Charge Definitions.
    • Charge Definitions are highly recommended for customers using charge pricing (vs. legacy product pricing) to simplify the setup of prices.
    • Charge Definitions are required when CPQ pricing is integrated with Oracle Fusion Pricing.
    • For more information, refer to Charge Definitions.
  9. Select a Price Type.

    The Pricing Type Pricing Lookup provides the following standard values: One time, Recurring, Usage. To add custom values, refer to Pricing Lookups

  10. If applicable, select the Price Period to define the time frequency, periodicity, or recurrence with which the price is levied or charged.

    • Price Periods are only applicable for Recurring and Usage Price Types.
    • The Pricing Type Pricing Lookup provides the following standard values: Per Month, Per Year. To add custom values (e.g. Per Week, Per Year), refer to Pricing Lookups.
  11. Select one of the following Dynamic Pricing options, and perform the included steps:

    ClosedNone  (Static Pricing)

    1. Select None from the Dynamic Pricing drop-down.
    2. If applicable, select Additional Currencies from the drop-down.
    3. Enter the unit price, discount value, or markup value for each applicable currency.

      -- OR --

      Complete the following to enter Block Pricing:

      1. Click the Manage Columns icon and select the Block Size option.

      2. Enter the Block Size value that is greater than 1.

      3. Enter the Block Price value for each applicable currency.

      4. Enter the Item Price value for each applicable currency.


    ClosedVolume Pricing

    1. Select Volume Pricing from the Dynamic Pricing drop-down.
    2. If applicable, select Additional Currencies from the drop-down.
    3. Click Add Range.
    4. Enter the Quantity From value.
    5. Enter the unit price, discount value, or markup value for each applicable currency.
    6. Click Add Range.

    7. Enter the Quantity From value for the new tier.

      The Quantity To value for the previous tier will be populated with the same value.

    8. Enter the unit price, discount value, or markup value for each applicable currency.

      -- OR --

      Complete the following to enter Block Pricing:

      1. Click the Manage Columns icon and select the Block Size option.

      2. Enter the Block Size value that is greater than 1.

      3. Enter the Block Price value for each applicable currency.

      4. Enter the Item Price value for each applicable currency.

    9. Repeat Step f - Step h to add additional tiers.


    ClosedTier Pricing

    1. Select Tier Pricing from the Dynamic Pricing drop-down.
    2. If applicable, select Additional Currencies from the drop-down.
    3. Click Add Range.
    4. Enter the Quantity From value.
    5. Enter the unit price, discount value, or markup value for each applicable currency.
    6. Click Add Range.

    7. Enter the Quantity From value for the new tier.

      The Quantity To value for the previous tier will be populated with the same value.

    8. Enter the unit price, discount value, or markup value for each applicable currency.

      -- OR --

      Complete the following to enter Block Pricing:

      1. Click the Manage Columns icon and select the Block Size option.

      2. Enter the Block Size value that is greater than 1.

      3. Enter the Block Price value for each applicable currency.

      4. Enter the Item Price value for each applicable currency.

    9. Repeat Step f - Step h to add additional tiers.


    ClosedMatrix Pricing

    1. Select the appropriate Pricing Matrix Template from the drop-down.
    2. If additional currencies are required in the pricing matrix complete the following steps.

      1. Click the Manage Columns icon.

      2. Check the applicable currency items.

      3. Click Apply.

    3. Click the + icon to add a conditional row item.

    4. Enter or select the conditional values for each column.

    5. Enter the applicable pricing.

    6. If a customer implementation uses block pricing, add the Block Size and Block Price attributes.

      1. Click the Manage Columns icon and select the Block Size and Block Price options.

      2. Enter the Block Size value that is greater than 1.

      3. Enter the Block Price value for each applicable currency.

      4. Enter the Item Price value for each applicable currency.

    7. Repeat Step c - Step f to add additional conditional pricing items.


  12. Click Create.


ClosedAdd a Rate Plan

Complete the following steps to create a Rate Plan to a product.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models or Price Agreements card.
  4. Select the applicable Price Model or Price Agreement.
  5. Click on the applicable product.

    If the desired product is not listed, refer to Add a Product for instructions.

  6. Click Add Rate Plans.

    1. Enter a Rate Plan Name.
    2. Enter a variable name in Rate Plan Number.
    3. (optional) Select a Start date. This effective start date value will apply to all Charges in this Rate Plan.
    4. (optional) Select an End date. This effective end date value will apply to all Charges in this Rate Plan.
    5. (optional) Enter a Description.
    6. Click Create.
  7. Proceed to Add a Charge.

ClosedAdd a Charge

Complete the following steps to add a charge to a product.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models or Price Agreements card.
  4. Select the applicable Price Model or Price Agreement.
  5. Click on the applicable product.

    If the desired product is not listed, refer to Add a Product for instructions.

  6. Perform one of the following:

    • To add non-Rate Plan Charges, click Add Charges - OR - select Add Charges from the Actions drop-down.

    • To add Charges to a Rate Plan, click on the Rate Plan ellipsis, and then select Add Charges.

  7. When enabled, select a Charge Definition.

    Charge Definitions standardize charge categories and define the valid combinations of price types and charge types.

    • The Price Type and Charge Type are automatically populated when using Charge Definitions.
    • Charge Definitions are highly recommended for customers using charge pricing (vs. legacy product pricing) to simplify the setup of prices.
    • Charge Definitions are required when CPQ pricing is integrated with Oracle Fusion Pricing.
    • For more information, refer to Charge Definitions.
  8. Select a Price Type to define the basis on which a price or charge is levied.

    • The Price Type is automatically populated and not editable when using Charge Definitions.
    • The Pricing Type Pricing Lookup provides the following standard values: One time, Recurring, Usage. To add custom values, refer to Pricing Lookups
  9. Select a Charge Type to define the value that will be received by the customer for a charge price.

    • The Charge Type is automatically populated and not editable when using Charge Definitions.
    • The Charge Type Pricing Lookup provides the following standard value: Sales Price. To add custom values (e.g. Activation Fee, Call Charge, Data Charge), refer to Pricing Lookups
  10. If applicable, select the Price Period to define the time frequency, periodicity, or recurrence with which the price is levied or charged.

    • Price Periods are only applicable for Recurring and Usage Price Types.
    • The Pricing Type Pricing Lookup provides the following standard values: Per Month, Per Year. To add custom values (e.g. Per Week, Per Year), refer to Pricing Lookups.
  11. If applicable, select or enter the Usage UOM to define the units of measures for usage quantities.

    To add custom values (e.g. Per Week, Per Year), refer to Pricing Lookups.

  12. (optional) Choose a Start Date to set the effective start date for an individual charge.
  13. (optional) Choose an End Date to set the effective start date for an individual charge.
  14. Select one of the following options, and perform the included steps:

    ClosedNone  (Static Pricing)

    1. Select None from the Dynamic Pricing drop-down.
    2. If applicable, select Additional Currencies from the drop-down.
    3. Enter the unit price, discount value, or markup value for each applicable currency.

      -- OR --

      Complete the following to enter Block Pricing:

      1. Click the Manage Columns icon and select the Block Size option.

      2. Enter the Block Size value that is greater than 1.

      3. Enter the Block Price value for each applicable currency.

      4. Enter the Item Price value for each applicable currency.


    ClosedVolume Pricing

    1. Select Volume Pricing from the Dynamic Pricing drop-down.
    2. If applicable, select Additional Currencies from the drop-down.
    3. Click Add Range.
    4. Enter the Quantity From value.
    5. Enter the unit price, discount value, or markup value for each applicable currency.
    6. Click Add Range.

    7. Enter the Quantity From value for the new tier.

      The Quantity To value for the previous tier will be populated with the same value.

    8. Enter the unit price or discount value for each applicable currency.

      -- OR --

      Complete the following to enter Block Pricing:

      1. Click the Manage Columns icon and select the Block Size option.

      2. Enter the Block Size value that is greater than 1.

      3. Enter the Block Price value for each applicable currency.

      4. Enter the Item Price value for each applicable currency.

    9. Repeat Step f - Step h to add additional tiers.


    ClosedTier Pricing

    1. Select Tier Pricing from the Dynamic Pricing drop-down.
    2. If applicable, select Additional Currencies from the drop-down.
    3. Click Add Range.
    4. Enter the Quantity From value.
    5. Enter the unit price, discount value, or markup value for each applicable currency.
    6. Click Add Range.

    7. Enter the Quantity From value for the new tier.

      The Quantity To value for the previous tier will be populated with the same value.

    8. Enter the unit price, discount value, or markup value for each applicable currency.

      -- OR --

      Complete the following to enter Block Pricing:

      1. Click the Manage Columns icon and select the Block Size option.

      2. Enter the Block Size value that is greater than 1.

      3. Enter the Block Price value for each applicable currency.

      4. Enter the Item Price value for each applicable currency.

    9. Repeat Step f - Step h to add additional tiers.


    ClosedRate Card

    1. Select Rate Card from the Dynamic Pricing drop-down.
    2. Select the Rate Card Name from the drop-down.

      • Rate Cards are only available for Price List type Price Models.
      • Rate Cards are only available for Usage Price Types.
      • Price values are defined by the applicable Rate Card and can't be modified when defining a charge.
      • For more information, refer to Rate Cards and Pricing Matrix Templates.

    ClosedMatrix Pricing

    1. Select the appropriate Pricing Matrix Template from the drop-down.
    2. If additional currencies are required in the pricing matrix complete the following steps.

      1. Click the Manage Columns icon.

      2. Check the applicable currency items.

      3. Click Apply.

    3. Click the + icon to add a conditional row item.

    4. Enter or select the conditional values for each column.

    5. Enter the applicable pricing.

      -- OR --

      Complete the following to enter Block Pricing:

      1. Click the Manage Columns icon and select the Block Size option.

      2. Enter the Block Size value that is greater than 1.

      3. Enter the Block Price value for each applicable currency.

      4. Enter the Item Price value for each applicable currency.

    6. Repeat Step c - Step e to add additional conditional pricing items.


  15. Click Create.


ClosedExport and Import Matrix Pricing Data

CPQ provides the ability to ability to author the Price Model and Price Agreement matrix pricing outside of CPQ and use Excel (.CSV) files to load this data directly from the Price Model or Agreement UI. The recommended process for modifying matrix pricing data is:

  1. Export Matrix Pricing Data from a Price Model or Price Agreement

  2. Modify Matrix Pricing Data Excel Files

  3. Import Matrix Pricing Data from a Price Model or Price Agreement

ClosedExport Matrix Pricing Data from a Price Model or Price Agreement

ClosedModify Matrix Pricing Data Excel Files

ClosedImport Matrix Pricing Data from a Price Model or Price Agreement


ClosedAdd Service Duration Price Items

Complete the following steps to add service duration price items.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models card.

  4. Select the applicable Price Model.

  5. Select Manage Columns from the Actions drop-down.

  6. Check Service Duration Type, Service Duration, and Service Duration Period, and then click Apply.

  7. Select Add Products from the Actions drop-down.

  8. Select Product or BOM Item from the Type drop-down.

  9. Select the desired Part Number or BOM Item from the associated drop-down.

    To add multiple service durations for the same Price Model Item the Parts – Service Duration Type must be set to V (Variable).

  10. Select the Service Duration Period.

  11. Enter the Service Duration.

  12. Click Create.


ClosedAdd an Advanced Price Model

Complete the following steps to add a Price Model with an advanced BML function.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models card.
  4. Select the Add from the Actions drop-down.

  5. Enter a Name.

  6. Enter a Variable Name.

    The Variable Name field populates automatically. Variable names can only contain alpha-numeric characters and underscores. The entry can be changed before saving, but after saving the value is read-only.

  7. (optional) Select a Start date. This effective start date value will apply to this Price Model.

  8. (optional) Select a End date. This effective end date value will apply to this Price Model.

  9. (optional) Enter a Description.
  10. Click Create.

  11. (optional) ClosedAdd Simple Conditions.

    You do not need to do anything to set an "Always True" condition. New Price Models default to the "Always True" condition.

    1. Click the Conditions Edit button.

    2. Select Simple from the Condition Type drop-down.

    3. Select the Action based on option.

      • All Conditions
      • Any Conditions
      • Complex Conditions
    4. Click the Click to add attributes here link to add attributes and condition values.

    5. Select the condition Attribute, Operator, and enter a Value.

      Edit simple condition attribute line

    6. (optional) Click Add New Condition to add another condition.

    7. (optional)To delete a conditions click the Delete Delete icon icon.

    8. Click Update to save the condition(s).

  1. Click Advanced.

  2. Select the applicable Pricing Attributes, Special Parameters, and Library Functions.
  3. Click Next.

  4. Enter the applicable BML function.

    Closed Sample BML

  5. Click Close.

ClosedDelete a Price Model

Complete the following steps to delete a Price Model.

  1. Navigate to the Admin page.

  2. Click Pricing Portal in the Products section.

  3. Click on the Price Models card.
  4. Click the ellipsis at the end of the line and select Delete.


 

Notes

Notes:

  • The relationship between Pricing Rules and Price Models is a many-to-many relationship. In other words, one Pricing Rule may apply to multiple Price Models and one Price Model may be applied by multiple Pricing Rules.
  • The sequencing of Pricing Rules and Price Models is very important because it has a direct impact on the pricing order of operations.
  • Header and line level attributes can be used in Price Models, however best practice is to use header attributes in Pricing Rule conditions and use line attributes in Price Model conditions.
  • The product hierarchy must be defined in BOM Item Definition table to enable hierarchical product pricing in the Pricing Engine.

  • New BOM Items from an undeployed BOM Item Definition table can be added as a Pricing Data item, but the BOM Item Definition table must be deployed to make the BOM Item available for product Configuration.

  • If you wish to price root BOM items using Pricing Engine BOM item pricing, you should not define a price in the Parts database for BOM's root item with an associated part number.

  • Bulk upload and download of product prices in Pricing Engine have also been enhanced to support BOM Item pricing.

  • Hover tooltips will display the full name of a currency code.

  • If the Value Type is Absolute Price, define amounts in USD and EURO. If there is a EURO specific price, populate the amount with the Price Book price.If the Value Type is Discount Amount or Discount Percent, and no CSP exists in a specific currency, set the amount to "0'.

  • Values in the price model should be populated for all supported currencies for a given part.
    Example: If your application supports USD and EURO, when a part is added to a profile, a price/value should be defined for both the USD and EURO currencies.

  • The maximum number of Pricing Models is 100. Submit a Service Request (SR) on My Oracle Support to change the maximum number.

  • The maximum number of Pricing Matrix rows is 500. Submit a Service Request (SR) on My Oracle Support to change the maximum number.

 

Related Topics

Related Topics Link IconSee Also