Rounding in CPQ is a common topic as it leads to many headaches, particularly if you add complexity to the situation/calculation.

In general, let’s start with some use cases of why rounding can be problematic:

- Rounding rules: The rounding rules can impact how a number is rounded. For example, you can round up or down to the nearest whole number, or you can round up or down to the nearest specified decimal place.
- Precision: The precision of the numbers being rounded can impact how the rounding is done. For example, suppose the numbers being rounded have high precision. In that case, it can take more work to determine the appropriate rounding rule to apply.
- Data types: The data type of the values being rounded can also impact the difficulty of rounding. For example, suppose the values being rounded are stored as floating point numbers. In that case, it may be more challenging to round these values accurately due to floating point arithmetic limitations.
- Currency: The currency of the numbers being rounded can also impact how the rounding is done. Different currencies may have different rounding rules or conventions that need to be followed.
- Business requirements: The specific business requirements of an organization can also impact how rounding is done in Salesforce CPQ. For example, an organization may have specific rules or policies in place for how to handle rounding in different situations.

So with all of that in mind let’s add some specific CPQ variables that can add to this:

- Unit price scale – this is the scale you set in the backend of the package, which only changes what you see in the calculator, NOT what the actual calculation is doing.
- Salesforce’s only very complicated calculation logic that you can read about here: https://help.salesforce.com/s/articleView?id=000313862&type=1
- QCP and Price Rules – because many people inject pricing and use formulas to calculate the pricing, different rounding practices can be in play in both types and can lead to further headaches when stacked with the information previously listed

I have no direct solution for the rounding in Salesforce. However, suppose you see values are off and you are looking in the QLE. In that case, I recommend going to the Quote Line record directly and evaluating from there. The second recommendation would be to look at all of the possibilities of how the value is getting set and see if you have custom logic in place – if you do have logic, try to make sure that you are using consistent in how you are applying decimals and rounding.

I know rounding issues are annoying and can lead to rev rec issues down the road, so try and evaluate the above to see how best to approach it.

We’ve resolved issue using QCP and that’s the only way to fix rounding issue. Price rule may not work all the times. We apply penny adjustment to the highest price line item

I think salesforce CPQ should handle this as part of the package. They should have package setting and depending on what user select CPQ should adjustment penny to the highest or lowest prices discountable item.

LikeLike