Here goes. Let’s say a company makes a stand from MS Raw Material. This stand needs to be painted and that part is outsourced. Once the painted Stand is received back, let’s say you need to fix it to the Book Shelf and it becomes the finished goods.
First you need to create the following items:
and items for the appropriate MS Raw Material (For Simplicity I will assume that only one raw material - MS-Angles is used)
Ensure that you have clicked Supply Raw Material for Purchase, clicked for STAND-PAINTED.
Now you need to build the following BoMs:
STAND > MS-Angles X KG or Meters, or whatever is the Unit of Measure that your Shop Floor is comfortable with.
1 No. STAND-PAINTED > 1 No. STAND
BOOKSHELF-FG > BOOKSHELF 1 No. + STAND-PAINTED 1 No.
Now, you need to create a virtual warehouse for Picasso, Inc. - Your Painter.
Then you need to create a Purchase Order for Picasso, Inc. where you Check Supply Raw Material and call the STAND-PAINTED BoM into the P.O.
Now as you manufacture the STAND, you pass the Manufacturing entry - Stock>New>Stock Entry>Purpose-Manufacture and you use the BoM to consume X Units of MS-ANGLES to make the STAND. Make appropriate warehouse choices.
Now, you pass another Stock Entry Purpose-Sub Contract and call the PO for Picasso, Inc. and call the STAND-PAINTED>STAND BoM into this entry.
You select the Warehouse into which you made the STAND manufacturing entry as the Source Warehouse and the Picasso, Inc warehouse as your destination warehouse. You submit the Stock Entry and you ship out that many units of the STAND.
When the STANDs are ready and are shipped back to you by Picasso, Inc., you go to the PO>Make>Receive Material. Now you receive that many units of STAND-PAINTED. And as you submit this entry, that many units of STAND get reduced from your Picasso, Inc. warehouse. ERPNext uses the BoM you created to make this association between STAND-PAINTED and STAND. So, to know the number of STANDs that is with Picasso, Inc. at any time, all you have to do is run a stock balance report for the Picasso, Inc. warehouse.
Now, you complete up the BOOKSHELF (without the stand and you pass a manufacturing entry for the BOOKSHELF.
Depending on whether you do the assembly of the BOOKSTAND and the STAND-PAINTED at your factory or at the customer site, you can either pass a manufacturing entry that consumes up 1 No. of BOOKSHELF and 1 No. of STAND-PAINTED to make 1 No. of BOOKSHELF-FG or you can use the Product Bundle feature where BOOKSHELF-FG is made up of BOOKSHELF 1 No. and STAND-PAINTED 1 No. I would use the former approach when the the Bookshelf is assembled in the factory and shipped to the customer and the latter when the two components are shipped to the customer and assembled at the customer site.
Hope that helps.