Write Extensible Output Values from Pricing Engine
Prior to 24D, customers could write extensible charge values as outputs from Pricing Engine with non-scripting Price Models. They could also use Pricing Matrices to define extensible input values to write a single unit price for products and charges. Beginning in Oracle CPQ 24D, customers can also write extensible dynamically calculated interim charge values as outputs to Commerce and the Calculate Price REST API using Advanced Price Models and Scripting Price Model templates. See Scripting Support for Price Models for more information.
For example, customers can add cost values for components such as cost of sales, rebates, or marketing programs in calculating a final margin value.
Beginning in Oracle CPQ 24D, the Pricing Portal combines Charge Attributes with Pricing Attributes into a single Pricing Portal card. Text Area type Charge Attributes can be mapped to Commerce Text and Text Area type attributes. Note: mapping a Text Area type Charge Attribute to a Commerce Text attribute may cause truncated data. 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.
Additionally, the new In/Out parameter for Pricing and Charge Attributes identifies 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.
-
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. Charge Attributes are automatically set to Output.
Apply context-dependent data source in Pricing Attribute Mapping Pricing Option
Oracle CPQ 24D also introduces the new Apply context-dependent data source in Pricing Attribute Mapping Pricing Option. This setting is only applicable when a Pricing Attribute has attribute mappings to two or more different types of Data Sources (e.g. a Configuration model and a Commerce process).
If a pricing attribute happens to have a default value populated in the pricing attribute detail page, that value will be utilized only after all the data sources are exhausted.
-
When this option is On, the Pricing Attribute uses the Data Source corresponding to the current invocation context.
-
When this option Off, the Pricing Attribute honors the Attribute Mapping order number.
For example, assume a Pricing Attribute has two Data Sources: a Configuration model and a Commerce process. When this option is On, the Pricing Attribute uses the Configuration Data Source in the Configuration model, and the Commerce Data Source in the Commerce process. When this option is Off, the Pricing Attribute uses the Data Source with the lowest order number in the Pricing Attribute's Attribute Mapping.
The default for this option is Off for customers currently using Pricing Engine. If a site does not have any pricing data or any Advanced Pricing Models yet defined the default for this option is On. To find the order number for an attribute, check the Pricing Attribute detail page.
Customers can now not only use Pricing Engine to calculate a wider variety of pricing outputs, but they can also more clearly define and view their pricing data inputs and outputs. Additionally, they can assure that the correct configuration or commerce attribute is used when a pricing attribute is mapped to both modules.
Steps to Enable
Add a Custom Pricing Attribute
Complete the following steps create a custom Pricing Attribute in the Pricing Engine.
-
Navigate to Admin > Pricing Portal > Pricing Attributes.
-
Select Add form the Actions dop-down.
-
Select the Pricing Entity option.
-
Header - Select this option for transaction level attributes.
-
Line - Select this option for transaction line item attributes.
-
Charge – Select this option for charge attributes, refer to Add a Custom Charge Attribute.
-
-
Enter a Name.
-
Enter the Variable Name.
-
Select the Data Type: Boolean, Currency, String, Decimal, Date, or Integer.
-
Select the Array Type option, if applicable.
-
Enable this option for Array attributes.
-
Disable this option for Non-Array attributes.
-
-
Select a Lookup to associate a Pricing Lookup to a String type attribute, if applicable.
-
This field is only available for string data types.
-
Refer to Pricing Lookups for more information.
-
(optional) Select or enter a Default Value.
-
The default value cannot be specified for currency or text area data types.
-
Only True or False values can be selected for Boolean data types.
-
When a Lookup is selected, you can select a default value from values defined in Pricing Lookups.
-
-
(optional) Enter a Description.
-
Click Create.
-
-
Complete the following items to map a pricing attribute to a Commerce, Configuration, or Parts attribute.
-
Select Edit from the Actions drop-down.
-
Click Add.
-
Select the Data Source from the drop-down menu.
-
Select the appropriate attribute from the Source Attribute Name drop-down menu.
-
The Source Attribute Variable Name and Path will auto-populate.
-
To reorder mapping attributes, click in the Order field and enter the desired order number.
-
To delete an attribute mapping, click the ellipsis at the end of the line and select Delete.
-
-
Repeat 3b – 3d to add and map additional attributes.
-
-
Click Update or Save.
Add a Custom Charge Attribute
Complete the following steps create a custom Charge Attribute in the Pricing Engine.
-
Navigate to Admin > Pricing Portal > Pricing Attributes.
-
Select Add form the Actions dop-down.
-
Select the Charge Pricing Entity option. Refer to Add a Custom Pricing Attribute for Header and Line attributes.
-
Enter a Name.
-
Enter the Variable Name.
-
Select the Data Type: Boolean, Currency, String, Decimal, Date, Integer, or Text Area.
-
Select a Lookup to associate a Pricing Lookup to a String type attribute, if applicable.
-
This field is only available for string data types.
-
Refer to Pricing Lookups for more information.
-
-
(optional) Select or enter a Default Value.
-
The default value cannot be specified for currency or text area data types.
-
Only True or False values can be selected for Boolean data types.
-
When a Lookup is selected, you can select a default value from values defined in Pricing Lookups.
-
-
The Visibility field identifies if the charge attribute is visible in other CPQ modules. This field is automatically populated. Visibility options can be deleted, but this field cannot be empty. You can click inside the Visibility field to reselect modules.
-
Administration: CPQ administrator UIs, for example, Pricing Portal, Product Workbench. Administration must be visible to display an attribute in Price Model > Pricing Data.
-
Runtime: Buy-side UIs, for example, quoting & configuration buy-side.
-
-
Check Required to make this field mandatory.
-
Check Negotiable to allow modification of this attribute at runtime.
-
(optional) Enter a Description.
-
Click Create.
-
-
Complete the following items to map a pricing attribute to a Commerce attribute.
-
Select Edit from the Actions drop-down.
-
Click Add.
-
Select the Data Source from the drop-down menu.
-
Select the appropriate attribute from the Source Attribute Name drop-down menu.
-
The Source Attribute Variable Name and Path will auto-populate.
-
To reorder mapping attributes, click in the Order field and enter the desired order number.
-
To delete an attribute mapping, click the ellipsis at the end of the line and select Delete.
-
-
Repeat 3b – 3d to add and map additional attributes.
-
-
Click Update or Save.
Enable Apply context-dependent data source in Pricing Attribute Mapping
Complete the following steps to enable Apply context-dependent data source in Pricing Attribute Mapping in the Pricing Engine.
Note: This setting is only applicable when a Pricing Attribute has attribute mappings to two or more different types of Data Sources (e.g. a Configuration model and a Commerce process).
-
Navigate to Admin > Pricing Portal > Pricing Options.
-
Click Edit.
-
Set the Apply context-dependent data source in Pricing Attribute Mapping in the Pricing Engine option to On.
-
Click Update.