You are here:
Create a Pricing Procedure for Promotion Evaluation and Execution
Create a pricing procedure to apply promotions to customer carts based on the evaluation method selected by marketing managers.
Required Editions
| Available in: Lightning Experience |
| Available in: Enterprise, Performance, Unlimited, and Developer Editions with Loyalty Management - Growth or Loyalty Management - Advanced |
| User Permissions Needed | |
|---|---|
| To create a pricing procedure | Salesforce Pricing Design Time permission set |
-
Create a pricing procedure.
- From App Launcher, find and select Pricing Procedures.
- Click New.
- Enter name as CartPromotionEvaluationAndExecution.
- Select Pricing as the usage type.
- For context definition, select CartDetailGetEligblePromotion.
- Save your changes.
- On the Details tab, in the Pricing Procedure Versions section, click the pricing procedure version that you want to work on.
- On the record page of your new pricing procedure, on the Versions tab, select Open in Pricing Procedure Builder from the quick actions.
- In the Pricing Procedure Properties tab, expand Advanced Details, and enter Rank as 1.
-
Drag the Pricing Setting element to the canvas and enter these values
- For the Line Item input variable, select cartLineItemId.
-
For the Currency input variable, select currencyISOCode.
This step is required only if you have multi-currency enabled in the org.
- For the Net Unit Price output variable, select cartLineNetUnitPrice_std.
- For the Subtotal output variable, select cartLineItemAmount.
-
Drag the Promotion Execution element to the canvas and enter these values
- Select the rule library you want to associate with the pricing procedure.
- For the Promotion Scope, select Line.
- For the Subtotal input variable, select cartLineItemAmount
- For the Quantity input variable, select cartLineItemQuantity
- For the Input Unit Price input variable, select cartLineNetUnitPrice_std
- For the Net Unit Price output variable, select cartLineNetUnitPrice_std
- For the Subtotal output variable, select cartLineItemAmount
-
Drag the Promotion Execution element to the canvas and enter these values
- Select the rule library you want to associate with the pricing procedure.
- For the Promotion Scope, select Crossline.
- For the Subtotal input variable, select cartLineItemAmount
- For the Quantity input variable, select cartLineItemQuantity
- For the Input Unit Price input variable, select cartLineNetUnitPrice_std
- For the Net Unit Price output variable, select cartLineNetUnitPrice_std
- For the Subtotal output variable, select cartLineItemAmount
-
Drag the Aggregate Price element to the canvas and enter these values
- For the Formula field, enter SUM (cartLineItemAmount).
- For the Output Variable field, select initialTransactionAmount_std.
-
Drag the Promotion Execution element to the canvas and enter these values
- Select the rule library you want to associate with the pricing procedure.
- For the Promotion Scope, select Order.
- For the Header Subtotal input variable, select initialTransactionAmount_std
- For the Header Id input variable, select cartHeaderId_std
- For the Header Subtotal output variable, select transactionAmount.
-
Drag the Formula Based Pricing element to the canvas and enter these values
- For Formula field in Formula Variables, enter initialTransactionAmount__std - transactionAmount.
- For Output Variable field in Formula Variables, select cartLevelDiscountValue_std.
-
Drag the Discount Distribution Service element to the canvas and enter these values
- For the Header Discount Type input variable, select DiscountType
- For the Header Discount Value input variable, select cartLevelDiscountValue_std
- For the Header Distribution Logic input variable, select DistributionLogic
- For the Header Distribution Type input variable, select DistributionType
- For the List Price input variable, select cartLineNetUnitPrice_std
- For the Quantity input variable, select cartLineItemQuantity
- For the Line Item input variable, select cartLineItemId
- For the Input Unit Price input variable, select cartLineNetUnitPrice_std
- For the Header Subtotal input variable, select initialTransactionAmount_std.
- For the Discount Value output variable, select cartLineDiscountFromCartDistribution_std.
- For the Distribution Type output variable, select DistributionType
- For the Discount Type output variable, select DiscountType.
- For the Net Unit Price output variable, select cartLineNetUnitPrice_std.
- For the Subtotal output variable, select cartLineItemAmount.
Did this article solve your issue?
Let us know so we can improve!

