Two ways to find out what is really on the shelf, what each one costs you, and how to build a counting routine that survives a normal working week.
A count is only worth its disruption if it changes something. The annual wall-to-wall count buys one accurate day and a list of differences nobody can explain; cycle counting buys a small daily habit that finds the same differences while someone still remembers the cause. Below: the frequency arithmetic, the accuracy math, what to do with a variance before you adjust it, and where the routine lives in Stockout.
On this page
A wall-to-wall count means freezing movement: nothing received, picked or issued, because any motion during the count makes the number meaningless. That freeze is the real cost, usually a day or a weekend of paid non-production. Fatigue is the second cost — a counter on line 700 of a 1,200-line sheet is not the counter who worked line 20, so the longest and least valuable classes get counted last and worst.
The fatal flaw is the feedback loop. If a receiving clerk started booking a case of 12 as a single unit in February and you count in December, you have found a ten-month-old habit with ten months of contaminated movements behind it, and nobody remembers. One observation a year also cannot separate a one-off mis-pick from a systematic unit-of-measure error, so you correct the number, the process stays broken, and next December the gap is the same size.
The wall-to-wall count is good at one thing — a complete valuation on a fixed date — and poor at everything operational.
Instead of counting everything once, you count a small slice every working day, chosen so each item is counted at a frequency that matches how much it matters. Operations never stop.
The unit of work is the count line — one item in one place, not the SKU and not the shelf. Budget and measure in lines, because a line is what a person actually does. Three things have to be true or you have sporadic recounting rather than a program:
Cycle counting is a process diagnostic that corrects records as a side effect. Treat it purely as a correction tool and you will adjust away the evidence.
| Dimension | Cycle counting | Annual physical count |
|---|---|---|
| Operations impact | None — counts run during normal work | Full freeze: receiving, picking and issuing stop |
| Labor shape | Small steady load (see the worked example below) | One burst, often overtime or a weekend |
| Who counts | The same few people, repeatedly, who get fast and accurate | Whoever is available, many of them untrained |
| Error rate | Low; short sessions, familiar stock | Higher; fatigue, unfamiliar items, end-of-list rush |
| Age of a discovered error | Days to weeks | Up to twelve months |
| Root-cause signal | Strong — repeat observations expose patterns | Weak — one observation per item per year |
| Coverage per event | A slice; full coverage accrues over the year | Everything, on one date |
| Setup effort | Real: classes, frequencies, tolerances, a routine | Low: pick a date, print sheets, count |
| Best at | Keeping records right and processes honest | Producing one complete point-in-time valuation |
| Worst at | Producing a single certified snapshot on demand | Telling you why anything went wrong |
The decision rule: more than a couple of hundred active SKUs, repeat picking, or more than one person touching stock, and you want a cycle program, with any full count treated as a separate occasional event. A small, stable, single-person stockroom may genuinely be fine with the annual day — the overhead of a program you will not sustain is worse than an annual count you will.
They are not mutually exclusive. Most teams end up with a continuous program plus either no full count or a much shorter one, because the cycle program has already reconciled most of the value.
Rank items by annual usage value — units consumed in a year multiplied by unit cost — not by unit price and not by quantity on hand. A cheap part you burn 40,000 of a year deserves more attention than an expensive spare you touch twice. That is the same ranking preventing stockouts starts with, so reuse the list if you have one. If what you already worked out is average daily usage for the reorder point and safety stock formulas, the ranking is one more multiplication: average daily usage × working days a year × unit cost. Take roughly the top 10% as A, the next 30% as B and the rest as C, re-ranked once or twice a year.
| Class | Share of SKUs | Count frequency | Counts per SKU per year |
|---|---|---|---|
| A | ~10% | Monthly (quarterly if very stable) | 12 (or 4) |
| B | ~30% | Quarterly | 4 |
| C | ~60% | Once or twice a year | 1–2 |
| Exception — loss-prone or error-prone | Varies | Treat as one class higher | — |
A items usually carry the large majority of annual usage value, but check your own curve rather than assuming a ratio; if it is flat, a location-based route may serve better than ABC. Then override by exception: anything with a variance history, anything easy to walk off with, and anything a person can grab without a system transaction moves up a class regardless of value. Demote as well — an item counted twelve times a year and never wrong has earned fewer counts.
Stockout does not classify items for you — there is no ABC feature — but a folder per class is a workable home for the list. Folders are location-scoped collections that only reference items, so putting an item into an A-items folder or taking it out never touches the item record itself.
Run this before committing to a frequency. Every increase multiplies the daily workload by the SKU count in that class.
Counts per year = sum over classes of ( SKUs in class × counts per SKU per year )
Counts per day = counts per year ÷ working days per year
Daily minutes = counts per day × minutes per count line
A = 120 SKUs, B = 360, C = 720, which adds back to 1,200. Count A monthly, B quarterly, C twice a year.
The lever: drop A to quarterly and C to once a year and the same catalog becomes 480 + 1,440 + 720 = 2,640 lines a year, or 2,640 ÷ 250 = 10.56, so 11 lines a day and about 22 minutes. Round up, never down, and add a line or two of buffer — someone will be off sick and the queue does not pause.
If the honest answer is 40 lines a day and the one person who can count has half an hour, the program will quietly die in week three. Cut frequency until the number fits the time you will actually protect, then raise it once the habit sticks. Lower the C frequency first, then B; only drop A to quarterly if that class is genuinely stable, and never below quarterly.
In an informed count the counter can see the expected quantity. In a blind count they cannot, and they write down what they find.
The failure mode of an informed count is not dishonesty, it is anchoring. A counter who sees 24 and finds a stack that looks about right writes 24 — the number has been confirmed rather than measured, and a real gap survives another cycle. Blind counts also make recounts meaningful: a blind first count and a blind recount that agree with each other but disagree with the record are strong evidence the record is wrong. Two informed counts tell you nothing.
So count blind first, compare only once the number is written down, and recount blind if the gap exceeds tolerance. Informed counts are defensible as an exception: verifying one suspected error, or a high-value item where the counter should know a single unit matters.
The item screen shows the current quantity, so a one-person count on one screen is an informed count by construction. Separate the roles: count onto paper or a second device, then have someone else enter and reconcile. Roles and permissions help — Owner, Admin, User and Viewer are enforced server-side and Viewers cannot adjust stock, so a counter on a Viewer account can look an item up but cannot quietly correct it to match.
A tolerance is the band inside which a count is treated as a match. Without one, every count a single unit out gets investigated and the program drowns; with too loose a band you certify inaccuracy.
Set tolerance by value and by countability, not by one blanket percentage. High-value, low-count items get zero tolerance. Bulk consumables you scoop or weigh get a percentage band. For the middle of the catalog, use a dual test: a variance passes if it is inside the unit percentage or inside a fixed dollar amount, whichever is more forgiving. That stops a 1% band flagging five units on a box of 300 washers — three units is the whole band, and five washers is pennies — while still catching two units on a compressor.
| Class / type | Unit tolerance | Value tolerance | Rationale |
|---|---|---|---|
| A — high value | 0 units (exact) | $0 | One unit is material, and you count few of them |
| B — mid value | ±1% of counted quantity | $25 (example — set yours) | Balances noise against materiality |
| C — low value, bulk or weigh-counted | ±2–5% | $10 (example — set yours) | Scoop and scale error is inherent |
| Any item with a variance history | Tighten one band | Tighten one band | You are investigating, not sampling |
Set each dollar cap at the point where chasing the difference starts costing more than the difference is worth — if twenty minutes of hunting costs you $15, a $5 cap has someone spending $15 to find $5.
Publish the table. If tolerances live in one person's head, the accuracy percentage they produce is not comparable month to month. Revisit the bands when accuracy plateaus — a percentage-band class, B or C, sitting at 100% for two straight quarters usually means the band is too wide to tell you anything. A is already zero-tolerance, so a run of 100% there means either the records really are exact or the counts are being copied off the screen.
Measure in lines rather than SKUs, and over what you actually counted this period rather than your catalog size.
Count accuracy % = ( lines within tolerance ÷ lines counted ) × 100
Dollar accuracy % = ( 1 − ( sum of absolute variance value ÷ total value counted ) ) × 100
250 count lines completed, 233 of them inside tolerance, covering $412,000 of inventory at cost with $3,296 of absolute variance value.
Starting targets to steer by until you have three months of your own trend: 98–100% line accuracy for A, 95–98% for B, 90–95% for C, and dollar accuracy above 97%. They are targets, not published benchmarks. Judge the trend rather than the month, since one month moves with whatever you happened to count.
Investigate before you adjust. The moment you adjust, the mismatch — your only piece of evidence — is gone, and all you have bought is a correct number until the same cause runs again. The cheap checks eliminate most cases, so work them in order: recount blind; check adjacent and overflow locations; check whether a movement is sitting unrecorded on somebody's desk; check the unit of measure. Only then treat it as a genuine loss. The usual causes:
Look for that matched pair, because adjusting both halves hides a problem that repeats next week. Record the cause somewhere you can count them: ten variances with ten causes is noise, but ten where six are unit-of-measure errors is a training session that ends the problem. Then adjust — deliberately, by someone authorized, with the physical count as the truth.
An adjustment can never take a quantity below zero; it stops there. If the record says 10 and you enter a removal of 12, the change clamps at zero and the movement is written as −10 — two units of outflow that never reach Weeks Cover or Sell Through. Enter the difference you measured, not the quantity you expected to remove.
Control group. Count 40 to 60 representative items repeatedly, weekly or daily, for a few weeks. You are auditing your counting method, not your inventory.
Opportunity or zero-balance counting. Confirming an empty location takes seconds and is the highest-confidence count you will ever get. Bolt it onto picking: 20 empty-location confirmations a day over 250 working days is 5,000 free verifications a year.
Location-based counting. Walk the building in a fixed sequence and count what is in front of you rather than chasing a SKU list around the site. Fewer steps per line, and it is the only variant that reliably finds misplaced stock — a SKU-driven count goes to where an item should be and confirms it is not there, which is not the same as finding it.
Random sample counting. Unbiased and defensible as a statistical estimate of overall accuracy, but it under-weights valuable items, so layer it over an ABC program rather than running it as the program.
Choosing between them: run a control group first if your numbers have never been trustworthy, ABC for the ongoing schedule, zero-balance bolted onto picking as a free supplement, and location-based when the problem is stock in the wrong place rather than stock counted wrong.
A location-based route fits the free-text Storage Spot field on each item, such as Aisle 1, Shelf A: the funnel sheet can filter a list by Storage Spot, so a walking route becomes a filter. For a control group, the ★ Bookmarked tab is a shortlist on every list screen — bookmarks are per device and do not sync, so the counting tablet keeps its own.
Nobody can answer this for you from the outside, and anyone who does is guessing at your jurisdiction. What you can do is stop treating the full count as automatic and put a case to whoever signs off your numbers.
Whether a full count is required of you depends on your jurisdiction, your accounting framework, whether your financials are audited or reviewed, and sometimes on your insurer's or lender's terms. Nothing here is accounting or audit advice — ask your own advisor before you change what you do at year end.
What makes that case credible is exactly what this guide has asked for: written tolerances, recorded counts including the clean ones, a measured accuracy trend, and evidence that variances were investigated rather than silently absorbed.
If a full count stays on the calendar anyway, a mature cycle program still pays for itself: the wall-to-wall becomes a verification of numbers you already trust rather than a discovery exercise, so it runs faster and produces fewer surprises to explain.
Insurance is the other reason to keep counting between year ends. After a loss an insurer wants evidence of what was on hand, and continuously verified records are a stronger position than a number last checked eleven months ago. The common middle ground is continuous cycle counting plus a year-end count of the highest-value classes only, where your advisor agrees that is enough.
Run a mandated wall-to-wall like this:
A Stockout backup is one timestamped JSON file of items, kits, equipment, checklists, suppliers, customers, folders, work orders and label templates. Activity logs and stock movements are not in it, and it only restores into the account that created it. Do not offer it to an auditor as evidence of historical balances.
Say what is not there first. Stockout has no count module: no count sheets, no count tasks, no recount queue, no variance report, no adjustment-reason field. Stock movements carry no user either, so the app cannot tell you who changed a quantity. The program is a routine you run; the app is where the routine and the correction live.
The routine belongs in checklists — reusable, location-scoped lists you run and tick off, which never change stock. Each completed run is logged as one append-only row holding a hand-typed employee first and last name, the steps completed out of the total, and the start and completion times. A partly finished round can still be logged and is marked with an amber incomplete badge, and the Activity Log tab lists every run newest first without ever editing a past one.
Two constraints. Every item belongs to exactly one location, and the same product at two sites is two separate records, so switch the device to the site you are counting — All Locations is a read-only aggregate in the Windows and Android apps and does not exist in the web app. And if two people work the same shelf, how syncing works matters: when two people change the same field at once the last change saved wins and only changed fields sync. Split the aisle rather than double-covering it.
Work the program out on paper, then use the app for the parts it is good at.
One side effect to expect: a correction is a stock movement like any other, so it feeds the analytics charts. Weeks Cover and Sell Through count every negative movement, not only sales, so a big correction day will move both.
Lift this straight into a reusable checklist in the app and tick it off each round.
An accurate number is only half the job — it still has to trigger action in time, which is the subject of the companion guide on how to prevent stockouts.
A physical inventory count counts everything once, usually annually, and normally means freezing operations for a day or more while it runs. Cycle counting counts a small slice on a rotating schedule every working day, so the work is continuous, errors surface within days or weeks instead of months, and the business keeps running while you count.
Set frequency by how much an item matters, not by one rule for everything. Rank items by annual usage value, take roughly the top 10% as A, the next 30% as B and the rest as C, then count A monthly, B quarterly and C once or twice a year, bumping anything loss-prone or with a variance history up one class. Check the arithmetic before you commit: a 1,200-SKU catalog on that split is 4,320 count lines a year with C counted twice — about 18 lines a day over 250 working days — or 3,600 lines, about 15 a day, if C drops to once. If that does not fit the time you can genuinely protect every day, lower the C frequency first, then B; only drop A to quarterly if that class is genuinely stable, and never below quarterly.
Count accuracy is the number of count lines within tolerance divided by the number of lines counted, times 100, measured in lines rather than SKUs and only over what you actually counted this period. Reasonable starting targets are 98 to 100% for A items, 95 to 98% for B and 90 to 95% for C, with dollar accuracy above 97%. Track the two separately, and use absolute values for dollar accuracy so a positive and a negative error do not cancel out. They can diverge sharply: 233 of 250 lines in tolerance is 93.2% record accuracy, but $3,296 of absolute variance against $412,000 counted is 99.2% dollar accuracy, which points at the cheaper end of the catalog; check which classes those lines came from before acting on it.
Not for the first count. A blind count, where the counter records what they find before seeing the system figure, measures the shelf; an informed count tends to confirm the system instead, because a counter who sees 24 and finds roughly that many writes 24. Anchoring, not dishonesty, is the failure mode. Blind counts also make recounts meaningful, since two independent blind counts that agree with each other but not with the record are strong evidence the record is wrong. The difficulty in any inventory app is that the item screen shows the current quantity, so a one-person count on one screen is informed by construction. Separate the roles: count onto paper or a second device, then have someone else compare and reconcile.
Investigate before you adjust. Once you adjust, the mismatch — your only piece of evidence — is gone, and you have bought a correct number until the same cause repeats. Work the cheap checks first: recount blind, check adjacent and overflow locations, check whether an issue or receipt is sitting unrecorded, and check the unit of measure, because case-versus-each confusion at receiving is the first thing to rule out. Look for matched pairs, since two variances of the same size in opposite directions on similar SKUs is one mis-pick rather than two losses. Theft belongs last on the list, not first. Record the cause of every variance you adjust in your own log outside the app, because ten variances with one shared cause is a fixable process problem while ten unexplained ones are just noise.
Not as a built-in module. There are no count sheets, count tasks, recount queues or variance reports in Stockout, and stock movements do not record who made them. What the app holds is the routine and the correction. A reusable, location-scoped checklist gives you the daily count round, and running it logs one append-only row with a typed employee first and last name, the steps completed out of the total, and the start and completion times; a partly finished round can still be logged and is flagged with an amber incomplete badge. Barcode scanning finds the right item fast, folders group items into classes or zones, the Storage Spot filter turns a walking route into a list, and roles keep counting and correcting separate because Viewers cannot adjust stock. Corrections go through the three-dot menu, then Adjust, which previews the change before you commit it; on the web the same sheet opens from the ± button on the item card.
Build the count round as a reusable checklist, correct quantities with the Adjust sheet, and keep the log of every run.