X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=purchasing%2Fincludes%2Fsupp_trans_class.inc;h=f95a78258e4fc8f4222fbd2c1e3fb9c4e4c27914;hb=302efb9742353a4014da170fbc9442ad11a550af;hp=0870f07487eb39496a43c05608772dd16821acce;hpb=802dea67580f5dbedab6920760e040b0cb535aef;p=fa-stable.git diff --git a/purchasing/includes/supp_trans_class.inc b/purchasing/includes/supp_trans_class.inc index 0870f074..f95a7825 100644 --- a/purchasing/includes/supp_trans_class.inc +++ b/purchasing/includes/supp_trans_class.inc @@ -21,11 +21,11 @@ class supp_trans var $gl_codes; /*array of objects of class gl_codes using a counter as the pointer */ var $supplier_id; var $supplier_name; - var $terms_description; var $terms; var $tax_description; var $tax_group_id; + var $tax_included; var $trans_type; // invoice or credit @@ -39,6 +39,9 @@ class supp_trans var $ov_discount; var $ov_gst; var $gl_codes_counter=0; + var $credit = 0; + var $tax_algorithm; + var $stored_algorithm; function supp_trans($trans_type) { @@ -54,7 +57,7 @@ class supp_trans { $this->grn_items[$grn_item_id] = new grn_item($grn_item_id, $po_detail_item, $item_code, $item_description, $qty_recd, $prev_quantity_inv, $this_quantity_inv, - $order_price, $chg_price, $std_cost_unit, $gl_code); + $order_price, $chg_price, $std_cost_unit, $gl_code, $this->tax_included); return 1; } @@ -105,14 +108,15 @@ class supp_trans foreach ($this->grn_items as $ln_itm) { $items[] = $ln_itm->item_code; - $prices[] =round( ($ln_itm->this_quantity_inv * $ln_itm->taxfree_charge_price($tax_group_id, $tax_group)), +// $prices[] =round( ($ln_itm->this_quantity_inv * $ln_itm->taxfree_charge_price($tax_group_id, $tax_group)), + $prices[] =round( ($ln_itm->this_quantity_inv * $ln_itm->chg_price), 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); + $tax_group_id = $this->tax_group_id; + $taxes = get_tax_for_items($items, $prices, $shipping_cost, $tax_group_id, + $this->tax_included, null, $this->tax_algorithm); ///////////////// Joe Hunt 2009.08.18 @@ -130,8 +134,10 @@ class supp_trans //////////////// return $taxes; } - - function get_total_charged($tax_group_id=null) + // + // Returns total invoice amount without taxes. + // + function get_total_taxfree($tax_group_id=null) { $total = 0; @@ -152,7 +158,23 @@ class supp_trans } return $total; } + // + // Returns transaction total + // + function get_items_total() + { + $total = 0; + foreach ($this->grn_items as $ln_itm) + $total += round($ln_itm->this_quantity_inv * $ln_itm->chg_price, user_price_dec()); + + foreach ($this->gl_codes as $gl_line) + { //////// 2010-10-10 Joe Hunt + if (!is_tax_account($gl_line->gl_code) || $this->tax_included) + $total += $gl_line->amount; + } + return $total; + } } /* end of class defintion */ class grn_item @@ -172,10 +194,11 @@ all the info to do the necessary entries without looking up ie additional querie var $chg_price; var $std_cost_unit; var $gl_code; + var $tax_included; function grn_item ($id, $po_detail_item, $item_code, $item_description, $qty_recd, $prev_quantity_inv, $this_quantity_inv, $order_price, $chg_price, - $std_cost_unit, $gl_code) + $std_cost_unit, $gl_code, $tax_included) { $this->id = $id; @@ -189,12 +212,13 @@ all the info to do the necessary entries without looking up ie additional querie $this->chg_price = $chg_price; $this->std_cost_unit = $std_cost_unit; $this->gl_code = $gl_code; + $this->tax_included = $tax_included; } function full_charge_price($tax_group_id, $tax_group=null) { return get_full_price_for_item($this->item_code, - $this->chg_price, $tax_group_id, 0, $tax_group); + $this->chg_price, $tax_group_id, $this->tax_included, $tax_group); } function taxfree_charge_price($tax_group_id, $tax_group=null) @@ -202,7 +226,7 @@ all the info to do the necessary entries without looking up ie additional querie // 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); + $tax_group_id, $this->tax_included, $tax_group); } }