ERPNext Foundation ERPNext Cloud User Manual Blog Discuss Frappé* Donate

Enhancing the Manufacturing Module


Hi Rushabh @rmehta

We would love to add this as a contribution. Can you please tell us how to go about it? Have never done it before.



@Boston_Nyer: Have no worries about using ERPNext for manufacturing. While there are challenges, for the type of operation you described, you should not have a lot of problems managing manufacturing for your organization.

Happy to help and provide you my inputs if you think it will help.

All of us subscribe to @rushabh_mehta’s and Frappe’s philosophy, that just because ERPNext is OpenSource, it shouldn’t be benchmarked against the best.

So our honest posts on this thread is to make an already good product great, when it comes to it’s suitability in manufacturing organizations.

Please proceed on implementing ERPNext, I’m sure it will work very well for your organization.




GitHub has a lot of documentation you can look at! Might take a couple of hours to understand, but it will be worth the investment.


Hi @JayRam, the company I work for has been looking at several ERP solutions and we’re pretty sure that we want to go with ERPNext, but the manufacturing module in its current state isn’t flexible enough for our processes. I don’t have a complete list of all my requirements for improving it yet, but I know that we’re interested in sponsoring development to improve the manufacturing module so it can become a workable solution for us.

I think the biggest thing we’d like to see improved is more flexibility in allocating materials to a production order. Most ERP solutions I’ve been demoing allow you to allocate materials to a production order without forcing you to specify the quantity of product you plan to produce with said materials (in other words, you can partially build products). In addition, most solutions will let you remove materials without having to cancel the stock entry and add back in what you didn’t remove. They will also calculate what raw materials are still needed for the order when making a stock entry. And lastly, I think it would be really useful if you’re able to see at a glance on the production order screen the quantities of raw materials you’ve already pulled for an order (and potentially what’s remaining), similar to how stock levels work on the item screen.


Thank you @JayRam, greatly appreciated. I’ll be in touch if we have any
further questions while we make our decision.


@corbincavolt: I feel your pain. For a company into building made to order equipment, the way I have over come this issue is to create virtual warehouses called ProductionStation1, 2,… We designate a Production Station as the virtual warehouse for a particular project. This warehouse will only be used for this project and nothing else. Till the project is complete and the project debriefing is conducted and the follow up action from the debriefing is completed, we use this Production Station only for this project.

@umag has helped us create a custom report that lists the stock availability of a given BoM. We use this report to plan procurement of materials. Then we drop all materials that are required for the manufacture of this item (as per BoM) into this Production Station (which is, like I said, a virtual warehouse). The BoM Stock Report, when you select the BoM and the Production Station warehouse will tell you whether you have already issued raw material and components for manufacturing a particular component/assembly.

As sub assemblies are manufactured, we “consume” the raw material/components necessary to make that sub assembly.

As, seemblie3s are made and the product is built, you could have two situations:

  1. A component that is needed is not issued into the Production Station - When this happens, the manufacturing entry for the assembly/product cannot be submitted as ERPNext will say that component is not there in stock. You do a quick investigation and figure out whether the operators, managed to lay their hands on the component, say on the shop floor, or whether the BoM was wrong and didn’t really need this component. Or that the stores incharge missed out making an entry for this component. If the BoM is wrong you correct the BoM for the next time and boom you have a self healing, self correcting organization.

  2. There are left over raw material or components once the project is manufactured. This could indicate that there was (a) Bad quality and operators needed to draw the raw material or component again, (b) The Raw Material or component is not really required (Correct the BoM) - this will be indicated by those excess raw material/components being available at the Production Station for return to stores), © Or that the operators missed including this raw material/component in the product (boom you have a self correcting process).

Now the custom report that @umag created is at the BoM level, with slight tweaking, you can do a similar report for the Production Order and that will help you manage your manufacturing reasonably elegantly, till we enhance the manufacturing module. Uma can help you if you need any assistance.

This approach should work for all types of manufacturing: Projects, Machines, Assembly Lines, Process Industries, etc. with only slight modifications.

I agree that these are mere workarounds and the manufacturing module needs to take care of the realities of the shop floor. We are actively working to enhance the manufacturing module and it would take months or quarters and this approach should help you reduce complexity in the interim.

We DEFINITELY DO need to enhance the manufacturing module, so your (and everybody’s) contributions in terms of intellect, time, resources and money will help us kick SAP’s (nothing personal against SAP, but it is the poster child of the big, bad, expensive ERP) butt!!


@JayRam, I think that your work around makes a lot of sense, and actually has a lot of similarities to how we physically handle orders. All the items that we have in stock that are going to be used for an order go in a bin that’s only used for that order.

That custom report looks pretty neat (I’m assuming it looks similar to what @UmaG posted above). If I understand it correctly, it looks like it has pretty similar functionality in figuring out which raw materials you’re missing as we’d like to have in the manufacturing module.

Ideally, since the plan for us is to hold off implementation until at least the core issues are resolved, I’d at least like to get those issues resolved sooner rather than later (so we don’t have to start off with work arounds), and then continue to improve the system.


Another method for determining what the manufacturing module requirements
should be would be to look at the supplier requirements for an aerospace company. Aerospace (and medical) companies have some of the most stringent manufacturing requirements of all manufacturing companies. See below for a link to the “Suppliers Quality Assurance Requirements” for one specific aircraft manufacturer. The document is “only” 11 pages long and is one of the better documents I have seen – not too wordy but still complete. By dissecting that document, we can determine what information an aerospace supplier should be creating, keeping, tracking, etc.

