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

Enhancing the Manufacturing Module


@user002: I have included the routing functionality in the proposed enhanced Bill of Materials.

Am I right in surmising that the Wiki & The Quality System go together?

I plod on fearless about the quality system. So the Quality System and ERPNext integrate with each other thusly:

Let’s say we are looking at the buying process:

I shall skip the Quality Manual for now.

Let’s say the Quality Procedure says; Purchases made by the organization will be made as per the following procedures:

Purchase Requirements will be aggregated on a daily basis. New Purchase Requests will be acted upon with one business day.

All Suppliers will be flagged for the types of products and services that they have been approved to supply.

For a Purchase Request a minimum of 3 and a maximum of 6 suppliers will be invited to quote. The parameters of selecting the supplier will be determined (Lowest Cost, Best Quality, Shortest Delivery Period, best payment terms or a hybrid of these parameters) and will be document prior to each RFP.

As suppliers quote, they will be benchmarked against these parameters and a net score for each of the suppliers will be assigned.

The top 2 or 3 suppliers will be invited for a round of negotiations. Various parameters will be negotiated and the new net score for the suppliers will be assigned. Purchase Orders will be released on the supplier with the best net score for the item. Where the Net Score is a tie, a supplier specializing in the item will be preferred as against a generalist. Where two specialists or two generalists have a tied score, the suppliers with the best historical performance number will be selected.

The Work Instructions for the above could look like this:

The Buyer reviews all Purchase Requests on ERPNext once a day. Buyer runs the Pending Purchase Orders report to check if a PO for the item is already included. If yes, Buyer will explore possibility of adding this quantity to the pending PO.

The Parameters of selecting the Supplier is updated on ERPNext using Parameters of Selection section of the RFP Document on ERPNext.

The Purchase Request is then matched against potential suppliers on ERPNext and the top 3-6 performing suppliers are selected based on their Performance.

Buyer will release the Request for Quotation on ERPNext to these suppliers, clearly indicating the date by which the suppliers are expected to submit their proposals.

As Proposals are submitted ERPNext calculates Net Performance Score for each proposal that is submitted.

On the day following the last date for submission of proposals, or after all suppliers respond with either a proposal or a regret, whichever is earlier, the buyer will run Supplier Net Performance Score on ERPNext and will invite the top 2 or 3 Suppliers for negotiations.

Negotiation stage is not required for purchases below $ 5K value.

Buyer will schedule meetings with suppliers on ERPNext and send out invitations for meeting. At each negotiation, the supplier will amend Proposal and submit the revised proposal.

After all negotiations are complete, the Buyer will run the Supplier Net Performance Score on ERPNext and will place the PO on the supplier with the best Net Performance Score. Where suppliers are tied, the Buyer will look at the Number of Categories the Supplier is qualified to supply and will go with the supplier that has either 1 or 2 in the number of categories. Where this number does not facilitate a decision, the Delivery Performance Index number is plotted against each supplier and the person with the better delivery performance number is chosen. PO is released on the supplier on ERPNext.

So in this kind of a scenario, appropriate customizations will have to be made on ERPNext to accommodate the work Instructions and the reports, the documents generated by ERPNext will be used as artifacts to demonstrate the performance of these work instructions.

I am guessing that the Wiki is a collaborative way to come up with these quality requirement documents.

Have I been able to capture your requirement?

Me thinks you are actually gunning for Sarbanes Oxley implementation with this enhancement. Actually it’s an excellent idea for demonstration of Internal Controls for any organization.




@JayRam, as for how to do the routings, I think most ERP systems separate the routing table from the BOM table because they have significantly different purposes and joining them may violate a “relational rule”. But, how it is done is a decision made by those more bright than me.

As for the quality system, I was providing an example only. The need is for a document control system with revision control. A wiki meets this need perfectly. A dentist office needs to document its procedures. Same with every other type of organization to include Frappe. How does Frappe document its AP and AR processes? Its new employee process? Its release process? Etc. You may use in-house tools or systems or just .txt files or ??? But, wikis are a bonafide winning method for using and maintaining organizational procedures (work instructions, etc.).

The need is not for ERPNext to provide a quality manual nor any processes. The need is to provide a wiki capability. Yet, once a wiiki is provided, I would be happy to populate the wiki with some base level of ISO9001 quality system document structure or similar.

For those companies preferring less structure or not needing to adhere to a standard, I can imagine a “document process” or “add instruction” button on every ERPNext action page where the user could add to the wiki with the resulting wiki page linked to the specific ERPNext action page. As a first step, maybe just provide the wiki and work out how it interfaces to the rest of ERPNext after use by ERPNext users.


From a developer perspective, we would love to have mockups.

A lot of this is still “brain dump” and can be interpreted, implemented in many different ways.

Lets start talking in pictures, please!

@user002 we already have a section for “Notes”. We use a lot of that internally!


@rmehta: Does this help?

Or maybe not.


@user002, when you say routings, do I get it when I think it means:

Let’s say a component through the following processes for manufacture:


Let’s say the Component can be Milled first and then Drilled as well.

So, the routings for these components are:


Once it is documented this way, there is more flexibility (and complexity) with the organization manufacturing this process.

Is this right, or is there another dimension to Routings?

I know the comments is one way of implementing the wiki, but the comments are embedded in the documents. Based on what I understand, @user002 is suggesting that it needs to be the other way round.

So, you have a Work Instructions document. Into that you can have hyperlinks to the ERPNext documents, reports, etc. and as that work instruction is complete the “wiki” embeds the reports/documents that demonstrate the performance of that control.

