Yeap, you'd have these tables:
1. Models
2. BOM
3. Inventory
4. Production Log
5. Movement
For example, if you have Model 1 and it needs 2 of Part A and 3 of Part B:
Then Inventory will contain two records: Part A and Part B
And "Bom Recipes" will contain two records:
Link to base
You'd then use the "Production Log" table to key in the number of each model you're producing, and then the "Movements" table that's linked to the "Inventory" table helps you do the math of "Number of models produced" multipled by quantity of that part required
To populate the "Movements" table you'd use an automation that'd trigger when a "Production Log" record is created, and its action would be to loop through the BOM for the model and create one record each with the quantity of the model produced. This would allow you to use a rollup field to sum up the current stock levels of each part in "Inventory"