Try ERPNext Buy Support Partners Foundation

[New Feature] Operations in Manufacturing

Currently there has been some limitations in the Manufacturing Module and some features to be improved to suit manufacturing a more complicated finished product. One major problem that we have identified is that features around Operation is not fully identified/used. Currently we have identified these issues:

  • We cannot identify which items in the Materials are under which operations.
  • We cannot start Production Order if ALL Materials are not in stock because you will have stock error on Save whereas in reality, you can actually start one Operation while waiting for other stocks in another operation.
  • We currently don’t have “Set-up Time” setup in Production Order and in Operation.
  • It doesn’t make sense to set-up just Operation Time in operation since we need to have “Set-up” as well as an important step before every operation.
  • Operation Cost is supposedly multiplies by the “Qty” produced.
  • Each Operation is a WIP and it doesn’t make sense to have 1 WIP Warehouse for all the operation. This will not allow you to trace in which WIP operation does an Item is already in real time.
  • In the current design, we cannot identify how many are already produced in an operation and how many are pending. We only see the general progress of all the operations.
  • In every operation, we don’t have Start Date/Time and End Date/Time to know how much time we have already consumed for the particular operation. There is just this general Start Date and End Date for the entire Production.

These are our new feature suggestions to have a solution to the issues above.

  • Routing code links from Material Item to Operations to identify which material is under which operation.
  • We will remove Production Order validation to check material stock when clicking Start. Rather, we will implement a start/stop on the Operation level and have the validations there.
  • We will add Setup Time and have Total Runtime as “Setup + Operation Time”. This can be integrated to the Timesheet creation as well.
  • Operation Cost should not be defined under Operation but should be defined and Identified in the Production Order based on the Qty to Produce.
  • Each Operation should have each own Operation Warehouse instead of the general WIP Warehouse. This will be very helpful to users to see the real progress of the Production Order.
  • Add QTY Finished and QTY Pending fields in Operation.
  • We need to allow functionality to make Material Transfer using Operation Warehouse instead of the default WIP Warehouse.
  • Add Start Date/Time and End Date/Time for each Operations.

Any thoughts and suggestions will be greatly appreciated.



You’ve touched on some of the functionality that I’ve been wanting to see as well. Here are some thoughts on a few of the features you’ve suggested.

Routing code links: The BOM seems to me as a good mechanism for this. Adding the ability to link operations to the BOM and adding takt time values (setup+runtime+queue) with labor costs to the operation, gives a good picture of material and labor cost in one place. So something like the BOM having all the BOM items, grouped by operation. Then adding the takt time fields to the operation.
Note: We would have to allow for duplicate items in the BOM to cover the case where the same item is used in multiple operations like screws etc.

Production Order Validation: A work-around for not being able to release work-order items with a part shortage by checking the box “Allow negative balance” in the Stock settings. Not the greatest solution, but it does allow you to release units on the work-order.

Setup Time: I would would like to see setup time, runtime and queue time (or post runtime for things like curing etc) for a total takt time.

Operation Warehouse: As for the having multiple WIP warehouses, I’m leaning more towards having a proper “location” or “bin” settings within warehouses. That would also be a benefit for stores and finished goods warehouses by having multiple locations. Think storage racks with rows and bays. Then allow the ability to associate a WIP location with a workstation. This would still allow for requirements planning by warehouse and still give the ability to segment a warehouse.

So in summary:

  • Add the ability to group BOM items by operation
  • Add the ability to add takt time and labor cost to an operation
  • The operation already links to the workstation
  • Add the ability to link the workstation to a location within a warehouse

These are just my two cents worth.


@creamdory best to start with one feature at a time and send pulls, so that its easier to merge to the core.

We will @rmehta , Thanks!

Hi @jvantslot , Thanks for adding and confirming my thoughts on this.

Production Order Validation: A work-around for not being able to release work-order items with a part shortage by checking the box “Allow negative balance” in the Stock settings. Not the greatest solution, but it does allow you to release units on the work-order.

This is a good workaround but it would be best to have the ability to start per Operations as suggested above.

Setup Time: I would would like to see setup time, runtime and queue time (or post runtime for things like curing etc) for a total takt time.

This is a good addition to the feature.

We can discuss more of this on specifics during development and do this together.



Thanks, @creamdory for taking initiative & volunteering manufacturing module. Just got this thread, and wonder about the milestone for discussed improvements. Any issue raised? Kindly share link.

Hi @asharamseervi ! Please look out for our future PR for this issue. We will start sending them by the beginning of next year. I will post some links here when we have sent one. Thanks!


Thats an very useful List needed in the manufacturing module
I would like add something to this
if every operation is mapped wrt start and end time then…
if every operation has already been fixed with a process time (the time taken to complete an operation on a work centre IN-HOUSE considering all required aspects) then
A job ticket can be issued to an operator on a work center
The Operator logs in the start time and end time of an operation
The operators Incentive can be calculated at the month end for incentive payments
the average percentage time taken by an operator to complete an operation
this can map operator and work centre efficiency

1 Like

Have begun using the work order and job card features
my observations are
Changes to workstation and operation are not possible once the bom is submitted
Use Case
A particular operation is designated to a particular work center and the bom is created
what if that work center is under maintenance
then i may have to process the operation in a different work center
what if i dont have a similar work center that could do this operation, then i might have to outsource the operation
In all above case, i might have to create different bom’s which is tediuos
In my opinion, the operation should be selected at the work order level
Because, at the time of issuing a work order, i should be able to select the operation and work station
Operation Number is also required so that each operation can be numbered
Use case 2
what if i need to add another process
Imagine my steel frame goes to the customer without painting
but, for this particular batch, he needs the steel frame to be painted
then again the bom should be remade
Any thoughts on this

You can duplicate the BOM, without making it default, and here you can modify it according to your needs. If it is a one-off, after using it you can mark it not active

Thanks Sorin for your reply
I consider ITEM and BOM as holy grail of manufacturing
Once decided, until and unless there is change of basic raw material, i wouldnt tinker with bom
tinkering with bom now and then is actually pretty nasty and can loose track and control
In an manufacturing setup, there is less than 1 percent chance of the raw material getting changed
But that is not the case in process
there is continuous innovation or improvement happening in process to either cutdown cycle time or to improve quality or functionality
hence, my opinion is that user should have the flexibility to define and select operation/workcenter as i have described in the last post.
The user should be able to…
after selecting the bom
have flexibility to select alternate workcenter
if workcenter not available then …to be sent to sub contract
add or remove operations
thanks and regards