Buying and storing feel like different jobs, so they get different systems. A purchasing tool on one side, a stock sheet or standalone warehouse system on the other, and a storekeeper who bridges them by typing.

That bridge is where stock numbers go wrong.

How the drift happens

A purchase order goes to the supplier. Two weeks later a truck arrives. Someone checks the delivery note against a printed copy of the order, signs for it, and, when the day allows, updates the stock sheet.

Each step can slip. A partial delivery is entered as complete. A quantity is mistyped. The update waits until Thursday. Across a few dozen orders a month, the stock figure becomes one nobody quite believes, and someone schedules a physical count to fix it. The count is accurate for an afternoon.

One event instead of two

The fix is structural. Goods receipt should be the one event that both records what arrived against the order and puts it into the warehouse, in the same transaction. The chain is:

  1. Purchase request, raised against a need such as a BOQ line or a stock minimum, and approved.
  2. Purchase order, sent to the supplier and tracked as Sent, Partially received or Received.
  3. Goods receipt, recording what actually arrived.
  4. Supplier bill, matched to the order, feeding payables.

Partial deliveries are the test. Take 25 tonnes of rebar arriving as 10, 10 and 5 over two weeks. Each receipt posts against the same order and moves stock the moment it is saved. The order reads "18 of 25 T received" after the second delivery, without a note on the side.

Movements, not balances

A balance of 340 bags of cement tells you little. What lets you trust it is the movement history behind it.

MovementWhat it records
ReceiptGoods in against a purchase order
TransferStock moved between warehouses
IssueMaterial consumed, usually against a project
AdjustmentA correction, which should be rare and is always logged

When a number looks wrong, the movement list tells you which one caused it, instead of sending someone to count again.

Where the cost goes

Stock is valued at moving-average cost, so each receipt updates the average and each issue leaves at the current figure. An issue to a project posts that cost to the project's actuals when the stock leaves. With Accounting on, the same movement posts to the ledger: inventory against goods-received-not-invoiced on the way in, project cost on the way out.

The other half of the chain is covered in why project profitability needs connected data.

Questions to ask when you evaluate

  • Does receiving against an order update warehouse stock, or is that a second manual step?
  • Can one order be received in several deliveries and still show what is outstanding?
  • Does every movement carry a reference to the order, transfer or project behind it?
  • When stock goes to a project, does the cost appear there without a journal?

If any answer is "you do that by hand", purchasing and inventory are neighbours, not one workflow.