Index: modules/in-commerce/units/orders/order_calculator.php =================================================================== --- modules/in-commerce/units/orders/order_calculator.php +++ modules/in-commerce/units/orders/order_calculator.php @@ -672,11 +672,11 @@ ); $sql = 'SELECT - CASE d.Type + ROUND(CASE d.Type WHEN ' . DiscountType::FLAT . ' THEN ' . $price . ' - d.Amount WHEN ' . DiscountType::PERCENT . ' THEN ' . $price . ' * (1 - d.Amount / 100) ELSE ' . $price . ' - END, d.DiscountId + END, 4), d.DiscountId FROM ' . TABLE_PREFIX . 'Products AS p LEFT JOIN ' . TABLE_PREFIX . 'ProductsDiscountItems AS di ON (di.ItemResourceId = p.ResourceId) OR (di.ItemType = ' . DiscountItemType::WHOLE_ORDER . ') LEFT JOIN ' . TABLE_PREFIX . 'ProductsDiscounts AS d ON (' . implode(') AND (', $join_clause) . ') @@ -740,11 +740,11 @@ $sql = 'SELECT MIN( - CASE c.Type + ROUND(CASE c.Type WHEN ' . CouponType::FLAT . ' THEN ' . $price . ' - c.Amount WHEN ' . CouponType::PERCENT . ' THEN ' . $price . ' * (1 - c.Amount / 100) ELSE ' . $price . ' - END + END, 4) ) FROM ' . TABLE_PREFIX . 'Products AS p LEFT JOIN ' . TABLE_PREFIX . 'ProductsCouponItems AS ci ON (ci.ItemResourceId = p.ResourceId) OR (ci.ItemType = ' . CouponItemType::WHOLE_ORDER . ')