SFIX managed package offers improvements for Salesforce Industries CPQ (Configure - Price - Quote)

Pricing Improvements

The package is extending configurability of Pricing Engine by leveraging the concepts of Pricing Plan Steps and Pricing Variables. On a high level the logic is really simple - use product designer or product console to:

  • add dedicated pricing plan step which performs expected operations,
  • provide relevant parameters for the step and pricing variables to store the result.

For all actions the implementation name will be the same: SfixWrapper just the method name will be different, relevant to the expected operation:

  • AttributeBasedPricing
  • AttributeBasedCardinality
  • PopulatePricingContext
  • CalculationMatrix
  • CalculationProcedure
  • PricingVariableCalculation
  • RollupPricingVariableCalculation

Each step might be used several times, in various sections of pricing plan, to build expected sequence of operations. It is important to put the step in a proper place, eg. steps which manipulate pricing variables should come after Initialize Pricing Variables. In following example there is a step called Save List Price which is saving calculated price in custom field before it is manually overriden. For that to work it must come just before Apply Charge Manual Adjustments and after all steps computing the price (from price list or ATB, discounts, adjustments and promotions):

Pricing Plan Example

However, Populate Pricing Context step is sequenced as first, to populate pricing context with custom fields as early as possible.