Pricing and Charge Attributes
Overview
Oracle CPQ supports canonical Pricing and Charge Attributes in the CPQ pricing module. Pricing Attributes are mapped to specific attributes from Commerce, Parts, or Configuration. CPQ provides several standard Pricing Attributes with predefined mapping for frequently used attributes (e.g. Configuration Quantity, Commerce Quantity, Pricing Segment, and Account). Customers can also add their own custom Pricing and Charge Attributes. Pricing Attributes can be used to define conditions and functions for Price Models and Pricing Rules. The Price Models and Pricing Rules will be invoked based on the values from the Pricing Attributes and will automatically populate the price values referenced in conditions and functions.
Oracle CPQ 24D combined Charge Attributes with Pricing Attributes into a single module in the Pricing Portal. Refer to Charge Attributes for releases prior to Oracle CPQ 24D. The "Charge" type Pricing Entity identifies Charge Attributes inside the Pricing Attributes module. The Pricing Attributes module supports all previous Charge Attribute fields and functionality.
Pricing Attribute Pages
Pricing Attributes List Page - This list page allows administrators to view the pricing attributes Pricing Entity (Header or Line), Name, Variable Name, Data Type, and Type without opening individual Pricing Attributes details. The array type attributes are appropriately labeled in the Data Type column on the Pricing Attributes list page.
Pricing Attribute Page - This page allows administrators to manage Pricing Attributes. This section describes fields for Header and Line type Pricing Attributes. See Charge Type Pricing Attribute Page for more information about charge-related fields.
Charge Type Pricing Attribute Page - This page allows administrators to manage Pricing Attributes. This section describes fields for Charge type Pricing Attributes.
Standard Pricing Attributes
CPQ provides the following standard Pricing Attributes with predefined mapping for frequently used attributes. Standard Pricing Attributes and mappings cannot be deleted or inactivated.
Standard Pricing Attribute Mapping
|
Pricing Entity |
Name |
Variable Name |
Data Source |
Source Attribute Name |
Source Attribute Name |
Source Entity |
|---|---|---|---|---|---|---|
|
Header |
Customer ID |
_customerId |
Quoting : All Processes |
Customer Id |
_customer_id |
Header |
|
Line |
Bom Item Variable Name |
_bomItemVariableName |
BOM Item Attributes |
Variable Name |
variableName |
BOM Item |
|
Line |
Part Number |
_partNumber |
Item Attributes |
Part Number |
part_number |
Part |
|
Line |
Quantity |
_quantity |
Item Attributes |
Quantity |
quantity |
|
|
Line |
Requested Rate Plan Number |
_requestedRatePlanNumber |
Quoting : All Processes |
Requested Rate Plan |
_requestedRatePlan |
Line |
|
Charge
|
Calculation Information
|
calculationInfo |
Quoting : All Processes |
Calculation Information |
_price_calculation_info |
Line |
|
Quoting : All Processes |
Calculation Information |
calculationInfo |
Charge Set |
|||
|
Charge |
Charge Definition |
chargeDefinition |
Quoting : All Processes |
Charge Definition |
chargeDefinition |
Charge Set |
|
Charge |
Charge Definition Code |
chargeDefinitionCode |
Quoting : All Processes |
Charge Definition Code |
chargeDefinitionCode |
Charge Set |
|
Charge |
Charge Definition Integration ID |
chargeDefIntegrationId |
Quoting : All Processes |
Charge Definition Integration ID |
chargeDefIntegrationId |
Charge Set |
|
Charge |
Charge Type |
chargeType |
Quoting : All Processes |
Charge Type |
chargeType |
Charge Set |
|
Charge |
Dynamic Pricing Type |
dynamicPricingType |
Quoting : All Processes |
Dynamic Pricing Type |
dynamicPricingType |
Charge Set |
|
Charge |
Extended List Amount |
extendedAmount |
Quoting : All Processes |
Extended List Amount |
extendedAmount |
Charge Set |
|
Charge
|
Price Period
|
pricePeriod |
Quoting : All Processes |
Price Period |
_price_period |
Line |
|
Quoting : All Processes |
Price Period |
pricePeriod |
Charge Set |
|||
|
Charge
|
Price Type |
priceType |
Quoting : All Processes |
Price Type |
_price_type |
Line |
|
Quoting : All Processes |
Price Type |
priceType |
Charge Set |
|||
|
Charge |
Rate Card |
rateCardName |
Quoting : All Processes |
Rate Card |
rateCardName |
Charge Set |
|
Charge |
Rate Card Structure |
rateCardStructure |
Quoting : All Processes |
Rate Card Structure |
rateCardStructure |
Charge Set |
|
Charge |
Rate Card Variable Name |
rateCardVariableName |
Quoting : All Processes |
Rate Card Variable Name |
rateCardVariableName |
Charge Set |
|
Charge
|
Unit Price
|
unitPrice
|
Quoting : All Processes |
Unit Price |
_price_unit_price_each |
Line |
|
Quoting : All Processes |
Unit Price |
unitPrice |
Charge Set |
|||
|
Charge |
Usage UOM |
usageUOM |
Quoting : All Processes |
Usage UOM |
usageUOM |
Charge Set |
Pricing Attribute Enhancements
-
Oracle CPQ 24D combined Charge Attributes with Pricing Attributes. The Pricing Attributes module supports all previous Charge Attribute fields and functionality.
-
Oracle CPQ 24D also introduced the In/Out parameter for Pricing and Charge Attributes to identify if an attribute is a Pricing Engine input, output, internal, or external. Each Pricing Attribute can have only one of the following values:
-
Input – This option defines attribute values that are used as inputs to pricing calculations.
-
Output – This option defines attribute values that will be written as outputs from pricing into Commerce.
-
Internal - This option defines attributes that are used only inside the Pricing Engine. For example, a customer segment attribute can be used internally within the Pricing Engine to determine pricing. It could be used in matrix-based pricing, pricing rule conditions, price model conditions, or BML scripts, but never be written into an output attribute.
-
External – This value is automatically set for Charge Set Attributes that are currently calculated by CPQ Quoting but will in future be calculated by Pricing Engine. For now these attributes form part of the schema definition for Charge Set attributes in CPQ Commerce. This value cannot be selected when created new custom Pricing Attributes.
The In/Out parameter can be set to Input, Output, or Internal for new custom Pricing Attributes. New custom Charge-type Pricing Attributes are automatically set to Output.
-
- Oracle CPQ 24C introduced the Line Price As Of attribute to expand price effectivity to honor a 'price as of' date for each quote line when pricing is re-evaluated.
-
Lookups for Pricing Attributes - Oracle CPQ 24B enables text type Pricing Attributes to be mapped to Lookups so that valid domains of values are presented for selection by the pricing administrator and product manager. Valid domains of values can be defined in Lookups.
-
Oracle CPQ 23B introduced the BOM Item Variable Name Attribute Pricing Attribute to automatically supports BOM item product pricing in the Pricing Engine without requiring a pricing administrator to set up this attribute and its mapping.
Administration
Add a Custom Pricing Attribute
Enable Apply context-dependent data source in Pricing Attribute Mapping
Pricing Engine Quantity Attribute
Reorder Mapped Pricing Attributes
Notes
Caution: A header Pricing Attribute should not be mapped to a Configuration attribute, unless pricing is executed only for recommended items in Configuration. In all other scenarios, the Pricing Attribute can have an invalid value during runtime execution, for example at quoting, or for BOM items in Configuration. If you'd like to map to a Configuration attribute, consider using a line Pricing Attribute instead.
Notes:
-
By default, CPQ Pricing Engine uses a standard natural key for the Charge object including Price Type, Charge Type, and Price Period.
-
Mapping a Text Area type Charge Attribute to a Commerce Text attribute may cause truncated data.
-
Oracle Order Management requires that each Charge for an item has a unique combination of Price Type and Charge Type. If you are integrating Oracle CPQ with Oracle Order Management you will need to define a different Charge Type to distinguish Charges with the same Price Type but different Price Periods.
-
The maximum number of custom Pricing/Charge Attributes is 75. Submit a Service Request (SR) on My Oracle Support to change the maximum number.





