Quick Entries uses Tax Groups instead of Item Tax Types for calculating taxes (Please...
[fa-stable.git] / includes / ui / ui_view.inc
index df4a2bddbb98fe668cf63f1fe6fa19fc3995dbcf..d9a33af98cedd1cc61b6107f5116aab659e4a763 100644 (file)
@@ -596,15 +596,22 @@ function display_quick_entries(&$cart, $id, $base, $type, $descr='')
                                case "t": // post taxes calculated on base amount
                                case "t+": // ditto & increase base amount
                                case "t-": // ditto & reduce base amount
-                                       $taxes = get_taxes_for_item_tax($qe_line['dest_id']);
+                                       //$taxes = get_taxes_for_item_tax($qe_line['dest_id']);
+                                       $taxes = array();
+                                       $res = get_tax_group_items($qe_line['dest_id']);
+                                       while ($row = db_fetch($res))
+                                               $taxes[] = $row;
                                        $tax_total = 0;
+                                       $totrate = 0;
+                                       // find total tax 
+                                       if (substr($qe_line['action'],0,1) != 'T') {
+                                               foreach ($taxes as $index => $item_tax) {
+                                                       $totrate += $item_tax['rate'];
+                                               }
+                                       }
+                                       $taxbase = $base/($totrate+100);
                                        foreach ($taxes as $index => $item_tax) {
-                                               if(substr($qe_line['action'],0,1) != 'T')
-                                                       $tax = round2($base * $item_tax['rate'] 
-                                                               / ($item_tax['rate'] + 100),  user_price_dec());
-                                               else
-                                                       $tax = round2($base * $item_tax['rate'] / 100,  user_price_dec());
-
+                                               $tax = round2($taxbase * $item_tax['rate'],  user_price_dec());
                                                $gl_code = ($type == QE_DEPOSIT || ($type == QE_JOURNAL && $base < 0)) 
                                                        ? $item_tax['sales_gl_code'] : $item_tax['purchasing_gl_code'];
                                                $tax_total += $tax;