Update material cost when quantity on hand is zero. @notrinos.
[fa-stable.git] / manufacturing / includes / db / work_order_costing_db.inc
index e44de122f7185eb1fd221ac6764dc15b2ead9c15..7671e7ba35ca910244d6d1403dc5f89c28f10b85 100644 (file)
@@ -103,8 +103,12 @@ function update_material_cost($stock_id, $qty, $unit_cost, $date)
                write_journal_entries($cart);
        }
 
-       if ($qty > 0 && ($qoh != -$qty))
-               $avg_cost = ($avg_cost*($qoh+$qty_delayed)+$unit_cost*$qty_new)/($qoh+$qty);
+       if ($qty > 0 && ($qoh != -$qty)) {
+               if ($qoh == 0 && $avg_cost != 0)
+               $avg_cost = ($avg_cost + ($unit_cost*$qty_new)/($qoh+$qty))/2;
+       else
+               $avg_cost = ($avg_cost*($qoh+$qty_delayed)+$unit_cost*$qty_new)/($qoh+$qty);
+       }
 
        $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($avg_cost)."
                    WHERE stock_id=".db_escape($stock_id);