Item Variation and Stock Entry with 2 UOM


I have a question regarding the different item variations.
I have created an Item template and now creating variations of that item.
But my unit of measures is not what we want. Please consider the following scenario:

I have 1 item named as Tree Log. We count them as 5 logs, but each log weights different.
So when we want to enter the stock entry, we want to enter that
1 log weighing 50 KG
2 logs weighing 10 KG
1 log weighing 100 KG

as these variations are very “variable” entring them as a variant is not feasible because for example suppose there is a log which weighs 101KG.

Any solution for this ?

Best Regards

You may not need to create variants in this case, on you stock entry just choose the Item Code (Tree Log), enter UOM as kg and quantity as 50 or 10 or 100.

How about creating an item called WoodenLog (or whatever) and making it a batched Item. Make the Stock UOM Kg. Now you create Batches that go:

WoodenLog-100Kg and as many weights as you want. You need to concatenate the Item Code with the weight as ERPNext expects a Unique Batch Number, so if you have another item called WoodenLogTeak, you wouldn’t be able to reuse a batch called 50Kg for WoodenLog and WoodenLogTeak. So concatenating the Item Code and the Weight will give you a Unique Batch.

Now as you receive these logs, you have to drop it into the correct Batches.

Now your Batch Wise Balance History report on ERPNext will look something like this:

Item | Batch | Qty | Stock UOM

WoodenLog | WoodenLog-50Kg | 50 | Kg
WoodenLog | WoodenLog-10Kg | 20 | Kg
WoodenLog | WoodenLog-100Kg | 100 | Kg

With not much coding you should be able to create a customized report that adds a column that reports the number of logs you have in each batch.

Pawan’s approach is also fine, where you have a separate item for each Weight,and you make the Stock UOM as Nos and alternate UOM as Kg and define the conversion factor in the Item Master. Now if you have too many items, or if you have too many weights, the batch is the better way to go. If you have items in the 100s, a separate Item is the way to go.

But if you can’t always group the Weights into those 10Kg and 50Kg and 100Kg, or if you have variability - like a 10Kg log could be anywhere from 9.8Kg to 10.2 Kg and you actually want to record the actual weight that has been received, you’d need have each log defined by a Batch Number and have the Stock UOM as Kg.

Hope this helps.



Just wanted to inform that I will check tonight and reply.
Thank you in advance

What i did was, make attribute of the item, named as Weight and made it Numeric Values. Unfortunately, Our every item has different weight. :disappointed:

So when I make a variant, I enter the weight of the item as shown in the following example.

After that I can do the stock entry of that item via item name and add quantity as 1 or more.
But there is an issue with that (at least what I think). After a period of time, the number of items will reach to thousands, wont that be an issue in reporting and also making the ERP slow ?

Please guide.

Well, if each wooden log has a different weight (or at least many of them do) and you have to track the weight, your best option is to have a separate Batch Number for every Wooden Log.

Have a single item and call it WoodenLog. Make that a batched item and make the Stock UOM Kg or whatever for Kilogram. Making the stock UOM as KG makes more sense as you get more information. The only advantage to making stock UOM Nos is that you get to see directly the number of logs you have in the stock balance report.

Add a custom field in the Batch DocType and call it Weight.

As user receives the items and because the items have Batch numbers enabled, ERPNext will make the Batch Number field mandatory in transactions. Now use the Stock UOM as the UOM and enter the weight of the item in the Quantity field. Write a bit of Custom Script and make the value that is entered in the Quantity field (say 18.6 Kg) is written to the custom field Weight in the Batch record.

You have to add separate lines for every log you are receiving.

Now as these logs are transferred, you instruct the user to enter the batch number of the wooden log first and when the user does that, the custom script/code should fetch and populate the Quantity value automatically from the Batch Record.

You should use a separate batch number for every batch (it’s like a serial number, but serialized item’s Unit of measure needs to be a whole number, so you cannot use Kg) and you use the Stock Balance report to get the total weight of wooden logs you have and the batch wise balance history to get the number of logs you have and the total weight.

I know it’s complicated, but I don’t think you have an option but to deal with this complexity.

Hope this helps.