Price Rounding

Vendor prices can have more than two digits after decimal point (almost always it is for consumption-based offers, but it is possible to provide such price for any offer). When any markup is applied even for a price with just 2 decimals, there is a possibility to get a value with more than one digit after point as a result. In a chain with multiple markups and applying currency exchange rates this possibility increases.

The platform always performs all internal calculations with no rounding. Rounding is applied just on the last step, where the price is shown to the customer/saved to invoice due to a more understandable user interface (UI) and limited space on the invoice itself. Rounding of digits in customer-facing UI and on invoices may lead to a situation when an invoice contains Total Price which is not equal to Quantity*Unit Price. This logic is exactly in the same way as in Microsoft calculations. 


Example 1

Vendor Price for an Offer is 0.7528. In UI user sees the following:

 Quantity   Unit Price (in UI)   Total Price (in UI)   Actual unit price in database   Formula to show total price on UI   Unit Price * Quantity 
1 0.75 0.75 0.7528  ROUND (1*0.7528, 2) = 0.75  0.75

When the user changes the quantity to 7:

 Quantity   Unit Price (in UI)   Total Price (in UI)   Actual unit price in database   Formula to show total price on UI   Unit Price * Quantity 
7 0.75 5.27 0.7528  ROUND (7*0.7528, 2) = 5.27  5.25

Total price (5.27) is different from just Unit Price * Quantity (5.25).

Example 2

Vendor Price is 3.69. Account manager buys 55 licenses for the customer and sets markup for the subscription = 3.472. So, unit price for the subscription is 3.69 * (1+ 3.472/100) = 3.8181168. Invoice has column Unit Price, and it should be in money format. So, for Unit Price in invoice rounding is applied, and this results to the next record:

 Charge Type   Quantity   Unit Price (in UI)   Total Price (in UI)   Formula behind Unit Price   Formula behind total price   Quantity * Unit Price 
 Purchase fee  55 3.82 210.00 ROUND (3.818117, 2)  ROUND (55*3.818117, 2)  55 * 3.82 = 210.10 

Total Price (210.00) is different from Unit Price * Quantity (210.10).

Was this article helpful?

0 out of 0 found this helpful

Articles in this section

Add comment

Please sign in to leave a comment.