if ($tax_array == null)
return $price;
- $tax_multiplier = 0;
+ $tax_multiplier = 0;
- // loop for all items
+ // loop for all taxes
foreach ($tax_array as $taxitem)
{
- $tax_multiplier += $taxitem["rate"];
+ $tax_multiplier += $taxitem["rate"];
}
-
- return round($price / (1 + ($tax_multiplier / 100)), 2*user_price_dec());
+
+ return round($price / (1 + ($tax_multiplier / 100)), user_price_dec());
}
//
// Full price (incl. VAT) for item $stock_id with line price $price,
$tax_multiplier += $taxitem["rate"];
}
- return round($price * (1 + ($tax_multiplier / 100)), 2*user_price_dec());
+ return round($price * (1 + ($tax_multiplier / 100)), user_price_dec());
}
//---------------------------------------------------------------------------------
else
$ret_tax_array = get_tax_group_items_as_array($tax_group);
- $dec = user_price_dec();
foreach($ret_tax_array as $k=>$t)
$ret_tax_array[$k]['Net'] = 0;
+ $dec = user_price_dec();
// loop for all items
for ($i = 0; $i < count($items); $i++)
{
{
foreach ($item_taxes as $item_tax)
{
- $index = $item_tax['tax_type_id'];
- if($tax_included==1) {// 2008-11-26 Joe Hunt Taxes are stored without roundings
- $nprice = get_tax_free_price_for_item($items[$i], $prices[$i], $tax_group, $tax_included);
- $ret_tax_array[$index]['Value'] += round2($nprice * $item_tax['rate'] / 100, $dec);
- $ret_tax_array[$index]['Net'] += $nprice;
- } else {
- $ret_tax_array[$index]['Value'] += round2($prices[$i] * $item_tax['rate'] / 100, $dec);
- $ret_tax_array[$index]['Net'] += $prices[$i];
+ if ($item_tax['rate'] !== null) {
+ $index = $item_tax['tax_type_id'];
+ if($tax_included==1) {// 2008-11-26 Joe Hunt Taxes are stored without roundings
+ $nprice = get_tax_free_price_for_item($items[$i], $prices[$i], $tax_group, $tax_included, null, $item_tax['tax_type_id']);
+ $ret_tax_array[$index]['Value'] += $nprice*$item_tax['rate']/100;
+ $ret_tax_array[$index]['Net'] += $nprice;
+ } else {
+ $ret_tax_array[$index]['Value'] += ($prices[$i] * $item_tax['rate'] / 100);
+ $ret_tax_array[$index]['Net'] += $prices[$i];
+ }
}
}
}
foreach ($item_taxes as $item_tax)
{
$index = $item_tax['tax_type_id'];
- if(isset($ret_tax_array[$index])) {
- if($tax_included==1) {// 2008-11-26 Joe Hunt Taxes are stored without roundings
- $ret_tax_array[$index]['Value'] += round2($shipping_net * $item_tax['rate'] / 100, $dec);
- $ret_tax_array[$index]['Net'] += $shipping_net;
- } else {
- $ret_tax_array[$index]['Value'] += round2($shipping_cost * $item_tax['rate'] / 100, $dec);
- $ret_tax_array[$index]['Net'] += $shipping_cost;
- }
+ if ($item_tax['rate'] !== null && $ret_tax_array[$index]['rate'] !== null) {
+ if($tax_included==1) {// 2008-11-26 Joe Hunt Taxes are stored without roundings
+ $ret_tax_array[$index]['Value'] += ($shipping_net * $item_tax['rate'] / 100);
+ $ret_tax_array[$index]['Net'] += $shipping_net;
+ } else {
+ $ret_tax_array[$index]['Value'] += ($shipping_cost * $item_tax['rate'] / 100);
+ $ret_tax_array[$index]['Net'] += $shipping_cost;
+ }
}
}
}