Every builder has the same story: more cement was bought than the walls could possibly have consumed. The usual conclusion is theft, and the usual response is a padlock.
Sometimes it is theft. More often the material was never properly counted in, was used wastefully, or was ordered twice because nobody could say what was already on site. A padlock addresses one of those three.
The four ways material actually leaves
It was never delivered. Twenty bags were paid for and eighteen arrived. Without someone counting at the gate against the delivery note, this is invisible, and it is invisible again next time.
It was wasted. Mortar mixed in the wrong ratio, more than the day needed, and what is left over sets. Cement stored where it draws damp. Offcuts from stock that was cut without measuring twice. This is usually the largest single category and the least discussed, because nobody has to be blamed for it.
It was ordered twice. Nobody knew what was on site, so the fundi asked for more, and more came. The material is not lost at all. It is sitting in a corner, paid for twice.
It walked. Real, and easier to detect once the first three are handled, because the gap between what was received and what was used finally means something.
What fixes it
Count everything in, at the gate, against the delivery note. One person, on the day, noting what actually arrived versus what the note claims. Goods received, not goods ordered, is the number your costs should be built from. This one habit finds more money than any lock.
Record what leaves the store, and for what. Not a bureaucratic requisition system, just a notebook is enough. Date, item, quantity, and which part of the works it went to.
Set an expected quantity before the work starts. From the drawings or the bill of quantities: this wall should take roughly this many blocks and this much cement. Then compare. Variance against an expectation is information; consumption with no expectation is just a number.
Look at the gap weekly. Received, minus used, should equal what is on site. Check it while the numbers are small enough to explain. A discrepancy found in week three has a cause somebody still remembers; the same discrepancy at handover is unrecoverable.
The point about wastage
Wastage is not a moral failure and not fully avoidable. Every trade has an expected wastage percentage, and pretending otherwise makes the whole exercise dishonest. The useful question is not "was there wastage" but "was it in the range we expected". A site running at twice the expected wastage on one material has a specific, fixable problem: bad storage, a mix ratio nobody agreed, or work being cut without measuring.
Why this is cost control, not stock-keeping
The reason to do any of this is not tidiness. It is that on most builds, the moment anyone discovers the budget has gone is at handover, when the answer is a bill. Materials counted in, issued out and compared to an expectation give you the same discovery in week six, when you can still change what you buy, how you store it, or who mixes it.
That is what Build is for: goods-received notes, material and wastage tracking against the bill of quantities, and live budget-versus-actual, so the overrun shows up while it is still an overrun and not yet a debt. The habits above are the real advice either way: they work with a notebook, and they are what any software worth buying is automating on your behalf.