First of all, I was absolutely blown away by the features present in erpnext! It looks like a very mature project that seems to fit our made to order company very well. We are a sheet metal job shop and currently looking into using erpnext for this.
I’m wondering if it is possible to create a production order based on the raw material in the BOM. In our shop we laser-cut multiple different parts from 6m long tubes. We would like to have a production order that matches a single 6m tube and all the available parts that we can cut from this as per the open sales orders. At this point, I’m struggling how to set up such a process in erpnext.
The same would go for our scrap/waste management. This is currently dependent on what parts we cut from a single tube.
Would be great to hear or see if anyone with a similar production flow has been able to set this up in erpnext. It seems extremely promising so far!
Thank you for your reply! I indeed saw the option for multiple UOM and conversions. Something that will definitely be useful. I’m not sure it solves all our problems in our case.
Let me try to clarify using the example below:
1x part_1A (BOM: 2.5m of tube_A )
3x part_1B (BOM: 2.5m o ftube_B)
5x part_2A (BOM: 1.5m of tube_A )
2x part_2B (BOM: 4.5m of tube_B)
Now it would be nice to be able to make a production plan based on all the various parts that use the same raw material. For raw material tube_A that would be 1x part_1A and 5x part_2A for example. (At the moment filtering based on item when making a production plan only shows the top-level items themselves. Not products that contain the item in their BOM)
The other thing that currently happens is that it will compute the required raw materials as a simple sum of the units in the BOM. Currently for a production plan of SO1 and SO2 it would give me the following required materials:
Now because the tubes come in 6m lengths we are hoping we can add some logic to compute the number of full 6m lengths needed for production. The first step would be to always round the length to the next full 6m (12m tube_A and 24m tube_B). Ideally, we would like to further optimize this to return something like this:
As seen above in depending on how parts are combined we will have to pick (or ordered) different amount of material. I understand I would have to add the logic for this myself. At the moment I’m however wondering what would be the best/most logical place to add this in erpnext.
I think process-manufacturing can solve your problem, but I can’t make it run.
It will be useful also for me, as we cut steel sheets. For example, one sheet of 12mm steel is consumed, and the output is multiple products, in different numbers, each having it’s own BOM.
@sorin_paul I’m having trouble also getting process-manufacturing up and running on v12. At this point I think we will have to make our own module to facilitate the required features. At this point I think I will make our own version of the production plan module so it will compute the waste that will come about to produce the specified items and add this to the material request accordingly.
This would allow us to get up and running if making a production plan per day. Make one material request that includes the correct wast to order the materials for a single production plan. Once the production plan has been completed we can then make a manual stock entry to move the stock remaining in the work in progress warehouse to the scrap warehouse.
process manufacturing seems good, but was created for a previous version (V10 I think). I managed to install the app, but the module is not showing up. But it can be found with search bar. The problem that I have with is related to workstation, maybe there something has changed from V10 to V12.
You can branch the code and make it work with current version. It doesn’t seem to be much activity lately on this feature.
Be aware that manufacturing works with moving average, but not with FIFO.
Let me know if I can help with testing. I stopped programming in the '90s. Some knowledge I still have, and I think I understand what’s in the code.