Bill of materials and manufacturing in OpenCart

If you assemble, bundle, or build what you sell, OpenCart's single stock number hides the truth. A gift box shows "12 in stock" - but that really means you have ribbon, boxes, and contents in some combination. When the same component feeds twenty products, no single number describes what you can actually make.

What a bill of materials is

A bill of materials (BOM) is the recipe for a finished product: which components go in, and how many of each. A candle kit might be one jar, one wick, 200g of wax, one label. Write that recipe once and stock math stops being guesswork:

  • Components - the parts you buy: jars, wicks, wax, packaging.
  • Finished products - the items customers order, defined by their BOM.
  • Builds - the act of turning components into finished goods.

How a build works

Running a build is the manufacturing step in miniature:

  1. Choose the product and the quantity to make.
  2. Component stock decrements by the BOM quantities - build ten kits and ten jars, ten wicks, and 2kg of wax come out of inventory.
  3. Finished product stock increments by the build count.
  4. The unit cost rolls up from component costs, so the finished product's cost reflects what actually went into it.

This keeps both inventories honest. Sellable stock means assembled stock, and available-to-build - how many units current components could produce - becomes a real number you can plan purchasing around.

Why one stock number fails makers

Without a BOM, makers track components in a spreadsheet and adjust the OpenCart quantity by feel. Two things break: overselling (the site says in stock, the bench says no parts) and invisible margins (the product's cost was never updated when a component price moved). A bill of materials fixes both by making the dependency explicit.

What to look for in an OpenCart manufacturing extension

  • Components as real inventory - parts should live in the same system as products, not a side list.
  • BOM per product with quantities - "contains wax" is not enough; "200g wax" is.
  • Build transactions, not manual edits - stock should move because a build ran, with a record attached.
  • Cost rollup - the finished unit cost should be derived from parts, not typed in once and forgotten.
  • Available-to-build - the answer to "how many can I make right now" without a calculator.

Manufacturing & BOM brings this to OpenCart 4: component inventory, bills of materials, builds, and cost rollups inside the store you already run.