Price Override
Info
This feature was designed to be super fast by running only the required logic of pricing engine.
Skip heavy pricing
Manual price override is creating pricing adjustment, exactly as out-of-the-box implementation does. The difference is, that pricing engine it not ran after. Instead, one can configure selectively which pricing plan steps should be executed. SFIX will create regular pricing context and run those step as out-of-the-box pricing engine would do. This allows to run any custom logic and maintain consistency.
Implementation Logic
sfix_ApplyAdjustment Integration Procedure:

Running pricing plan steps after override
You can configure SFIX to run pricing plan steps after applying an override, eg. to do some pricing variable calculations. Create CPQ Adjustment Pricing Step custom metadata entry, eg.:
- Label: Store MonthlyUnitPrice
- CPQ Adjustments Pricing Step Name: Store_MonthlyUnitPrice
- Sequence: 61.30
- Class Name: PricingPlanStep
- Method Name: PricingVariableCalculation
- Parameters: {“MNTH_UNIT_PRC”:”IF(vlocity_cmt__RecurringCharge__c==null, MNTH_UNIT_PRC, REC_MNTH_STD_PRC)”}
- Is Active: checked

Note: For all out-of-the-box SFIX pricing logic specify
PricingPlanStepas class name.
Complex pricing scenarios
When overriden values are further modified in subsequent pricing plan step, you might need to re-set values before running adjustment logic.
- Define pricing variables to keep adjusted values and bind them to fields:
OT_STD_PRC–>OneTimeAdjustedCharge__cREC_MNTH_ADJSTD_PRC–>RecurringAdjustedCharge__c
- Define pricing plan step to save adjusted values:
- Name: Store Adjusted OTC & MRC
- Class Name: PricingPlanStep
- Sequence: 61 (right after OOTB step: Apply Charge Manual Adjustments)
- Method Name: PricingVariableCalculation
- Parameters:
{"OT_ADJSTD_PRC":"OT_STD_PRC", "REC_MNTH_ADJSTD_PRC":"REC_MNTH_STD_PRC"} - Is Active: checked
- Modify integration procedure
sfix_applyAdjustmentto provide additional parameter:pricingVariableMapping={"OT_STD_PRC":"OneTimeAdjustedCharge__c", "REC_MNTH_STD_PRC":"RecurringAdjustedCharge__c"}
Additional fields
When you need some additional fields fetched or returned add fields parameter with comma-separated list of fields to select