Process Based Manufacturing BOM Templates New Approach

Hi All,

It has been a long and entertaining journey with erpnext and its team esp @rmehta who has been an inspiration not just for his team but many in the community with his thoughts about being a giver to the community as a whole. With his inspiration and a lot of help from @max_morais_dmm I present to you a way for managing Process Based Manufacturing in ERPNext.

I have been using ERPNext for my organisation for the past 10 years, yeah its been a long time and a long journey with the team since my first transaction in erpnext DB dates back to 07-Oct-2010 and with these 10 years I have changed the way we work and somehow changed the way ERPNext works for our organisation and tried to find a middle path for both to converge.

In this endeavour I have been able to find a middle path for the final frontier in my organisation which is to track the production and be able to control my production with the help of some rules and for this we had to device a new set of logic in manufacturing. The current logic of using a BOM is applicable only for DISCRETE manufacturing and fails to apply for PROCESS manufacturing @rmehta would be very happy to elaborate on this differentiation since he is an expert on this even before starting his great venture of erpnext.

So coming back to the problem, the current setup of making BOM is applicable to DISCRETE manufacturing wherein we can separate the final product into its parts if needed but in process manufacturing its not possible for eg. Manufacturing of BISCUITS or CAKES where the Raw Material once mixed cannot be separated back.

We had been using ERPNext for the past 10 years but without the manufacturing since the BOM never used to suit us and now with the COVID lockdown I got a chance to resolve this long pending issue.

We have been able to resolve this issue with the help of a parallel set of doctypes in ERPNext.
We call them:

  1. BOM Template (aka BOM) instead of BOM we are using rule based BOM Templates and for 10k+ items we only have less than 200 BOM templates whereas if we wanted to create the BOMs we could have had more than 100k BOMs for 10k items.
  2. Process Sheet aka (Production Order or Work Order). Sorry we had to bypass the Work Order since there were many existing validations which we needed to bypass.
  3. Process Job Card instead of Job Card.

So once we receive an order for an item our cron job automatically creates a Process Sheet aka Work Order and a user would select a BOM template there could be multiple BOM Templates applicable to an item and once a Process Sheet is submitted it creates Job Cards for the Item.

On submission of the Job Cards there is a Stock Entry submitted at backend and hence the stock is kept in sync with reality.

We have used this feature for the past 2 months with more than 2k Process sheet created and more than 10k Job Cards submitted without any issue.

The BOM Template is based on the attributes and rules on the attributes of a Item and it automatically selects the Raw Material and also allows for manufacturing or the Work In Progress Items in case of consumption of the RM.

Some Screenshots:

BOM Template:

Process Sheet:

Once a BOM Template is made if you select a Finished Item to be produced then the system tries to find a suitable BOM Template based on its applicable item attributes defined in the BOM Template.
Based on rules of BOM Template Raw Material is automatically selected and presented to the user.

And also based on the rules the WIP items are produced. Process Sheet is more like a Work Order in ERPNext which would just let us know which process are to be followed for manufacturing an item and which RM is to be consumed and which WIP item is to b produced.

On submission of the Process Sheet Job Cards are automatically created also the priority of a Process Sheet and Job Card is automatically calculated based on the order flow and re-order levels of an item.

Priority of Job Card or PRocess Sheet are as under:
1~12 Priority is for Items which are on Order
20~30 Priority is for Items whihc are needed for Production of future items
30~38 Priority for items which are needed for stock

Job Card Screen Shots:

The job Card would consume the RM is needed in Process sheet or BOM Template on as per the formula. So if the BOM Template says usage of RM is to be between 90~100 kgs then Job Card cannot consume RM outside of this range.

The range is defined in the UoM as a setting and also the priority for Job Card is defined automatically via a cron job which runs every hour taking into account the new orders and changing the priority as per the current flow of orders esp for B2B manufacturing.

There is an option to enter the time wise details in the Job cards and can be disabled as well.
The Job Card submission automatically submits a Stock Entry in the backend. This is done so as to maintain the sequence in erpnext and also the usage of RM in Job Card is defined by a formula.

I know the documentation is lax again in this case as well but pardon my mistakes since its only a 1 man team to teach 20-odd people in my organisation and I hardly get time to prepare the documentation.

@max_morais_dmm I was looking for something like this from youi and now its working I hope it helps you as well for process manufacturing.


  1. Employees now take only items which are needed urgently and since the system automatically updates the priority the production people are always making items on Shop Floor which are needed more urgently than others.


  1. Process Sheet Doctype
  2. Planning Report
  3. hooks.

Once again the documentation is lax but again it has been thoroughly tested at my end in production environment for the past 2 months. Hope some1 finds it useful.


Amazing stuff! You have built the foundation of a Product Configurator, I think, where an Item can be broken up into attributes and a formula defined for the input raw materials / components and it’s consumption there of.

The Product Configurator is especially advantageous to organizations that have to deal with tens or hundreds of thousands of combinations - or even millions, but really gets a finite (thousands) number of point products that they have to manufacture and deliver.

Can you please organize a webinar and show us this in action?



1 Like

Thanks @JayRam for the kind words. I think a webinar would be a good idea if many people are there else I can make a video as well and upload it here let me know which ever is good for the community and I open for both the options.

1 Like

@adityaduggal I can send out the webinar link. If nobody else shows up, I’d be super happy that the webinar ended up being a 1 to 1 Demo.



Interested in both, or recorded webinar

I would definitely be interested in this

No Problem, we can then find a suitable time since I guess this a holiday time we should keep a webinar somewhere in the 1st or 2nd week of Jan 2021 that ways more and more people can pitch in.


Its Great, me too attend

As Adithya suggested, we will schedule the Webinar in the new year. Will ping you all in a week and we will work out a date that’s convenient for most of us.



1 Like

Great stuff. I am interested in seeing how it works.

Great Idea. @adityaduggal. Let me also explore this some more.

Would love to be included in the webinar.

In fact a broader webinar on manufacturing, might also work.

Process manufacturing is a must for a great product like ERPNext.Thank you at @adityaduggal for your selfless contribution.We will definitely be interested in the webinar.

Thanks for the insight. Would be interested in attending your webinar.

All the best!

Process manufacturing will need a lot more automation and integration with IOT tools for it to be scalable and avoid creating data entry operations at every step.

1 Like

Nice work initiated. Webinar will be a nice opportunity to understand.

Cool stuff @adityaduggal ! I liked the BOM Template - any chance of making this contributable?

Wow, if I understood well you created a template based on attributes and on rules? This is what I was anxiously waiting for!! We are lighting and furniture manufacturers and we’re ending to have even 15 Bom’s for a single item… your approach is very very wise. @rmehta if we contribute could there be a chance to have it in the core?

@adityaduggal: Shall we schedule the Webinar for this week? Like Thursday? We can decide on the time based on the Time Zones that people would be logging in from.



I will join from #Pakistan.

Sorry people for note being able to reply for a few days was out of Delhi for New Year and then got stuck in a remote place for 2 days due to the farmers’ protest happening for the last 1.5 months.

All my code is always contributable just that your standards for contributions are too stringent and most of the times one-man coders like me get disheartened on rejection of PR since there is not much of hand holding and too much of work to do. I am all game for the contribution and the code is written with generic stuff in mind instead of my organisation as a whole in mind so I guess it would be applicable to most of the users of ERPNext if its merged.

Well 07-Jan (Thursday) seems kind of not possible, however we can have the webinar on a Friday or any other day 11-Jan is also out of question for me. So if we need to connect we can do it on 08,09,10 and then 12th or any other day that is suitable to all.