From 88231b75937436aedadf2a751893e887307aa419 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Wed, 13 Apr 2011 00:47:37 +0200 Subject: [PATCH] Additional fixes in tax display/reporting --- includes/ui/ui_view.inc | 8 +++++++- sales/includes/cart_class.inc | 2 +- sales/sales_order_entry.php | 12 ++++++------ taxes/tax_calc.inc | 18 ++++++++---------- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/includes/ui/ui_view.inc b/includes/ui/ui_view.inc index 199f44fd..0fa04330 100644 --- a/includes/ui/ui_view.inc +++ b/includes/ui/ui_view.inc @@ -391,6 +391,9 @@ function display_customer_trans_tax_details($tax_items, $columns) $first = true; while ($tax_item = db_fetch($tax_items)) { + if (!$tax_item['amount']) + continue; + $tax = number_format2($tax_item['amount'],user_price_dec()); if (isset($suppress_tax_rates) && $suppress_tax_rates == 1) $tax_type_name = $tax_item['tax_type_name']; @@ -421,6 +424,9 @@ function display_supp_trans_tax_details($tax_items, $columns) { while ($tax_item = db_fetch($tax_items)) { + if (!$tax_item['amount']) + continue; + $tax = number_format2(abs($tax_item['amount']),user_price_dec()); if ($tax_item['included_in_price']) label_row(_("Included") . " " . $tax_item['tax_type_name'] . " (" . $tax_item['rate'] . "%) " @@ -439,7 +445,7 @@ function display_edit_tax_items($taxes, $columns, $tax_included, $leftspan=0) foreach ($taxes as $taxitem) { - if (isset($taxitem['rate'])) { + if ($taxitem['Value'] != 0) { if ($tax_included) { label_row(_("Included") . " " . $taxitem['tax_type_name'] diff --git a/sales/includes/cart_class.inc b/sales/includes/cart_class.inc index f476088e..79a90ad7 100644 --- a/sales/includes/cart_class.inc +++ b/sales/includes/cart_class.inc @@ -485,7 +485,7 @@ class cart if ($tax_items != null) { foreach ($tax_items as $item_tax) { $index = $item_tax['tax_type_id']; - if (isset($this->tax_group_array[$index])) { + if (isset($this->tax_group_array[$index]['rate'])) { $tax_rate += $item_tax['rate']; } } diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index 52cfbd9d..4d86b18d 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -248,7 +248,6 @@ function copy_to_cart() if ($newpayment) { $cart->due_date = $cart->document_date; $cart->phone = $cart->cust_ref = $cart->delivery_address = ''; - $cart->freight_cost = input_num('freight_cost'); $cart->ship_via = 1; $cart->deliver_to = ''; $cart->Location = $cart->pos['pos_location']; @@ -257,13 +256,13 @@ function copy_to_cart() } else { $cart->due_date = $_POST['delivery_date']; $cart->cust_ref = $_POST['cust_ref']; - $cart->freight_cost = input_num('freight_cost'); $cart->deliver_to = $_POST['deliver_to']; $cart->delivery_address = $_POST['delivery_address']; $cart->phone = $_POST['phone']; $cart->ship_via = $_POST['ship_via']; $cart->Location = $_POST['Location']; } + $cart->freight_cost = input_num('freight_cost'); if (isset($_POST['email'])) $cart->email =$_POST['email']; else @@ -419,6 +418,11 @@ function can_process() { //----------------------------------------------------------------------------- +if (isset($_POST['update'])) { + copy_to_cart(); + $Ajax->activate('items_table'); +} + if (isset($_POST['ProcessOrder']) && can_process()) { copy_to_cart(); $modified = ($_SESSION['Items']->trans_no != 0); @@ -448,10 +452,6 @@ if (isset($_POST['ProcessOrder']) && can_process()) { } } -if (isset($_POST['update'])) { - $Ajax->activate('items_table'); -} - //-------------------------------------------------------------------------------- function check_item_data() diff --git a/taxes/tax_calc.inc b/taxes/tax_calc.inc index 22fc35f3..7d124d7d 100644 --- a/taxes/tax_calc.inc +++ b/taxes/tax_calc.inc @@ -154,12 +154,11 @@ function get_tax_for_items($items, $prices, $shipping_cost, $tax_group, $tax_inc for ($i = 0; $i < count($items); $i++) { $item_taxes = get_taxes_for_item($items[$i], $ret_tax_array); - if ($item_taxes != null) { foreach ($item_taxes as $item_tax) { - if ($item_tax['rate'] != null) { + if ($item_tax['rate'] !== null) { $index = $item_tax['tax_type_id']; if($tax_included==1) {// 2008-11-26 Joe Hunt Taxes are stored without roundings $nprice = get_tax_free_price_for_item($items[$i], $prices[$i], $tax_group, $tax_included, null, $item_tax['tax_type_id']); @@ -194,17 +193,16 @@ function get_tax_for_items($items, $prices, $shipping_cost, $tax_group, $tax_inc } foreach ($item_taxes as $item_tax) { - if ($item_tax['rate'] != null) { + if ($item_tax['rate'] !== null) { $index = $item_tax['tax_type_id']; - if (isset($item_tax[$index]['rate'])) { // use customer tax group on shipment + $rate = isset($ret_tax_array[$index]['rate']) ? $item_tax['rate'] : 0; // use customer tax group on shipment if($tax_included==1) {// 2008-11-26 Joe Hunt Taxes are stored without roundings - $ret_tax_array[$index]['Value'] += ($shipping_net * $item_tax['rate'] / 100); - $ret_tax_array[$index]['Net'] += $shipping_net; + $ret_tax_array[$index]['Value'] += ($shipping_net * $rate / 100); + $ret_tax_array[$index]['Net'] += $shipping_net; } else { - $ret_tax_array[$index]['Value'] += ($shipping_cost * $item_tax['rate'] / 100); - $ret_tax_array[$index]['Net'] += $shipping_cost; - } - } + $ret_tax_array[$index]['Value'] += ($shipping_cost * $rate / 100); + $ret_tax_array[$index]['Net'] += $shipping_cost; + } } } } -- 2.30.2