Inventory

Stock counts

Count a store, post the variance, and let the books agree with the shelf. A posted count is frozen — check before you press it.

Last updated

Who this is for: Storekeeper, Manager, Owner — the screen requires inventory.count.manage. Where: Inventory → Stock Counts

A count is the reconciliation between what the books say a store holds and what is on the shelf. It is the only routine correction Inventory has: receiving and issuing both refuse to be reversed, so every discrepancy — a miscount at delivery, breakage, theft, an issue nobody recorded — is settled here.

A count has two steps and they are days apart in practice: open it with the figures you counted, then post it to make them true.

Open a count#

  1. Select New count.
  2. Pick the Store you counted.
  3. Pick the first Item and type what you counted, in base units.
  4. Select Add item for each further item.
  5. Select Open count.

The count lists with its date and an open badge.

The new-count form with store Main Store and one counted line, Arabica coffee beans with a counted quantity of 9500, above Open count and Cancel

9,500 grams, because the count is in base units and this is what was on the shelf. Nothing on this form shows what the books expected — that comparison is made when you press Open count.

A stock count row dated 2026-08-07, badged open, with a Post count button

An open count has changed nothing yet. It is a set of figures waiting for somebody to agree they are right.

Important

Opening a count snapshots what the books expected, per item, at that moment. The variance is measured against that snapshot — not against the level when you post. So if a delivery is received or stock is issued between opening and posting, the count still corrects to the figure you actually counted, and the movements in between are not lost.

The corollary: open the count when you have finished counting, not before you start.

A count covers only the items you list. Anything you leave out is untouched, which is what makes a rolling count of high-value items every week and everything else once a month possible.

Post a count#

  1. Find the open count.
  2. Select Post count.

The badge turns posted and the count's total variance appears beside the date.

Posting is what changes stock. For every item counted:

  • On-hand moves by the difference between counted and expected — up if you found more, down if you found less.
  • The movement is valued at the item's current weighted-average cost, and written to the movement ledger as a count_adjust row.
  • Nothing happens at all for an item that came out level.

The net value of every adjustment is booked to the ledger: a shortfall as 5100 Cost of Goods Sold against 1300 Inventory with the memo Stock count shrinkage, a surplus the other way round as Stock count gain. A count that nets to zero books nothing.

The same count row, now badged posted and reading

140 grams of coffee that the books had and the shelf did not, at US$0.03 a gram. The badge is the whole audit trail this screen shows you — and it cannot be pressed again.

Warning

A posted count is frozen and cannot be posted again, corrected, or reopened — the record is not in a state that allows this action. The number you typed is now the store's on-hand figure, and the only way past a bad count is another count. Check the figures before you post, not after.

What the variance is worth#

At the item's weighted-average cost at the moment of posting — the same number an issue would be costed at.

One case is worth expecting. Stock found on an item the store has never held is valued at zero: with nothing on hand there is no average to take, so the quantity goes up and the value does not. The item is then on the shelf at no cost until the next delivery gives it one, which quietly understates the store. If you are opening a store with goods already in it, receive them against a purchase order instead — that is the step that carries a price.

What the list shows, and what it does not#

The list shows one row per count: the date, the badge and — once posted — the variance in money.

It does not show the lines. The counted-versus-expected detail per item is recorded, and the screen does not display it, so the count you post is checked before you press the button rather than read back afterwards. Nor does it show the store, which is worth knowing if you count several: two counts opened the same day are two identical-looking rows.

The effect of a posted count is visible on the valuation report, which is the screen to read next.

What's next#