Multi-level BOM Design Consideration


I am researching some time and I have read the documentation. But I need some help implementing BOM’s the best way possible.

I am implementing the ERP system to an manufacturing company which produces beds and sofa’s.
Now my questions are;

  • When should i consider creating an BOM?
  • Do I really need multi-level BOM’s?

My Scenario
I have bed’s consisting of multiple parts. Like a box, mattress, headboard. Let’s take the headboard as a sample. How a headboard is produced:

  1. First the wooden parts are taken from the stock and are assembled to a wooden headboard
  2. After that the foam is taken from the stock and glued to the wooden headboard
  3. After that fabric cover is been taken with the glued headboard and upholstered
  4. After that packaging will hapen and the product is finished

Do I need to create a BOM for every step above? Because every part of the process is a sub-assemby for the headboard. Or is it fine to create one BOM which consist of all the material needed and add the operations as above.

Best regards,
Mert Somun


I was still searching on the internet for best way design my BOM list. And I have found the following information:

One of the decisions you will have to make is how to design your bill of materials particularly if you have multiple-production steps or sub-assemblies. The basic option are:

  1. Include all sub-assemblies in the same bill of materials and use steps to delineate them or
  2. Create assembly items for each sub-assembly or step

The decision comes down to the answer to this question. - Do I produce the entire assembly at the same time? Or do I inventory sub-assemblies/steps so I can build the top level product later? If the answer is No, then you should design your BOMs using options #1. #1 above is easier to implement as you would not be required to create work orders for each sub-assembly/step. For #2 you can create work orders for any sub-assemblies at any time then use them in the work order of the top assembly like any other component.

When I answer this question, Yes normally we produce the entire assembly at the same time. Yes sometimes we cancel or pause an work order and return later. The only thing we don’t produce at the same time is the fabric been cut and sewed, this takes more early in place.

You have to take a decision based on the trade offs

  1. If you create a very detailed Multi level BOM
    Positive: You will get stock of all the sub-assemblies, will help you in WIP inventory management
    Negative: With many levels, multi-level BOM can become difficult to manage since each sub-assembly manufacturing will be followed by material transfer to the next workstation

  2. If you create only one level BOM
    Positive: Simpler process to manage
    Negative: You will not know the WIP status

So you need to find the right balance based on

  1. What you want to track and
  2. How many levels can your organisation manage on shop floor

Hi Manan,

Thank you for your fast reply. I also want to say thank you for your Youtube videos.
I am new in the ERP world and very new in ERPNext. So I will summarize it for my point of view.

If I create multi-level BOM I need to transfer every sub-assembly to the next workstation. As for in my scenario this means I need to create a material transfer for the wooden headboard going to the workstation where the foam will be glued? If this is the case this is not a option for me.

Because our workstations are all together and the progress of wooden headboard going to glueing is like 1-3 hours. The workstations follows each other very fast.

Hi @bithons
Thanks for you appreciation. You have landed in the right place, love the community and amazing product that team Frappe has put together.

With regards to your question

Then it does not make sense to create a subassembly for each sub-component.
It would be better to just create a single BOM with all the Raw Materials as input, creating a single Work Order and 1 Stock Entry for issuing the Raw Materials and 1 stock entry for Backflush (Adding FG and Subtracting RM).

Hi Manon,

I will create one work order which consist of multiple bed parts like I said in my topic:

  • Box
  • Mattress
  • Headboard

But I want to give every workstation a “pick-up” list for the raw materials. This means the following:

  • Wood workers take wood as raw materials (no foam in their list)
  • Foamers take foam as raw materials
  • Upholstery take fabric as raw materials

How can I archieve this? Because now I will have 3 Bom’s 1 work order with ALL the raw materials. But I need to seperate these raw materials into three workstations. If there is another approach I will consider it implementing it in my manufacturing progress.

Best regards,
Mert Somun