+function adjust_deliveries($stock_id, $material_cost, $to)
+{
+ if (!is_inventory_item($stock_id))
+ return;
+ $from = last_negative_stock_begin_date($stock_id, $to);
+ if ($from == false || $from == "")
+ return;
+ $from = sql2date($from);
+ $row = get_deliveries_between($stock_id, $from, $to);
+ if ($row == false)
+ return;
+ $old_cost = $row[1];
+ $new_cost = $row[0] * $material_cost;
+ $diff = $new_cost - $old_cost;
+ if ($diff != 0)
+ {
+ $update_no = get_next_trans_no(ST_COSTUPDATE);
+ if (!is_date_in_fiscalyear($to))
+ $to = end_fiscalyear();
+
+ $stock_gl_code = get_stock_gl_code($stock_id);
+
+ $memo_ = _("Cost was ") . $old_cost . _(" changed to ") . $new_cost . _(" for item ")."'$stock_id'";
+ add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $to, $stock_gl_code["cogs_account"],
+ $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"], $memo_, $diff);
+
+ add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $to, $stock_gl_code["inventory_account"], 0, 0, $memo_,
+ -$diff);
+ add_audit_trail(ST_COSTUPDATE, $update_no, $to);
+ }
+}
+
+function get_stock_gl_code($stock_id)