Fixed shipping tax calculation for tax exempt customer.
authorJanusz Dobrowolski <janusz@frontaccouting.eu>
Wed, 13 Apr 2011 09:10:44 +0000 (11:10 +0200)
committerJanusz Dobrowolski <janusz@frontaccouting.eu>
Wed, 13 Apr 2011 09:10:44 +0000 (11:10 +0200)
taxes/tax_calc.inc

index 7d124d7dbf5a0712d4b18095a8fbdc824674a958..f094169589467f0846cf5500c433fbc7c6f8bf96 100644 (file)
@@ -193,21 +193,19 @@ function get_tax_for_items($items, $prices, $shipping_cost, $tax_group, $tax_inc
                        }
                        foreach ($item_taxes as $item_tax) 
                        {
-                               if ($item_tax['rate'] !== null) {
-                                       $index = $item_tax['tax_type_id'];
-                                       $rate = isset($ret_tax_array[$index]['rate']) ? $item_tax['rate'] : 0; // use customer tax group on shipment 
+                               $index = $item_tax['tax_type_id'];
+                               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 * $rate / 100);
-                                       $ret_tax_array[$index]['Net'] += $shipping_net;
+                                               $ret_tax_array[$index]['Value'] += ($shipping_net * $item_tax['rate'] / 100, $dec);
+                                           $ret_tax_array[$index]['Net'] += $shipping_net;
                                          } else {
-                                               $ret_tax_array[$index]['Value'] += ($shipping_cost * $rate / 100);
-                                       $ret_tax_array[$index]['Net'] += $shipping_cost;
+                                               $ret_tax_array[$index]['Value'] += ($shipping_cost * $item_tax['rate'] / 100, $dec);
+                                           $ret_tax_array[$index]['Net'] += $shipping_cost;
                                          }
                                }
                        }
                }
        }
-       
        //print_r($ret_tax_array);
 
        return $ret_tax_array;