Manufacturing Module Enhancement - First Cut

I looks like you edited the content and deleted all the specifics? I just see a blank sheet after “Here’s the first cut”…

Yep. Looks like, doesn’t it? @rmehta: Did you have something to do with it? Do I repost the specifics or did you have other thoughts?

I have recovered it for now…

@JayRam @Ben_Cornwell_Mott I had moved to to a google sheet

I guess somehow it did not save!

For the Production Scheduler Engine, I can propose (and potentially implement) the following specific solution:

  1. The scheduler looks at all Open Production Orders and creates a list of all items/qty needed to produce.
  2. The system creates a Production Event (based on the Tasks doctype) for each Production Order (if it doesn’t already exist)
  3. The scheduler compares the list of in stock vs out of stock items and finds the Material Requests linked to obtaining the out of stock materials.
  4. The scheduler creates Production Event docs for each Material Request, filling in expected dates and times with the information from each material request. (Would check the status of linked SQs, Purchase Orders, Purchase Receipts, etc to find out % progress) - if this Production Event exists, it just updates the dates/values)
  5. The scheduler plugs in the dependent Production Events for each Production Order with the Material Request-based Production Events and child Production Order-based events.
  6. At this stage, the system knows/can figure out the earliest start date for each Production Order.
  7. The system goes through the list of Production Events (sorted by date, then a new field called Production Priority) and checks workstation availability, adjusting Production Event start date/times to meet Workstation schedules.

Once this is done, the system could show the entire Production Plan in a Gantt chart, which would be available to view at any time (not just after running the scheduler). These events could be refreshed either by the click of a button, on a periodic basis, or when Material Requests / Production Order status’ get changed. Separately, there would be a function to allow Timesheets to be build based on the production plan for a specific period of time (Today, This week, etc).
NOTE: Keeping the timesheets and production plan separate is important because the production plan will constantly be changing based on delays in ordering, receiving materials, building assemblies faster/slower than scheduled, etc.

The Production Priority is a field added to either the Production Order, the BOM, or the Item (my preference) that is a number used to rank the priority of different items. It will basically tell the system which assemblies to build first if all items are in stock.

There would be a Production Scheduler Engine settings menu with these options:

  1. Allow partial builds of Production Orders - used to start production orders if incomplete quantities of parts are in stock.
  2. Options for adding extra days to Material Request and Production Order processing (e.g. add 24 hours between creating Material Request and issuing SQ, another 2 days between SQ and Purchase Order)

Any comments / suggestions are welcome. It would be a fair amount of work, but I think bring badly needed functionality to ERPNext!

4 Likes

Excellent! You drive the Production Scheduler Engine. Let’s begin doing the mockups of the unstream (BoM) and downstream processes (material move lists, machine scheduling, operator scheduling, etc) from the PSE, identify the interdependencies and and requirements. Let me send you the mock up of the BoM today. You can then add the PSE requirements from the BoM.

Sounds okay?

Jay

2 Likes

Just wanted to let everybody know what @UmaG & I have begun the mockups on the manufacturing module. We will share the site next week, though the work will still be ongoing, for the community to comment, get involved, etc.

Thanks

Jay

3 Likes

Thanks

Jay

Hi

