Plenty of small businesses that do not think of themselves as manufacturers are manufacturing. You buy in bulk and repack. You assemble a set from four bought-in parts. You mix, you cut, you make a kit. The thing you sell is not the thing you bought.
The number nobody has
Ask what one finished unit costs and you get an answer with a shrug in it. Somebody worked it out once, on paper, when the parts were cheaper. Since then two components have gone up and the answer has not changed.
That matters because every other decision leans on it. What to charge. Whether a bulk order is worth taking. Which product is quietly the worst one you sell. All of it rests on a number that was right eighteen months ago.
Why the stock figure goes wrong too
There is a second problem underneath. When you make something, two stock events happen at once: components leave and a finished item appears. If neither is recorded, your component stock reads high — the system still thinks they are on the shelf — and your finished stock reads low or does not exist as an item at all.
So you run out of a part with no warning, and you cannot tell what you have to sell.
A bill of materials is just the recipe, written once
One finished item, the components it takes, and how much of each. Written down once, it stops being something a person remembers and starts being something the system can apply every time.
The value is not the document. It is that making a batch becomes one action instead of four pieces of bookkeeping that get done at different times by different people, or not at all.
How this works in BizGST Pro
You define a BOM — a name, the finished item, how many units one run produces, and the component lines. Then you enter a number of batches and press Produce.
Before anything is recorded, it checks that the components are actually there. If they are not, it refuses and tells you which one is short, what the run needs and what you have. That check is the point: a production run that silently drives a component negative is worse than one that does not happen.
If the stock is there, the run is recorded with its own number, every component is taken out of stock, the finished quantity goes in, and the finished item's average cost is updated to reflect what this batch actually consumed — blended with whatever was already in stock rather than overwriting it.
Where the component cost comes from — read this bit
Each component is valued at its average cost. If a component has no average cost recorded yet — nothing bought through the system, nothing to average — the figure falls back to that item's price.
For a raw material you only ever buy, that price field is often a selling price or a placeholder, and using it will overstate what the batch cost you. Nothing is broken, but the first few runs after you set up an item are the ones to distrust. Buy the component through the system once and the average cost becomes real.
The two costs that are not in it
This counts materials. It does not count labour, and it does not count overhead — no machine time, no electricity, no rent, no minutes of anybody's day. There are no work centres or routings here at all.
So the number you get is a true material cost, not a factory cost. For most small assembly and repacking work that is the number that actually moves — materials are the bulk of it and the part that changes. But do not set a price off it as though labour were free. Add your own margin knowing what the figure does and does not include.
One thing to watch
The stock check only applies to components that are set to track stock. A component with stock tracking switched off is consumed by the run and costed into the batch, but it cannot be checked against a balance beforehand, because there is no balance to check.