Good Day,
I am currently setting up ERPnext for my steel warehouse after dealing with a dreadful erp software.
I have been setting up items codes for material but I feel like I am going about it the wrong way.
I need to manage stock in piece count/units, each item code could have 2-3 stock sizes in feet, say 20ft and 40ft, but also variant sizes ranging from 1-40 feet.
I need to be able to convert the UOM from Piece to FT to Pounds and optionally hundred weight.
So example…
I search 2 x 2 x 1/4 steel Angle, Stock would show
10 pieces at 20ft
40 pieces at 40ft
7 pieces at 6.5ft
Currently I have it set as the Default UOM to Feet and the correct LBS/FT for each item, but I am lost as to how to set up the Default Piece sizes.
If there is video or guide I would be extremely grateful.
Yes I defined the UoM in global and in an item basis. Now the issue I am running into is the Item Variant vs Item Dimension. I thought item variant would solve my issue, but it makes more item code, which would end up making way to many item codes.
So I believe the item dimension doctype is what I need to use, but it doesn’t make sense to me. I followed instructions from Chatgpt.
Open the DocType List
In the Awesome Bar (global search), type DocType and select DocType List.
(If you see “Custom DocType” instead, pick that.)
Create a New DocType
Click New.
Name: Piece Length
Module: Stock (or your Warehouse module)
Document Type: leave Is Child Table unchecked (this makes it a standalone DocType).
Autoname: leave as “Prompt” (so you’ll give each record a name like “6 ft”).
Save that header first.
Add your Length Field
In the Fields table below, click Add Row.
Label: Length (ft)
Field Type: Float
Field Name: length_ft (auto-filled when you tab out of Label)
Precision: 3 (so you can record fractional feet)
(Optionally add a Description like “Numeric length in feet.”)
Set Permissions
Click Permissions (tab or button).
Ensure your role (e.g. “Stock User” or “System Manager”) has at least Read, Write and Create rights on Piece Length.
Save.
Reload / Clear Cache
Click the menu in the top-right and choose Reload (or press Ctrl+R) to pick up your new DocType.
Hook it into Inventory Dimension
Return to Stock › Settings › Inventory Dimension.
For Reference Document, you can now select Piece Length.
Save.
It says it intuitivally links to UoM feet, though I am not sure how that is possible.
There are several things to consider during your planning stage.
What are your goals? Aside from wanting the visibility of inventory quantity by
size or length of the item, do you want special pricing based on the length?
I have a feeling inventory dimension won’t translate into sales order or sales invoice. Do you want to be able to add the 6.5 foot item directly into the sales
invoice or will you add a generic item and set qty to 6.5 feet?
Do 20-footers have a higher price per foot than 40-footers? Does a 6.5’ unit have the same price per foot as a 10’ or 20’ unit?
While variants will create many unique part numbers, it will also give you the
greatest flexibility with pricing and pricing rules.
If you want to avoid going back and measuring items in the “cut pile”, you’ll need to accurately list each unique size as an item.
You could use unique UOMs like x40, x20, x10, x6.5. Create a unique UOM for each unique size you’d like to track. Again, the key is… if you need to know exactly how many 6.5’ units you have, you’ll need to uniquely identify each item (either via unique item number or UOM).
If a customer wants a single unit at 6.5’ and you don’t have any on the shelf, do you take a 10’ (or other larger size) and cut it down? This may be considered a repack. You’ll convert one 10’ into one 6.5’ and one 3.5’ units.
My humble advice would be not to assume any relations between any data structures and base your design on it. When it comes to AI, humans still beat them on Erpnext
There are shipment templates and such if that’s the end product. Also, you can create your own UoM never forget.
Typically our stock sizes would be 20’ and 40’. We are always cutting material down into all sorts of sizes, based on a customers request.
As far as selling goes, we sell either by the foot, or by pound. Pound usually for sheet and bar items, and foot for tubes and pipes.
Right now in our current software be make a work order to pull an item, or several items and cut them down to the correct size for the order. We then put the remnant piece back into stock for later use or sale.
Right now I have close to 20,000 types of material I stock. My worry is things will be come a huge mess when I start generating even more item codes.
You should be good with existing item codes. Any advise to increase item code is wrong.
You also need to maintain the standard code for the item.
I think many of your problems are already solved with standard functionality. You just need to design carefully and make full use of existing features before customizing.
Hi. If I were you, I would try using the product batch option, which links size, weight, or both to each item. This way, you’ll have fewer items, but a large number of batches that should be self-referencing to the size and weight of each piece. This also allows for quantities from the same batch of each product. Since the batch would have to be selected for each transaction, you’d always have the exact stock. You’d probably have to use a barcode generator for the items and batches as a simpler way to manage them in practice. I used this approach in a business model with similar characteristics. I hope the idea can be helpful. Regards