While not every company is making aircraft parts, the standards used by aerospace companies should likely be adopted by the vast majority of all companies for quality reasons alone. Hope this input is not too late.


Thank you for the document. Very helpful. Not late at all. Will factor these in as I build the first cut of the summary of requirements for the manufacturing module.


Hi @rushabh_mehta

I have tried to fork the ERPNext on my local laptop and have created a Pull
request, as per the documentation. But along with the BoM report, lots of
other things are also showing as Commits. Can only the BoM Report be
reviewed from there and pulled?
The URL is



@UmaG you have to rebase your current branch before sending the pull request

You can do git pull --rebase upstream develop

and then force push. Lets move this on another thread as this is hijacking the topic!


I’ve just created pull requests for two reports that provide a similar functionality. The first is the Production Orders, and the second is for BOMs.

Here are screenshots of each:

The first report shows an overview of each production order and informs the user whether there is enough material in stock to complete production. It indicates how many unique parts there are, and how many parts have the minimum required quantity in stock, as well as a Yes / No is everything in stock (for easy sorting).Currently it looks at all the stock in any warehouse, but I can add a filter for specific warehouses if it’s required.

The second report provides more in-depth reporting at a BOM level, showing each item in the BOM, how many are required per assembly, how many are in stock, and how many assemblies can be made based on that quantity. The row with the smallest of this last number is the total number of assemblies that could be built. As well, this just looks at all warehouses but I can easily add a filter for looking at specific warehouses if there’s a need for that.


Great report and initiative @Ben_Cornwell_Mott. How about having an option at each line item on the BoM and youbcan choose to stop at the current level of BoM or go to the next level. Let me illustrate with an example:

Prod A requires Main Assemblies A1 & A2, which in turn require Sub Assemblies A11 & A12 and A21 & A22, which use up Sub Assembles A111, A112, A121, A122, A211, A212, which costume up raw materials/components A1111, A1112, A1121, A1122, A1211, A1212, A1221, A1222

Now, if we could have a report that goes:

To Make This. You Need. Quantity. Warehouse. Qty Available Display Next Level?

Prod A A1 1. Stores - XYINC. 3. N
A2. 1. Stores - XYINC. 0. Y
A2. A21. 1. Stores - XYINC. 2. N
A22. 1. Stores - XYINC. 0. Y

and so on.

I don’t know if this resonates with you, but organizations that put together complex assemblies will have some of the sub assemblies / components available, and will have to make others from scratch.

Your report (@umago already has a report that does some of this and is happy to share her code and work with you on this) will help an organization figure out what Assemblies it already has and what assemblies it needs to make and whether the components/raw materials for such assemblies exist or whether it has to be procured. If you think it is a good idea to build this, @umago may be happy to work with you to help you with this.

Finally, if we add to this report, quantity on order and expected delivery date, it will give the materials planning person a complete picture. If, with a single, click you can make a purchase request for the items that are necessary, this report will complete the entire cycle.

Helpfully (hopefully) yours



Hey guys, thought I’d bring this to your attention since we’re all trying to enhance the manufacturing module. I’ve posted the following manufacturing-based issues on GitHub (for paid development):

If you have any thoughts on how to improve these ideas, feel free to comment. Likewise, if you’re interested in contributing to the realization of these ideas, either via co-sponsorship or development time, feel free to leave a comment about that as well. The more people that contribute, the more we can look to also sponsor other enhancements to ERPNext and continue making this software better!


@Ben_Cornwell_Mott Can you elaborate on what you mean by “Improved control of assembly documents”? Do you mean some sort of revision control or a better way to display them for the person doing the manufacturing, or something else? Also, we’re pretty interested in improving the production planning capabilities as well. I just haven’t had time to write out issues for them on GitHub yet and also, since we’re already planning on sponsoring several other issues, I’d like to get quotes on those first so we can ensure we’re not biting off more than we can chew financially.


@corbincavolt I was thinking more of having a document on ERP that addressed Assembly Steps, allowing pictures and step by step instructions, as opposed to the current system of Operations, which are very vague. Additionally, Document Control would be very useful.

I’m probably going to be moving forward with improving the production planning capabilities (scheduling mostly) in the next few weeks, but I’m going to wait to see what the community proposals are for improving the system before starting.


I’ve obviously been tuning my development to the way our company uses ERP, but the idea behind my reports is that you would create a production order for the master item (using the production planning tool), which would then generate MRs for Manufacturing of each of the sub components. You then create the PRodcution Orders for each of the MRs, With this done, you can use the Production Order Stock Report to let you know which levels can be started and which ones you’re waiting on parts for.

That said, I do want to improve the visibility of stock availability between boms and between the ProOrder report and BOM report so that it’s easier to move between BOMs. Hopefully @umago 's report gets added to the core code and we can use that as well as my reports.


@UmaG Yep. Uma is working to push this report onto ERPNext either as a App or as a standard report on ERPNext.


Posted the first cut of the requirements of the manufacturing module. Here’s the link to the separate post:

@corbincavolt, @Ben_Cornwell_Mott, @strixaluco, @tara_antonius, @hiousi, @Dbone, @Nathan, @mulyadi-agtechsg, @user002 and every one else. Please review and let me know if I’ve covered your requirements and expectations.


Ben, I hear you on the need for a documenting capability in ERPNext. Not only for manufacturing instructions but for all facets of an organization’s “work” to include but not limited to things like shipping, receiving, sales, marketing, inspection, management, etc. Basically, all activities required in a modern quality system.

An item you may be interested in: