Currently, Manufacturing related documents are all over the place, Work Order, Job Card, Operations, BOM, Consumption. There is no overview of the production lifecycle at one central place where users can track the whole process and manage it as well.
Elexess has received requirements from two of our clients for such a system. I am sure there might be other manufacturing companies who would love to have something like this.
We gave it some thought and came up with the idea of having a Manufacturing Execution System(MES) in ERPNext. An MES will help achieve that goal by tracking and gathering data about the complete production lifecycle.
We have put together a mockup of what it should look like. The idea is that the user will scan the Work Order and all the information about it will be displayed. And the user will also be able to perform some actions on it like making Consumption, starting stopping the Operation, creating a Job Card.
We have not started on it yet but it is in our pipeline. This will be vue.js page with all these components on it. This off-course requires more discussion and design improvements.
We wanted to have attention from the community and Frappe Team on it. We need to know if this is something that should be developed within the ERPNext, will the core team be interested in something like this, or should we develop it as a separate app. Since it is a huge development, we can use inputs from the core team if they are interested.
Amazing idea. I hope it will be part of ERPNext…Go for it I’m sure there will be lots of input. Let the ideas start rolling in. This community Rocks!!!
We are not asking the core team to develop it, we never do. We always develop and contribute it back. But we do need design discussions with the core team so that we are on the same page, that is how we always work with them.
This is fantastic. We have been talking of an MES for a while. Some quick points.
Use of VueJS in Frappe Framework is discouraged because there is no class hierarchy and no reuse of code, it will have to be object oriented JS, similar to the new POS.
Please engage with @rohit_w and @nabin for reviews on a regular basis. Feel free to ping them on the contributors channel on Telegram!
We will do a design review once the functionality is done and we have a working model.
Please keep contribution guidelines in mind, specially adding comprehensive tests!
This is in development, but we intend to use it on shop floor.
This is per operation. Made using Vue.js open source, but not complete and specific to our ideas, maybe we can extend this or take some ideas from here develop it separately.
Class hierarchy can be a source of several pain points. For example, React Hooks solves many pain points of React Classes.
Class hierarchy makes it difficult to manage State because class hierarchy can become deeply nested. It can also introduce unintentional bugs because of unforeseen / unwanted side effects in life cycle methods.
React class is giving way to React Hooks because of this.
Vuejs does not have these pain points precisely by abandoning class methodology and adapting the lego like approach of components.
Frappe is ideal for Vuejs. I sincerely hope more examples like this Manufacturing MES effort can be done in Vuejs. The advantage is:
Code reuse is achieved because pre-built components from other developers in other projects can be reused.
Loosely coupled methodology is easier to debug because you don’t have to dig through the deep hole of class hierarcy.
We integrated Frepple planning engine in the past version for a customer of ours. This is a good opportunity for us to discuss and come up with a great module to be given back to the community. Let us plan on an online meetup with a given agenda and a fixed time?
It is worthwhile to consider making smaller UI enhancements to the current Work Order dashboard in the work order.
This may not let you display information in multiple columns but will help in
Making the feature progressively a part of ERPnext(smaller commits)
The mobile view will not be very different than the desktop, which may not be the case for the proposed design
Action button and a dynamic frappe-datatable(if there is such a thing) may help showing dynamic behavior in table