[Enhancement] Work Order Material Consumption

Currently the only way you can book raw materials against a production order (consuming them) is by finishing a full or partial quantity of a production order. Meaning if you finish 50 pieces you consume the ras materials of 50 pieces.

This does not reflect reality in which you will have to be able to consume raw materials against a production order while not yet finishing the product and keeping it as work in progress.

The Solution:

Instead of finishing a set quantity of an item within a production order and consuming the necessary raw materials 1-to-1 we want to consume materials for manufacturing of a production order without booking a finished quantity. This may be necessary if certain operations are finished and require for materials to be consumed without creating a final product yet.

Next Steps:

The Newmatik team will take the lead on this. We are creating issues in the ERPNext issue tracker and we will be sending in pull requests shortly.

I hope there are some good ideas and contributions from the community, especially from manufacturing businesses who want to see this feature.

What needs to be done:

Step 1: New Stock Entry Purpose “Material Consumption for Manufacture”

We want to add a new Stock Entry Purpose “Material Consumption for Manufacture”. This acts similarly to “Material Issue” except it must be linked with a production order and is thus properly recorded.

This should also be implemented as a button in the Production order itself so these stock entries can be created semi-automatically.

For us we have hooked up ERPNext to our machines so our machines will actually make these stock entries without any user interaction.


Step 2: New Column “Consumed Qty” in Production Order

Now that we are able to consume materials without finishing final product we need to record what has been consumed. We want to be able to consume as much or more as the required quantity.

We want to add a new column “Consumed Qty” in the Production order required items child table .This summarizes all material consumptions through either a “Manufacture” entry in which 1-to-1 final product is created and raw materials are consumed and the material consumption for manufacture which are consumptions for WIP that are not turned into a finished product.


Step 3 : Change “Manufacture” Stock Entry and “Finish Button”

When making a Stock Entry of purpose “Manufacture”, lower the quantity of the raw materials to be consumed by subtracting the quantities that have been consumed.

Likewise the UI of the “Finish” button should also suggesting only consuming what has not been consumed yet.


Other considerations:

  • How will we reflect the WIP value of those materials consumed in a production order without creating a finished product in accounting?

How you will the stock valuation of the manufactured item change after finishing is also a question.

I suggest:

  • “Material Consumption for Manufacture”, can be like a transfer type stock entry

  • The material is moved to a ‘Virtual Consumption Warehouse’. Therefore it moves out of WIP. So WIP stock ledger reflects correct numbers.

  • When we finish the Production Order, partially/completely, items from the ‘Material Consumption for Manufacture’ are added to the ‘Manufacture’ type stock entry on the left side.

So therefore the ‘Material Consumption for Manufacture’ Stock Entry should have another status like ‘Pending Backflush’. Once all items from the Stock Entry are used, the status changes to ‘Consumed’

@dhananjay some thoughts about this comment:

  1. Should we ask user to put “Consumption” warehouse in this design? and Does that mean “Material Consumption for Manufacture” have no accounting entries like the transfer? Then Once user decides to “Finish” a product, then all consumptions will be pulled into the “Manufacture” Stock Entry same as the old design?
  2. Or we can entirely have issuance for “Material Consumption for Manufacture” but will put the accounting entries in a temporary account (WIP) and used it up during “Finish”.
  3. Should we add a “Manufacture Setting” to prefer “Backflush” record keeping or not backflushing and recording the consumption when it happens?

We have created a PR and we are now waiting for Frappe’s comment to see how they want to deal with accounting.


I think this discussion should be moved to the Pull Request.

I feel it should be a manufacturing setting where the user selects a consumption warehouse. Else it could also be an option presented in each Production Order.

I am assuming that the “Consumed Material” is not scrap, also no value addition has taken place at the current stage. The raw material is in a form where it may/ or may not be retrievable. It should not affect accounting.

Could you elaborate?