Easier Opening Stock Entry for Serialized Items

Hi ,

Trust everyone’s doing great. It is currently very difficult creating opening stock entries for serialized items in ERPNext when you have a large number of different items. We are currently trying to create opening entries for an organization with several hundred items and it appears the only way is to enter each item in a new line and enter the corresponding serials… this is way too cumbersome! The Stock Entry import template is a no-go area as it is even more cumbersome and time-consuming than using the front end

I thought the most ideal and user-friendly way would be to just import all the unique serial numbers using the Data Import Tool and this makes perfect sense considering the fact that there are columns in the template for all relevant data like Item Code, Company, Warehouse, Incoming Rate etc. Unfortunately though, we encountered an error saying that warehouse for new serial numbers can only be set from Stock Entry or Purchase Receipt

Is there any way to override this or an easier method for opening stock entry of serialized items?

Please advise

Many thanks

Hi Team,

I would really appreciate some assistance in this regard. @umair could you offer any suggestions please?

Many thanks

@wale totally agree! How about writing a script to do this?

Hi @rmehta

Great to hear from you. Could you please elaborate? How should this script work and how will the functionality be accessed (front-end or back-end)?

Please let me know your thoughts



To have stock level updated based on the Serial No. creation, we should ensure that on the creation of Serial No., Stock Ledger Entry should be created. Also it should have impact on the accounting to update stock opening balance.

For the reference, you can refer the script for the current stock transactions to learn how Stock Ledger Entry are posted based on their submission.

Hi @umair

Thanks a lot for your input. From what you explained though, it seems like this should actually be built into the core. I was thinking there could be a quick work-around but looks like I’ll need to start by creating a github issue for this. Please confirm


@wale I agree, would be nice to start a github issue for this

Please find github issue below: