From a8ffbd40e76eb590d7253bd8a0d3938945d5b358 Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Tue, 18 Aug 2009 11:20:41 +0000 Subject: [PATCH] When using Quick Entries in Supplier Invoices/credit notes the tax sum now shows correctly --- CHANGELOG.txt | 6 ++++++ purchasing/includes/db/invoice_db.inc | 1 + purchasing/includes/supp_trans_class.inc | 26 +++++++++++++++++++----- purchasing/includes/ui/invoice_ui.inc | 9 +++++--- 4 files changed, 34 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 627d78a..845bc5e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -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. diff --git a/purchasing/includes/db/invoice_db.inc b/purchasing/includes/db/invoice_db.inc index adc6245..a9636b3 100644 --- a/purchasing/includes/db/invoice_db.inc +++ b/purchasing/includes/db/invoice_db.inc @@ -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) diff --git a/purchasing/includes/supp_trans_class.inc b/purchasing/includes/supp_trans_class.inc index 74d95dc..98bd4fc 100644 --- a/purchasing/includes/supp_trans_class.inc +++ b/purchasing/includes/supp_trans_class.inc @@ -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; } diff --git a/purchasing/includes/ui/invoice_ui.inc b/purchasing/includes/ui/invoice_ui.inc index 14ff76e..0fdf7f7 100644 --- a/purchasing/includes/ui/invoice_ui.inc +++ b/purchasing/includes/ui/invoice_ui.inc @@ -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) -- 2.30.2