Price rounding: Make sum_by_net_keep_gross even more consumer-friendly (Z#23220106)

The rounding mode sum_by_net_keep_gross is supposed to be the
consumer-friendly algorithm. However, some consumer-friendly prices are still
impossible, such as 15.00 incl. 19%.  Previously, the system would round
to 15.01, because it's the gross price derived from the closest net
price. With this PR, it rounds to 14.99 instead, because consumers like
paying less more than they like paying more.
This commit is contained in:
Raphael Michel
2026-01-08 10:12:34 +01:00
parent 62bc16f963
commit 5818d6d66f
4 changed files with 45 additions and 13 deletions

View File

@@ -286,6 +286,11 @@ gross prices stay the same.
**This is less confusing to consumers and the end result is still compliant to EN 16931, so we recommend this for e-invoicing when (primarily) consumers are involved.**
Some gross prices **cannot** stay the same. For example, it is impossible to represent €15.00 incl. 19%, since a net
price of €12.60 would lead to €14.99 gross and a net price of €12.61 would lead to €15.01 gross. Since this algorithm
is supposed to be consumer-friendly, it has a bias for choosing €14.99 in this case, even if €15.01 would be a little
less of a difference.
The main downside is that it might be confusing when selling to business customers, since the prices of the identical tickets appear to be different.
Full computation for the example above: