mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-04-23 08:21:37 -04:00
Merge pull request #3107 from opensourcepos/fix_discounted_sales_rounding
Fix discounted price rounding issues in reports reported in #2995
This commit is contained in:
@@ -1270,6 +1270,10 @@ class Sale_lib
|
||||
{
|
||||
$discount = bcmul($total, bcdiv($discount, 100));
|
||||
}
|
||||
else
|
||||
{
|
||||
$discount = bcmul($quantity, $discount);
|
||||
}
|
||||
|
||||
return round($discount, totals_decimals(), PHP_ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
@@ -29,7 +29,9 @@ class Sale extends CI_Model
|
||||
|
||||
$decimals = totals_decimals();
|
||||
|
||||
$sale_price = 'CASE WHEN sales_items.discount_type = ' . PERCENT . ' THEN sales_items.item_unit_price * sales_items.quantity_purchased * (1 - sales_items.discount / 100) ELSE sales_items.item_unit_price * sales_items.quantity_purchased - sales_items.discount END';
|
||||
$sale_price = 'CASE WHEN sales_items.discount_type = ' . PERCENT
|
||||
. " THEN ROUND(sales_items.quantity_purchased * (sales_items.item_unit_price - sales_items.item_unit_price * sales_items.discount / 100), $decimals) "
|
||||
. 'ELSE sales_items.quantity_purchased * (sales_items.item_unit_price - sales_items.discount) END';
|
||||
|
||||
$sales_tax = "ROUND(IFNULL(SUM(sales_items_taxes.sales_tax), 0), $decimals)";
|
||||
$internal_tax = "ROUND(IFNULL(SUM(sales_items_taxes.internal_tax), 0), $decimals)";
|
||||
@@ -153,7 +155,10 @@ class Sale extends CI_Model
|
||||
|
||||
$decimals = totals_decimals();
|
||||
|
||||
$sale_price = 'CASE WHEN sales_items.discount_type = ' . PERCENT . ' THEN sales_items.item_unit_price * sales_items.quantity_purchased * (1 - sales_items.discount / 100) ELSE sales_items.item_unit_price * sales_items.quantity_purchased - sales_items.discount END';
|
||||
$sale_price = 'CASE WHEN sales_items.discount_type = ' . PERCENT
|
||||
. " THEN ROUND(sales_items.quantity_purchased * (sales_items.item_unit_price - sales_items.item_unit_price * sales_items.discount / 100), $decimals) "
|
||||
. 'ELSE sales_items.quantity_purchased * (sales_items.item_unit_price - sales_items.discount) END';
|
||||
|
||||
$sale_cost = 'SUM(sales_items.item_cost_price * sales_items.quantity_purchased)';
|
||||
|
||||
$tax = 'IFNULL(SUM(sales_items_taxes.tax), 0)';
|
||||
@@ -1133,7 +1138,10 @@ class Sale extends CI_Model
|
||||
|
||||
$decimals = totals_decimals();
|
||||
|
||||
$sale_price = 'CASE WHEN sales_items.discount_type = ' . PERCENT . ' THEN sales_items.item_unit_price * sales_items.quantity_purchased * (1 - sales_items.discount / 100) ELSE sales_items.item_unit_price * sales_items.quantity_purchased - sales_items.discount END';
|
||||
$sale_price = 'CASE WHEN sales_items.discount_type = ' . PERCENT
|
||||
. " THEN ROUND(sales_items.quantity_purchased * (sales_items.item_unit_price - sales_items.item_unit_price * sales_items.discount / 100), $decimals) "
|
||||
. 'ELSE sales_items.quantity_purchased * (sales_items.item_unit_price - sales_items.discount) END';
|
||||
|
||||
$sale_cost = 'SUM(sales_items.item_cost_price * sales_items.quantity_purchased)';
|
||||
|
||||
$tax = 'IFNULL(SUM(sales_items_taxes.tax), 0)';
|
||||
|
||||
@@ -23,7 +23,10 @@ abstract class Summary_report extends Report
|
||||
|
||||
$decimals = totals_decimals();
|
||||
|
||||
$sale_price = 'CASE WHEN sales_items.discount_type = ' . PERCENT . ' THEN sales_items.item_unit_price * sales_items.quantity_purchased * (1 - sales_items.discount / 100) ELSE sales_items.item_unit_price * sales_items.quantity_purchased - sales_items.discount END';
|
||||
$sale_price = 'CASE WHEN sales_items.discount_type = ' . PERCENT
|
||||
. " THEN ROUND(sales_items.quantity_purchased * (sales_items.item_unit_price - sales_items.item_unit_price * sales_items.discount / 100), $decimals) "
|
||||
. 'ELSE sales_items.quantity_purchased * (sales_items.item_unit_price - sales_items.discount) END';
|
||||
|
||||
$sale_cost = 'SUM(sales_items.item_cost_price * sales_items.quantity_purchased)';
|
||||
$tax = 'IFNULL(SUM(sales_items_taxes.tax), 0)';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user