Using locations is more complex but gives you full insight into where and in what state is all of your stock. You can choose to track inventory coarsely, for example, having just a few internal locations like “In Transit”, “Production”, “Finished Goods”, “QC Hold”, and “Scrap”.
Having just one location to store all of your unfinished goods or raw material (in this example we called it “Production”) makes balancing inventory when building from the BOM much simpler as you will not need to create a single virtual location from which to collect and pull inventory that then needs to be routinely balanced.
The flipside is that if you do choose to track your unfinished goods or raw material in more than one location then you will have an additional reporting and tracking step to manage a temporary location like “Backflush”, as described below.
Here are some examples: