Ok, firstly I'm not sure wether this should go to Bug Reporting or New Feature request
as what I'm bumped into is a bit of both. This would surely also still touch on the current
inventory valuation report bug that it's currently going on in 2.4.3 and maybe still an issue for
2.4.4+
In our manufacturing industry, it's normal to account for loss material when it comes
to inventory valuation, for example when we want to create a 100 kg of finished good,
there may be coming from a 110kg of raw material
The keyword is 'may be', as we won't know the actual loss material value until the process
finish or when period ends
Hence
110 kg raw material = 100 kg finished good + (assumed) 10 kg loss material
My industry is unique, in the sense that most of those (assumed) 10 kg loss material can
be used again for next process.
After operators sorted it, it's found that 8kg of the (assumed) 10kg loss material can
actually be reused for next process leaving only 2kg of real loss
How do I facilitate these scenario into FA ?
Steps to produce
-------------------
0. Create raw item, simply called 'raw item'
1. Create manufacturable item 'finished item'
2. Having BOM as follow
1.10 raw item for each 1 kg finished item
3. This way, it's assumed all 1.10 raw item are exhausted to make 1kg
4. Apparently 8 of the 10 assumed lost material can be used again ! but these 8kg values have been reduced
to ZERO since I have exhausted them ahead
5. How do I put these these-now-worth-ZERO 8kg back to raw item stock ?
Option 5a --> actually my first preference, but apparently will need some changes to algorithm behind it
---------
a. inventory adjustment to record additional raw item qith qty=8kg and unit_cost=0
this operation is not currently possible because the algorithm will treat unit_cost as not 0, but as null,
hence it will take value from purchase_cost instead
class line_item
{
var $stock_id;
var $item_description;
var $units;
var $mb_flag;
var $quantity;
var $price;
var $standard_cost;
function __construct($stock_id, $qty, $standard_cost=null, $description=null)
{
$item_row = get_item($stock_id);
if ($item_row == null)
display_error("invalid item added to order : $stock_id", "");
$this->mb_flag = $item_row["mb_flag"];
$this->units = $item_row["units"];
if ($description == null)
$this->item_description = $item_row["description"];
else
$this->item_description = $description;
//[FIX/SUGGESTION] to separate a 0 $standard_cost vs other null $standard_cost
/*
if ($standard_cost == 0 )
$this->standard_cost = 0;
*/
if ($standard_cost == null)
$this->standard_cost = $item_row["purchase_cost"];
else
$this->standard_cost = $standard_cost;
$this->stock_id = $stock_id;
$this->quantity = $qty;
//$this->price = $price;
$this->price = 0;
}
}
I did try to hard-code and set $standard_cost=0 and posted
The result that follows are
1. raw item stock qty adjusted correctly
2. raw item value adjusted to figures that is just wrong ( it was inflated if i am not mistaken )
3. no GL is produced for this transaction --> i'm not so sure why ?, maybe the current logic is not to produce GL if any transaction is having no value. maybe someone senior can have more information further on this
Option 5b --> my current workaround until IA issue resolved
---------
a. Simply create a new supplier 'internal_supplier'
b. create purchase order / direct invoice with item raw_material qty=8kg and price=0
c. This, so far it adds the raw material stock correctly
d. The IR report also showing correct figures, so is CIMR