There are a few enhancements I can propose. These can come in later but, would be nice to consider during development, if everyone agrees.

  1. Expected time of delivery for an order (This is the #1 question a customer asks while placing his/her order)
  2. Forecasts ( At finished goods and raw material levels based on a suitable formula considering last year’s and last month’s performance. This is something Amazon does for its sellers ie. suggests ordering items based on past weeks sales)
  3. Maintenance module (example say we setup tool for preventive maintenance after 1000 operations, so the tool will keep a track of no of operations on the machine and remind when maintenance is due)
  4. Efficiency One of the most simple and effective Performance indexes in any operation is - efficiency
    We can easily calculate efficiency at a workstation if we have a database table containing->
    Machine number
    Part Number
    Number of operations/strokes per part
    Number of operators
    Target Cycle time

When this is referenced to actual data, we can easily calculate efficiency at the workstation/process line

For prioritization of orders could we have an customizable formula dependent on parameters-

  1. Customer Rating - We could add a customer rating based upon his credit score, reliability, history, profitability based on discount offered, etc.
  2. Date of order -
  3. Total common orders for the product ( In a make to stock scenario, we usually have one product which if made could satisfy a lot of customers rather than one or two)
  4. Manual Priority
    So a final prioritization would be 1xA+2xB+3xC+4xD.
    However if we could somehow keep this customizable, there’s nothing like it.
    We could also have priority modes → 1. Maximum no of Customers satisfied or 2. Maximum individual orders completed. (This is something similar to GPS where you get to choose between shortest distance or fastest time)

Hi all,

The trick with all enhancements is being able to break it off into small pieces, large enough to excite people, but small enough to manage.

With this in view, I think if we are able to deliver the first phase on the manufacturing module to deliver all components of this flow diagram, I think it would be a good start.

Please review and provide your inputs.

Thanks

Jay

2 Likes

@JayRam, @UmaG
I am new to erpnext. Just started trying out it for myself. These could already be in erpnext… but i don’t understand it yet.

I am most consered about erpnext lacking theses things
A) Tractability
B) Work Flow
C) Signaling Requirements.
D) Automation of hard-copy reports / labels.

A) Tractability
All the following information for every operation needs to be recorded

  1. Who is the operator(s),
  2. What lot(s) of material did they use
  3. What machine did they use
  4. When did they do the step
    ie. Each part being added to the main bom needs a line for trace-ability.

B) Work Flow:
During set up the ability to bundle logging together to keep the process easy. like trase-aibility requires each of this information for each part but it is a pita to not group all the actions togeather.
also less menus, less etc like a cashier set up perhaps

C) Signaling Requirements.
We would need some way to link what is happening on erpnext to the products that are on the shop floor
I.E. every pile of stuff needs at the minimum a hard label with. Part#, Description, Lot# , Date (exp et), Qty per package.
I would suggest logistics bar codes like GS1-128
to link the hard labels to erpnext

D) Automation
The ability to automatically print labels/ reports at any stage.

hahaha sent early,
Just wanted to let you know what would help the subset of feeding tube mfg.
I hope this helps you.
-S

Hi
I would be interested in this module specially.
Has there been any progress?

Hi Everyone!
Few inputs from my side:

  1. There should be a shortage stock allocation for specific projects/order.
  2. It should have a way to transfer the shop-floor stock from one project/order to another project/order.
  3. Shortage Report should include only those stock which are not allocated to any project/order and pending to receive. It would be good, if we have a drill down report which shows the further detail of the same.
  4. MTO (Make To Order) has a workflow that, they initially check the free stock (not allocated to any project/order) and based on that we check availability of the same.
  5. We will be able to control our production and inventory, if our Material Request has multiple delivery dates for 1 item.
  6. Core Manufacturing also includes the outside Jobwork-Challan, RGP (Returnable Gate Pass) , NRGP (Non-Returnable Gate Pass) etc.

Regards
Ruchin Sharma

1 Like

@JayRam It has been more than a year since start of this thread.(Jan 2016)
Could you please share status of this project?

I am happy to make this module in collaboration with others. Can set the ball rolling by setting up module, doctypes, etc.

1 Like

What is current status on development

1 Like

production planning and scheduling, sometimes also called APS is very complex, there is already one well known open source APS system https://frepple.com/ out there, interface to Odoo and OpenBravo is already available, I am wondering whether we can also consider building the interface to FrePPLE instead of building this feature in ERPNext( re-inventing the wheels)?

1 Like

Am I to understand that the progress on enhancing the manufacturing module has stalled? Is there a newer thread which picks up this discussion?

This outlines plans and work in progress [Proposal] Manufacturing Roadmap Apr - Jun 2020

2 Likes