2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 //-------------------------------------------------------------------------------------------------------------
14 function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_cost,
17 $mb_flag = get_mb_flag($stock_id);
21 if (is_service($mb_flag))
23 //display_db_error("Cannot do cost update for Service item : $stock_id", "");
\r
26 $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($material_cost)."
\r
27 WHERE stock_id=".db_escape($stock_id);
\r
29 db_query($sql,"The cost details for the inventory item could not be updated");
\r
37 $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($material_cost).",
38 labour_cost=".db_escape($labour_cost).",
39 overhead_cost=".db_escape($overhead_cost).",
40 last_cost=".db_escape($last_cost)."
41 WHERE stock_id=".db_escape($stock_id);
42 db_query($sql,"The cost details for the inventory item could not be updated");
44 $qoh = get_qoh_on_date($_POST['stock_id']);
47 if (!is_date_in_fiscalyear($date_))
\r
48 $date_ = end_fiscalyear();
\r
52 $new_cost = $material_cost + $labour_cost + $overhead_cost;
54 $value_of_change = round2($qoh * ($new_cost - $last_cost), user_price_dec());
56 if ($value_of_change != 0)
58 $stock_gl_code = get_stock_gl_code($stock_id);
\r
59 $update_no = get_next_trans_no(ST_COSTUPDATE);
\r
60 $memo_ = "Cost was " . $last_cost . " changed to " . $new_cost . " x quantity on hand of $qoh";
61 add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $date_, $stock_gl_code["adjustment_account"],
62 $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"], $memo_, (-$value_of_change));
64 add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $date_, $stock_gl_code["inventory_account"], 0, 0, $memo_,
69 add_audit_trail(ST_COSTUPDATE, $update_no, $date_);
75 //-------------------------------------------------------------------------------------------------------------