Currently we have a webshop where price information is coming in with high precision (5 digits). This is due to the fact that the source systems are calculating prices per 1000 units and we have to do some recalculations. We've already tested this and EPI seems to be able to handle this "almost" properly. However there are a few places where rounding takes place:
For both the OrderFormCalculator and ShippingCalculator we were able to intercept these and implement a custom calculation without rounding. This works like a charm. However the DiscountUpdater seems not be interceptable and causes that VAT is calculated on rounded product prices, which gives rounding differences at the end. Is there a way to intercept or change the behavior of the DiscountUpdater to not round the pricing in the intermediate calculations? In our system we only want to round the final price which needs to be payed by the customer.
Note: We're using the latest EPIServer Commerce and CMS version.
This is currently not possible, but we are working on the issue.
Thanks for your swift response. Looking forward for extension possibilities :)
Any updates on this? We have an issue due to the fact that the promotion engine rounds with too few decimals compared to all other price-logic in Epi which results in 1 cent diffs.
This in turn results in errors when a trying to process payments since the order rows doesn't match the order total.
Edit: I just saw Quan's blog post about changes coming in 2019 in Commerce v13 https://world.episerver.com/blogs/Quan-Mai/Dates/2018/12/planned-breaking-changes-for-commerce-in-2019/