[
https://issues.apache.org/jira/browse/OFBIZ-6436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14568023#comment-14568023 ]
Scott Gray commented on OFBIZ-6436:
-----------------------------------
Order rounding and unit price rounding are not the same thing, please do not apply this patch.
Typically order amounts are rounded as late as possible in order to gain the most accurate order total possible. I'm not sure why the invoice items are calculating to 2dp, they should be going to 3dp the same as order items and then being rounded for the invoice total only. This strategy increases the accuracy of invoice amounts when an order is broken into multiple invoices.
> Different price Order vs. Invoice due rounding
> ----------------------------------------------
>
> Key: OFBIZ-6436
> URL:
https://issues.apache.org/jira/browse/OFBIZ-6436> Project: OFBiz
> Issue Type: Improvement
> Affects Versions: Release Branch 13.07, Release Branch 14.12, Trunk
> Reporter: Ingo Wolfmayr
> Assignee: Michael Brohl
> Attachments: priceservices.patch
>
>
> When creating an order with the following data, invoice and order calculates different prices due to different rounding strategies:
> Example:
> Net price: 8,70
> Price Rule: 2 %
> Calc price: 8,526
> Order quantity: 2
> Rounding order: 2 dec
> Rounding invoice: 2 dec
> Both: ROUND_HALF_UP
> Calculation for order price:
> 8,526 * 2 = 17,052 --> Rouning = 17,05 (rounding takes place after multipying with the order quantity )
> Calculation for invoice price:
> 8,53 * 2 = 17,06 (rounding takes place before multipying with the order quantity)
> Rounding takes place on different places and leads to (from my understanding) misscalculation.
> I create a patch that applies rounding on PriceCalculation level. Therefore:
> 1) get singe unit price and do all calculations on it (Price rules ...)
> 2) before forwarding the price, apply rounding (ORDER SETTINGS) on single unit price
> As the invoice calculation uses the unit price (if invoice is associate with order) from ORDER_ITEM it will calculate with the already rounded value.
> Result: Order Price = Invoice Price
> I would appreciate any thought on it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)