Why counting is a workflow, not an edit. A count is how the shelf talks back. Because stock can never be edited, the count is the disciplined way a physical truth enters the system — with a snapshot of what the system believed, a record of what was found, an approval for the difference, and a correction document that carries the whole story.
The session. A stock count covers one warehouse and a scope you choose: the whole warehouse, one category, one ABC class, or a hand-picked selection of products (§5.7). Creating it snapshots every line — the system quantity and cost at that moment. Later movements never rewrite the snapshot: if stock moves after the snapshot, the count still compares your found quantity against what was true when counting began, and the difference is explained by the movement ledger, not lost in it. Counts can be blind: the counters see no system quantities, so nothing anchors their count to the expectation.
The lifecycle. Draft → counting → submitted for approval → approved → posted. Submitting refuses while any line is still uncounted. Approval is a real gate: if the total variance value passes your company's tolerance, the approver must add a reason note — big differences need a named human behind them. A rejected count returns to counting with the counted values kept, so the recount corrects rather than restarts.
Entering the counts. While a count is in counting, its page carries a count worksheet under the header block: one row per line — the product, its unit, and (unless the count is blind) the system quantity — with a box for the quantity you actually found. Type the counts down the grid and press Save counts once: every typed line is written together and the variances appear in the Count lines table below. Leave a line blank to keep it uncounted. On a blind count the worksheet hides the system quantities and the variances, exactly as the table does. The table's per-line Enter count action remains for correcting a single line. If a line cannot be saved — the count has moved out of counting, or Advanced inventory has been switched off — the worksheet names the refusal on that line, with its reason, and the lines that did save stay saved: a failed save is never silent.
The freeze. While a count covering a product and warehouse is open, that pair is frozen: receipts, issues and adjustments naming it are refused, with the count named as the reason. The freeze lifts when the count posts or is cancelled. It exists so the shelf being counted cannot change underneath the counters.
What posting does. Posting a count creates one draft Inventory Adjustment holding every variance line, each traced back to its count line. Nothing moves yet: the adjustment is approved and posted through the ordinary adjustment workflow, by the ordinary permissions — the person who counted does not single-handedly move the stock. A count with no variances posts cleanly with no adjustment at all.
Each count line is valued at the stock balance's cost; where the balance carries no cost — opening stock being counted in for the first time — the product's standard cost is used instead. Stock never enters at zero value: if a product has neither a balance cost nor a standard cost, posting the adjustment refuses and names the products. Set a standard cost for each (Products → Costs) and post again — the count itself is untouched, and the increase then enters at that cost. The same refusal guards manual adjustments and goods receipts: an increase valued at zero is always stopped and named, never silently booked.
Cycle counting. Counting everything at once, once a year, is how counts used to hurt. Instead, products carry an ABC class — by the value they issued over the trailing year, A the vital few (roughly the top 80% of value), B the next, C the rest — and each class has a count interval: as seeded, A every 30 days, B every 90, C every 180. The Due Counts page (§5.10) works the diary: what is due, most overdue first, and count sheets generated straight from it. A second count overlapping an open count at the same warehouse is refused by name, so two teams never count the same shelf into confusion.