I am slowly warming up to this suggestion and can see the enormous possibilities. I have a dream and a vision that users only need to know what they need to do and they should be able to work as intuitively as they possibly can. An ERP system does all the work in the background, in as invisible a manner as possible and practical to ensure that the users are able to do what they need to do efficiently & productively.

This “wiki” could be the first step to that reality, I think.


@rmehta, Notes are nice. Yet, just like a Notes do not replace a Forum (and vice versa), Notes do not replace a wiki. Wikis provide revision control, access control, structure, tables of content, and other features. That said, Notes could be expanded to provide wiki-like capability or to “maintain a company wi[d]e
Knowledge Base” as stated at". Today, Notes does not provide an effective knowledge base capability. Good feature? Maybe for some users… Effective, no (in my opinion) for people needing a true knowledge base which is what wikis do.

We do not need to call it a wiki. We can call it Notes. Just need to expand Notes to add revision control, easy reference by URL or link for each specific Note, structure (table of contents, index, etc.), and possibly other wiki-like features.


@JayRam, thank you for the feedback. For full details on routings, see the links posted to external sites in this page:

In brief, routings are like the DIRECTIONS sections of a recipe. Recipes generally have two sections: INGREDIENTS and DIRECTIONS (instructions). INGREDIENTS = BOM. DIRECTIONS = routing. As for the exact details on the routing tables, I can assist but see first.

So, routings are nothing new and are as old as recipes. They merely state the steps required to produce something. You can even use routings for producing services. Example for AP “service”:

10 Open envelope and extract invoice.
20 Verify PO is referenced on the invoice.
30 Verify item invoiced has been received.
40 Enter invoice against PO.

You can also use a wiki or notepad or memory to do the AP process too. The benefit of a routing table in an ERP system is it allows for easier production planning and capacity management.


@user002 if im correct in my thinking what you have basally would like something like a product lifestyle management module. Some had started to build a quality management system i had forked it here As for version control there is this module Last time i had installed it has worked. I personal dont see much of a benift from having a wiki built into erpenxt. I know people have suggested this but you could also install a wiki or something like alfresco. In my opinion anyone that doesnt user a DMS internal is crazy. @rmehta i feel like we have started to high jack this thread and this discussion should be moved. Thanks for all of the great work.


@woakes070048, no a PLM is not what is being sought. Nor is an monolithic DMS (document management system) being sought.

An ability to document an organization’s (enterprise’s) work requirements is being sought. Specifically, in regards to a quality system, the quality manual, the procedures, and the work instructions. But, this is a generic tool – wiki or similar. The organization can benefit from the wiki regardless if it has a system called “quality system”. Every organization has a quality system – even if they do not know it and if their quality is high. and are thoughtful contributions although it is not easy to determine what they do – the’s are quite light. shows some nice documents although specific to one company’s quality system. As for, “Document Library is an application to track, manage, store and keep versions of documents soft-copies.” which is what a wiki does but with much lower overhead, much greater ease of use, and much faster ease of access. Imagine if Wikipedia was created with each article being a Word document – that would be a nightmare and that is why we have wikis.

Correct: a wiki is not required in an ERP system. Nor is a projects module nor a school module.

As for hijacking of this thread, the thread is about enhancing the manufacturing module. If you have worked for a manufacturing company as an assembler, IT person, and engineer, you know the benefits of good documentation. Wiki produce good documentation (albeit with proper human controls and inputs). The wiki can certainly be used for many many non-manufacturing uses within ERPNext also. But, the wiki functionality was and is specifically requested for its benefit to manufacturing.

Move the discussion if you would like and, of course, we all thank ERPNext / Frappe / users for their contributions.



The Knowledge Base section that is found in the Website module is closest to what you are looking for. It has the ability to publish articles to the website and can be categorized. Of course it would need work. I think the ideas you’re suggesting are good and you should start another thread that proposes enhancements to the Knowledge Base functionality since the Manufacturing module is what’s specifically being discussed here.

I’m not suggesting the Knowledge Base cannot be used nicely in conjunction with Manufacturing, only that it is part of a different module not being discussed here.


Hello All,
Now you can use gitter for Manufacturing Discussion.
I have created this gitter chat room for Manufacturing Module Volunteers, so that we can collaborate with each other and fix open issues.

For group conference call please use



Hi @JayRam! Were you able to compile every requirement that all has raised from this discussion aside from the First Cut? :smiley: Would be happy to see the document! Thanks!


Let’s talk so about Quality and Document management??

When you have a industry (like mine) with GMP requirements, you DO have to use a robust DMS!

As I said before, we are close to it, using the v12 quality management …

But it lacks in version control, access control… I’ve tried to install Athenolabs, without success… To try and understand all the documents, and, who knows… Fork it…

Can we talk in another threat??


Manufacturing is very dynamic and different companies will handle it in different aspects. I believe ERPNext has some interesting concepts, but those same concepts prevent it from being dynamic.

Currently BOM works like this:

  1. You can create Operations
  2. You can list materials

This structure is not dynamic sine it does not link the specific operation to the materials it requires.

I would change it to the following:
A) Get rid of operations, and allow user to create operations like an item. This will allow you to use operations as a material that does not affect your stock.
B) Allow BOM Materials to have children. Basically make it into a Tree View. This will allow us to create operations and add materials to it.
C) Allow Operations (Items Table now) to be SubContracted. So If I decide to subcontract an operation, the materials that go it with can be transfered to supplier warehouse. While the materials that don’t go in that operations, don’t get sent.

So basically I am saying, get rid of operations and consolidate that into the items table. Then allow the BOM Materials to have children.

This also will save the user from having to create multiple BOM for small jobs, but still allow them to work like that if required.

Again more flexible and dynamic.