Our product database keeps a record of 'raw' materials and 'finished' goods. The 'raw' materials have costs associated with them. In the "Kitting" area you define a finished product with the individual raw materials which make up the finished product and the quantity of each.

widget #1 - .05 Qty 1
widget #2 - .10 Qty 8 total cost .80
widget #3 - .15 Qty 1
widget #4 - .10 Qty 1

Then you would set up a manufacturing job to manufacture 100 'finished' product. The software then looks at all the 'raw' materials which are need to produce 100 'finished' products. If you don't have enough of an item the system will tell you and will not allow you to 'complete' the job until you have enough of all the 'raw' materials. When the job is complete and you are ready to close it. You indicate how many 'finished' products were manufactured and the software creates an inventory record with the number of items manufactured (100), the date placed into inventory, and the cost per item ($1.20). The software pulls raw materials on a first-in-first-out bases. Only the 'finished' product has a price associated with it.