From 4aec05b71ea07b3807920861d90bb00183310a25 Mon Sep 17 00:00:00 2001 From: Pieter Cappelle Date: Fri, 20 Oct 2017 20:31:37 +0200 Subject: [PATCH] Fix issue 10347 --- app/code/Magento/Tax/Model/Plugin/OrderSave.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/code/Magento/Tax/Model/Plugin/OrderSave.php b/app/code/Magento/Tax/Model/Plugin/OrderSave.php index 720328524868..c7bef8b69a41 100644 --- a/app/code/Magento/Tax/Model/Plugin/OrderSave.php +++ b/app/code/Magento/Tax/Model/Plugin/OrderSave.php @@ -97,8 +97,12 @@ protected function saveOrderTax(\Magento\Sales\Api\Data\OrderInterface $order) } else { $percentSum = 0; foreach ($taxRates as $rate) { - $realAmount = $rates['amount'] * $rate['percent'] / $rates['percent']; - $realBaseAmount = $rates['base_amount'] * $rate['percent'] / $rates['percent']; + $percentSum += $rate['percent']; + } + + foreach ($taxRates as $rate) { + $realAmount = $rates['amount'] * $rate['percent'] / $percentSum; + $realBaseAmount = $rates['base_amount'] * $rate['percent'] / $percentSum; $ratesIdQuoteItemId[$rates['id']][] = [ 'id' => $taxesArray['item_id'], 'percent' => $rate['percent'], @@ -110,7 +114,6 @@ protected function saveOrderTax(\Magento\Sales\Api\Data\OrderInterface $order) 'real_amount' => $realAmount, 'real_base_amount' => $realBaseAmount, ]; - $percentSum += $rate['percent']; } } }