We have an product with 4 variants each priced at $1.99 each.

When applying the order level discount for 50% off, the price for each item is calculated differently. Seems like rounding issue.

1.99 with 50% off should either be 0.99 or 1.00. But it shows 0.99 for some and 1.00 for some. It needs to be consistant.

Please see the screen shot below for more details.

https://www.screencast.com/t/zwiq2bqdGOn0

This is on Episerver 10.

It's is actually as designed. You have 4 item, $1.99 each so it's 7.96, discounted 50% => 3.98. If all of them were just 0.99 then it's only 3.96 => 0.02 were missing. Because for USD 0.995 is not allowed, so it has to be either 0.99 or 1. The promotion system has to distribute the discount so the total of lineitem would still match the total of the order.

Thank you Quan! We explained this to client, and so far they are okay with it.

Just for my future refference, do you think display 3 decimal digits instead of 2 should fix this. So that it is 0.995 for each of them.

We use the decimal places defined with the currencies. Since the currency USD is only two digits, we use two digits