Item Codes of variable length possible and stable?

Hello! We are undergoing a change in ERP practices in our organization and as one of the activities to facilitate that change, we’ve decided to overhaul our existing item coding algorithm to suit our expansion, added inventory and logistics. Basically, we used to have a 9 digit item numbering algorithm and we want to move on to a 16 digit one. The details are explained below:-

Previously, 9 digits: 752000001 : 751 refers to the nut/bolt grouping and 000001 refers to variant number 1 in that grouping. This system was feasible once upon a time but now it has to change for a variety of reasons.

Newly proposed system, 16 digits: HNUT-0000-0000-0001 : HNUT refers to hexagonal nut and the rest of the digits are ideally placed in case of larger numbers of variant parameters (nuts don’t have that problem, but something like motors might. So we have to consider large number of variants in some groups). This system will almost never be exhaustible due to the large number of permutations possible within every group prefix and hence the idea.

Hope that wasn’t too overwhelming :slight_smile: . Now the problem.

Our fiscal year starts from 1 April and we have to try to change any important item codes before that date. In order to avoid hassle, we have decided to change item numbers group by group in a modular process. Now, this is all fine and well if we won’t face any problems in our basic business operations WHILE the transition is going on.
That means we might end up with some items with 20-digit codes and some items with original codes. Can ERPNext handle the variation in item code digits for our inventory at least until the inventory gets sorted out? Secondly, is there any possible oversight that I might be missing? In the sense that if I generate Purchase Orders, BOMs with mixed codes would I be unable to change them once created during transition?
Hope the problem is clear because this seems somewhat unique and I could not find any similarity between mine and any of the topics in the Stock section of ERPNext Discuss.



I think as long as length of the item code is less than 140, you should good since that is the limit for data field.

The SOs, POs etc which are already made will not be affected by item code change, the new one you can make with new item code.

1 Like

Thanks! ERPs use uniform item code digits as a convention but I was wondering if that was the rule here. A bit sad that existing POs & SOs will be unaffected but maybe there is another solution for that.



Item Code is reset using Rename feature, then new Item Code will be updated in the existing transactions as well.

1 Like

Thanks!! Forgot to mention the existence of the Bulk Rename Tool. That’s a great thing to hear.

1 Like

@Aashay_Sukhthankar I would suggest you should try and limit the length of item codes, though as pointed out by Kanchan and Umair the erpnext system is robust enough to handle item codes for 140 length but I think long item codes are bad as a general thumb rule.

I would suggest that instead of using only numbers you could use ALPHA-NUMERIC codes so that the length of the item codes is limited.

Example: We have around 10k item codes in our erpnext system and we are into cutting tools so the variants are mainly different sizes which are serialized in the item code.

We are using different length of item codes but the max length of the item code is 13 characters and varies between 11~13 depending upon the type of item.

Basically we are following something similar to what you have suggested with a difference,
Say for example below item code:

RHK10XRE01B23: R=Raw Material, H=HSS, K=Brand, 10 = Quality, X=Special Treatment, RE= Shape of Bar
01B2 = Alphanumeric Serial 3= Check Digit

Now actually the item code in my case is 01B2 but the prefix is only for HUMAN readability since humans can not remember serial numbers but a logic can be remembered. With alpha numeric serial we can have 34^4 = 1.3 million variants in just 4 digits (we are not using letter O and letter I, that is why 34 characters).

But if you are only using numbers then in 4 digit serial you can store only 9999 items and hence a need for bigger serial.

So in your case I would suggest this kind of Item Code:
Hex Nut made of Mild Steel material, make an attribute for Hex Nut and assign the letter HN and if you want material you can also make an attribute for material Mild Steel = MS and then 4-digit serial (alphanumeric) and check digit
HNMSABCD1 this makes the item code 9 digit with all the detials and size can be in the other attributes which need not be a part of the item code.

Though you would have to make customisation for alphanumeric serial and check digit.

Let me know if you need any further help.

1 Like

Thanks for the details, Aditya. The problem is, I believe you have standardized your products and the creation of your Item masters is a one time process. At our organization, our products are customizable as per requirement. We have Job Production going on for spray painting booths.

Now I know that ERP requires some form of standardization and that can be made semi-possible with our item variation parameters but as the future comes I am sure our inventory will keep increasing in terms of Item Variants. The best possible step to take is to ensure that our inventory management system is secured for at least the next 20 years and that is obtained by creating exhaustive logic memory.

Alphanumeric might be a good idea for some applications but I feel that my 4-by-4 system might be better for us because; say we take a motor and assign it an item code:


MOTR=Motor, 001=TEFC, 0=Insulation Class, FOOT=Foot Mounting, 01=Voltage rating, 11=HP

The challenge is to find the delicate balance between human readable codes and optimum inventory check-in of raw materials.