Price Calculation in Salesforce CPQ can be configured in so many ways! And that is great, because the product can fit into many requirements. However, due to the flexibility demanded, the whole calculation sequence is quite a complex series of operations.
High level, there are 5 key groups of actions happening during the calculation in the CPQ:
- Loading and initialisation
- Calculation Round 1
- Calculation Round 2
- Calculation Round 3
- Final Evaluations
Within each groups there are important things happening, like Price Rules running on specific events, formula fields evaluating, Quote Calculator Plugin methods running, using discount schedules data, etc. It all has a very, very specific order of execution, which you must be aware of when building Salesforce CPQ pricing logic.
The Salesforce CPQ documentation of this Pricing Waterfall is really good. You should go ahead and open this link and analyse it in details.