When using Quick Entries in Supplier Invoices/credit notes the tax sum now shows...
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Tue, 18 Aug 2009 11:20:41 +0000 (11:20 +0000)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Tue, 18 Aug 2009 11:20:41 +0000 (11:20 +0000)
CHANGELOG.txt
purchasing/includes/db/invoice_db.inc
purchasing/includes/supp_trans_class.inc
purchasing/includes/ui/invoice_ui.inc

index 627d78ac22647c7e3d5f9e56d742de6913578170..845bc5e1af8a8b67f08d58d250566cc93bff1cd9 100644 (file)
@@ -19,6 +19,12 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+18-Aug-2009 Joe Hunt
+! When using Quick Entries in Supplier Invoices/credit notes the tax sum now shows correctly.
+$ /purchasing/includes/db/invoice_db.inc
+  /purchasing/includes/ui/invoice_ui.inc
+  /purchasing/includes/supp_trans_class.inc
+  
 18-Aug-2009 Joe Hunt
 ! Quick Entries uses Tax Groups instead of Item Tax Types for calculating taxes (Please change the item lines for tax).
   Quick Entry Lines of type Supplier Invoice. When using, the Supplier Tax Group Id overrides the The Tax Group set on the line.
index adc6245dc3305ca8e5e4e6ce08063351e555c9d1..a9636b33dcbb61c41a78829c0ac9dc776dcb24a4 100644 (file)
@@ -262,6 +262,7 @@ function add_supp_invoice($supp_trans, $invoice_no=0) // do not receive as ref b
                        $entered_grn->this_quantity_inv, $entered_grn->id, $entered_grn->po_detail_item, "");
     } /* end of GRN postings */
     /* Now the TAX account */
+    $taxes = $supp_trans->get_taxes($supp_trans->tax_group_id, 0, false); // 2009.08-18 Joe Hunt. We have already got the gl lines
     foreach ($taxes as $taxitem)
     {
        if ($taxitem['Net'] != 0)
index 74d95dc77b7c8ab132c62c7dc15e6f458931f88a..98bd4fcdc88f10868b74141fd6b216791cca9952 100644 (file)
@@ -90,7 +90,7 @@ class supp_trans
                $this->gl_codes = array();              
        }
        
-    function get_taxes($tax_group_id=null, $shipping_cost=0)
+    function get_taxes($tax_group_id=null, $shipping_cost=0, $gl_codes=true)
     {
        $items = array();
        $prices = array();
@@ -107,12 +107,26 @@ class supp_trans
                $prices[] =round( ($ln_itm->this_quantity_inv * $ln_itm->taxfree_charge_price($tax_group_id, $tax_group)),
                         user_price_dec());
         }
-        
+
         if ($tax_group_id == null)
                $tax_group_id = $this->tax_group_id;            
         
         $taxes = get_tax_for_items($items, $prices, $shipping_cost, $tax_group_id);
-        
+
+///////////////// Joe Hunt 2009.08.18
+
+               if ($gl_codes)
+               {
+                       foreach ($this->gl_codes as $gl_code)
+                       {
+                               $index = is_tax_account($gl_code->gl_code);
+                               if ($index !== false)
+                               {
+                                       $taxes[$index]['Value'] += $gl_code->amount;
+                               }       
+                       }
+               }       
+////////////////               
         return $taxes;
     }          
     
@@ -131,8 +145,10 @@ class supp_trans
                         user_price_dec());
 
                foreach ($this->gl_codes as $gl_line)
-                       $total += $gl_line->amount;
-                       
+               {       //////// 2009-08-18 Joe Hunt
+                       if (!is_tax_account($gl_line->gl_code))
+                               $total += $gl_line->amount;
+               }       
                return $total;
     }
 
index 14ff76e2f2d8f3b2777e7a76785043d1b99cecc0..0fdf7f71e43698ac161643381e68508e17584855 100644 (file)
@@ -44,7 +44,9 @@ function copy_to_trans(&$supp_trans)
        {
                foreach ( $supp_trans->gl_codes as $gl_line)
                {
-                       $supp_trans->ov_amount += $gl_line->amount;
+                       ////////// 2009-08-18 Joe Hunt
+                       if (!is_tax_account($gl_line->gl_code))
+                               $supp_trans->ov_amount += $gl_line->amount;
                }
        }
 }
@@ -288,8 +290,9 @@ function display_gl_items(&$supp_trans, $mode=0)
                                label_cell("");
                        }       
                        end_row();
-
-                       $total_gl_value += $entered_gl_code->amount;
+                       /////////// 2009-08-18 Joe Hunt
+                       if ($mode > 1 && !is_tax_account($entered_gl_code->gl_code))
+                               $total_gl_value += $entered_gl_code->amount;
 
                        $i++;
                        if ($i > 15)