From 5ac511e332a157799a38f2f7f00e99fabbf64b02 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Wed, 26 Mar 2008 11:05:00 +0000 Subject: [PATCH] Some bug fixes in suppliers module related to tax structure changes --- purchasing/includes/db/invoice_db.inc | 7 ++++--- purchasing/includes/db/invoice_items_db.inc | 2 +- purchasing/includes/supp_trans_class.inc | 12 +++++++----- purchasing/includes/ui/invoice_ui.inc | 11 ++--------- reporting/rep105.php | 2 +- 5 files changed, 15 insertions(+), 19 deletions(-) diff --git a/purchasing/includes/db/invoice_db.inc b/purchasing/includes/db/invoice_db.inc index 29640d4b..6b97d52d 100644 --- a/purchasing/includes/db/invoice_db.inc +++ b/purchasing/includes/db/invoice_db.inc @@ -75,6 +75,7 @@ function add_supp_invoice($supp_trans) // do not receive as ref because we chang $tax_total = 0; $taxes = $supp_trans->get_taxes($supp_trans->tax_group_id); + foreach ($taxes as $taxitem) { $tax_total += $taxitem['Value']; @@ -145,7 +146,7 @@ function add_supp_invoice($supp_trans) // do not receive as ref because we chang } $line_taxfree = $entered_grn->taxfree_charge_price($supp_trans->tax_group_id); - $line_tax = $entered_grn->full_charge_price() - $line_taxfree; + $line_tax = $entered_grn->full_charge_price($supp_trans->tax_group_id) - $line_taxfree; update_supp_received_items_for_invoice($entered_grn->id, $entered_grn->po_detail_item, $entered_grn->this_quantity_inv, $entered_grn->chg_price); @@ -190,9 +191,9 @@ function add_supp_invoice($supp_trans) // do not receive as ref because we chang if (!$supp_trans->is_invoice) $taxitem['Value'] = -$taxitem['Value']; - + // here we suppose that tax is never included in price (we are company customer). add_supp_invoice_tax_item($trans_type, $invoice_id, $taxitem['tax_type_id'], - $taxitem['rate'], $taxitem['included_in_price'], $taxitem['Value']); + $taxitem['rate'], 0, $taxitem['Value']); add_gl_trans_supplier($trans_type, $invoice_id, $date_, $taxitem['purchasing_gl_code'], 0, 0, $taxitem['Value'], diff --git a/purchasing/includes/db/invoice_items_db.inc b/purchasing/includes/db/invoice_items_db.inc index 78849f7b..18ff4aa9 100644 --- a/purchasing/includes/db/invoice_items_db.inc +++ b/purchasing/includes/db/invoice_items_db.inc @@ -32,7 +32,7 @@ function add_supp_invoice_gl_item($supp_trans_type, $supp_trans_no, $gl_code, $a function get_supp_invoice_items($supp_trans_type, $supp_trans_no) { - $sql = "SELECT *,unit_price+unit_tax AS FullUnitPrice FROM ".TB_PREF."supp_invoice_items + $sql = "SELECT *, unit_price AS FullUnitPrice FROM ".TB_PREF."supp_invoice_items WHERE supp_trans_type = $supp_trans_type AND supp_trans_no = $supp_trans_no ORDER BY id"; return db_query($sql, "Cannot retreive supplier transaction detail records"); diff --git a/purchasing/includes/supp_trans_class.inc b/purchasing/includes/supp_trans_class.inc index d6e06714..6bffc185 100644 --- a/purchasing/includes/supp_trans_class.inc +++ b/purchasing/includes/supp_trans_class.inc @@ -167,16 +167,18 @@ all the info to do the necessary entries without looking up ie additional querie $this->gl_code = $gl_code; } - function full_charge_price() + function full_charge_price($tax_group_id, $tax_group=null) { - return $this->chg_price; + return get_full_price_for_item($this->item_code, + $this->chg_price, $tax_group_id, 0, $tax_group); } function taxfree_charge_price($tax_group_id, $tax_group=null) { - if ($tax_group_id==null) - return $this->chg_price; - return get_tax_free_price_for_item($this->item_code, $this->chg_price, $tax_group_id, $tax_group); +// if ($tax_group_id==null) +// return $this->chg_price; + return get_tax_free_price_for_item($this->item_code, $this->chg_price, + $tax_group_id, 0, $tax_group); } } diff --git a/purchasing/includes/ui/invoice_ui.inc b/purchasing/includes/ui/invoice_ui.inc index a7893386..7af53f0c 100644 --- a/purchasing/includes/ui/invoice_ui.inc +++ b/purchasing/includes/ui/invoice_ui.inc @@ -10,7 +10,6 @@ function copy_from_trans(&$supp_trans) $_POST['supp_reference'] = $supp_trans->supp_reference; $_POST['reference'] = $supp_trans->reference; $_POST['supplier_id'] = $supp_trans->supplier_id; - $_POST['tax_group_id'] = $supp_trans->tax_group_id; } //-------------------------------------------------------------------------------------------------- @@ -22,8 +21,6 @@ function copy_to_trans(&$supp_trans) $supp_trans->due_date = $_POST['due_date']; $supp_trans->supp_reference = $_POST['supp_reference']; $supp_trans->reference = $_POST['reference']; - $supp_trans->tax_group_id = $_POST['tax_group_id']; - $supp_trans->ov_amount = 0; /* for starters */ if (count($supp_trans->grn_items) > 0) @@ -107,11 +104,7 @@ function invoice_header(&$supp_trans) exchange_rate_display($supplier_currency, $company_currency, $_POST['tran_date']); } - - if (!isset($_POST['tax_group_id'])) - $_POST['tax_group_id'] = $supp_trans->tax_group_id; - tax_groups_list_row(_("Tax Group:"), 'tax_group_id', $_POST['tax_group_id'], true); - + label_row(_("Tax Group:"), $supp_trans->tax_description); echo ""; echo ""; @@ -130,7 +123,7 @@ function invoice_totals(&$supp_trans) start_table("$table_style width=95%"); label_row(_("Sub-total:"), price_format( $supp_trans->ov_amount), "align=right", "align=right"); - $taxes = $supp_trans->get_taxes($_POST['tax_group_id']); + $taxes = $supp_trans->get_taxes($supp_trans->tax_group_id); $tax_total = display_edit_tax_items($taxes, 1, 0); // tax_included==0 (we are the company) $display_total = price_format($supp_trans->ov_amount + $tax_total); diff --git a/reporting/rep105.php b/reporting/rep105.php index a5e0ef3c..1d3f66b3 100644 --- a/reporting/rep105.php +++ b/reporting/rep105.php @@ -147,7 +147,7 @@ function print_order_status_list() $rep->TextCol(0, 1, $myrow['stk_code']); $rep->TextCol(1, 2, $myrow['description']); $rep->TextCol(2, 3, number_format2($myrow['quantity'], $dec)); - $rep->TextCol(3, 4, number_format2($myrow['qty_invoiced'], $dec)); + $rep->TextCol(3, 4, number_format2($myrow['qty_sent'], $dec)); $rep->TextCol(4, 5, number_format2($myrow['quantity'] - $myrow['qty_sent'], $dec)); if ($myrow['quantity'] - $myrow['qty_sent'] > 0) { -- 2.30.2