1Introduction
For most plants and stores the annual physical count is the most disruptive event of the year. Movements stop, counters fan out across the facility with paper sheets, and the variance list that emerges is long — most of it counting error rather than shrinkage.
That last clause is the whole problem. A variance report conflates two things that need opposite responses: stock that is genuinely missing, and stock that was counted wrongly. A store that cannot separate them cannot act on either, and will book an adjustment against a discrepancy that never existed.
This paper reads the system's design as a set of controls on specific error terms. A stock-take is a measurement; a measurement without an error model is not evidence; and the design decisions that matter are the ones that remove error terms, most of which are decided at receipt, months before anyone counts.
1.1The four error terms
Four failure modes recur every year, and they map cleanly onto distinct terms in a count's error budget.
| Error term | How it arises | Where addressed |
|---|---|---|
| Double count | The same container is counted twice by different counters | One barcode per bin (Section 3.1); scans treated as a set (Section 4.3) |
| Missed count | A container behind another is never reached | The bin-level book lists every barcode holding stock (Section 4.2); missed set before close (Section 4.3) |
| Transcription | A counter writes a description that does not match the record | Identity comes from the sticker, not from reading it (Section 3.1) |
| Post-count drift | Movements between the count and the reconciliation | Movements recorded per bin with date and time (Section 3.2); the book drawn at the count's timestamp (Section 4.3) |
None of the four is addressed by counting faster. They are addressed by what is identified at receipt and by when the reconciliation is drawn — which is why speed is a consequence of this design rather than its objective.
1.2Contributions
- Bin decomposition stated as a conservation constraint, fixing the granularity at which a count is checkable (Section 4.1).
- The bin-level book: the book position of a part as the sum of per-bin positions maintained by every movement (Section 4.2).
- Coverage as a set operation over tags — the requirement a count over tagged bins must meet (Section 4.3).
- Absolute against net variance, and why a reconciled total is not evidence of an accurate record (Section 4.4).
- An eight-dimension capability reference framework for inventory tagging systems (Section 6.3).
2Background and Related Work
Physical inventory verification is one of the oldest obligations in commerce and one of the least examined. Its literature sits in three places that rarely cite each other: measurement science, error proofing, and the identification standards that make an object countable at all.
2.1Trueness and precision are different failures
ISO 5725 separates trueness — the closeness of a mean to a reference value — from precision, the scatter of repeated measurements. The distinction is routinely collapsed in stock-take reporting, and collapsing it is the source of the most common misreading of a variance report.
A count with poor trueness is systematically wrong in one direction: a scanner configured for the wrong pack size, a bin standard that counts crates as pieces. A count with poor precision is scattered: some locations high, some low, no pattern. The first is a configuration defect and is cheap to fix; the second is a process defect and is not.
Section 4.4 shows that net variance measures only the first and absolute variance measures both, which is why reporting one number lets a poor count pass.
2.2Control against warning at the point of error
Shingo distinguishes the control function of an error-proofing device — the next action becomes impossible — from the warning function, where the operator is told and may proceed. The distinction is decisive in a stock-take because the environment is the worst case for warnings: temporary staff, unfamiliar layout, time pressure.
It is also the right lens for the transactions of Section 3. Most of what the web release does is record rather than refuse: it keeps invoice and actual quantity, bin, location, user and time, and leaves the decision with the operator. Recording is what makes a later count attributable; refusing is what stops an error being made. Section 6 returns to where a control would earn its place.
2.3What makes an object countable
A count presupposes a set of distinguishable objects. GS1 provides the Global Trade Item Number for a trade item class and the Serial Shipping Container Code for an individual logistic unit; ISO/IEC 15459-1 covers transport units outside a GS1 scheme; the General Specifications govern symbology selection and print quality, which decide whether a tag scans at all on the first attempt.
The class-against-instance distinction is what makes bin-level counting possible. A tag identifying only the part number tells a counter what is in front of them; a tag identifying this bin tells the system which of forty identical bins has been counted, which is the fact any count over bins depends on.
The event model is EPCIS, standardised as ISO/IEC 19987, with its vocabulary in ISO/IEC 19988. A movement or a count observation is an event with a business step and a disposition like any other, which means a stock-take can integrate into a traceability record rather than sitting beside it as a spreadsheet.
3System Overview
The system is a web-based store and inventory application. Everyday inward, storage and outward flows create and maintain tagged bins; the annual physical stock verification is a check of the store against the bin-level record those flows built. This ordering matters: a count is only as good as the granularity established at receipt, months earlier.
Plants are separate zones. Masters, transactions, reports and dashboards are scoped to the zone selected at login, and each user carries a role and a zone. The masters hold parts — with standard bin quantity, minimum and maximum levels, supply area and one or more storage locations — together with vendors, buyers, supply areas, storage locations and line-side locations; the part master also imports from an Excel template.

3.1Receipt, decomposition and tagging
A receipt is captured against its invoice, with the part, its storage location, its standard bin quantity, its unit and its shelf life in days where one is set. Two quantities are recorded: the quantity the invoice claims and the quantity actually received. Beside them the screen shows the part's maximum and minimum level, stock in hand and remaining capacity.
The two-quantity pattern recurs throughout this library and does the same work here as elsewhere. A single received quantity records what was accepted and destroys the evidence of a supplier discrepancy; two record both, and the difference is a supplier performance fact rather than a rounding error absorbed at the dock.
The received quantity is then decomposed into bins at the standard bin quantity, and the screen shows the breakdown before the receipt is saved. Saving prints one barcode sticker per bin. Section 4.1 states the conservation constraint the decomposition must satisfy.

Each sticker carries the part number and description, the quantity in that bin, the storage location, the vendor and invoice, the date, a barcode unique to the bin with its number printed beneath, and the bin's place in the receipt — 1/5 to 5/5 on the captured example. Stickers can be reprinted from the inward history.

3.2Movements booked against the bin
Every transaction after receipt names a bin. A pick list is built from a production schedule imported from Excel, or part by part with a quantity and a line-side location, and the system previews which bin barcodes to pick in first-in-first-out order. At dispatch, scanning a picked bin marks it on its list, with a running count of bins scanned against the total.
A direct issue scans one bin, shows its bin quantity and remaining balance, and issues all or part of it to a line-side location; the outward history records the date and time, bin barcode, quantity, line-side location, mode, pick list and the user who issued it. A stock adjustment lists a part's bin barcodes, acts on one of them with a quantity in or out, and records a written reason. A bin moved to another rack is re-pointed by its barcode, and the change is kept in a changed-locations log.

Two places where the release records rather than refuses. Dispatch releases the bins an operator selects, and scanning marks bins rather than gating them. And the captured screens show no separate two-scan putaway: the storage location comes from the part master and is printed on the sticker. Both are recorded; neither is blocked.
3.3First-in-first-out, shelf life and the dashboard
First-in-first-out is applied where it is cheapest to apply — at pick-list creation, as a preview of which bins to take. Shelf life is carried per part in days, and a shelf-life expiry report lists bins expiring within 30 days, with barcode, inward and expiry date, days left, remaining quantity, location, vendor and invoice.
The interaction between the two rules is worth being explicit about, because they are not the same rule. First-in-first-out selects by receipt date; expiry-based selection selects by remaining life. They coincide only where every receipt of a part carries the same shelf life, which is the common case and not the general one.
Between counts, the dashboard classifies parts as OK, about to be short — stock within 20% above the minimum level — short, or excess; bands stock on hand by age into 0-30, 31-90, 91-180 and over 180 days; and ranks the parts furthest below their minimum.

4Computational Methods
Four computations carry the paper. The first two are what the system maintains while stock moves; the last two are what a count over that structure must do, and what it owes its reader once it closes.
4.1Bin decomposition and its conservation constraint
A receipt of quantity Q is split into bins at the part's standard bin quantity, with one residual bin holding any remainder.
For the captured receipt, 8,000 pieces at a standard bin quantity of 2,000 give n = 4 and r = 0: four bins, which is what the inward screen shows as 2000 X 4.
The decomposition's real function is granularity. A count can verify only what is independently identified, so a receipt held as one undifferentiated quantity can be verified only in total, while four tagged bins can be verified four times. This is the same argument as the traceability tier structure elsewhere in this library: resolution is decided at capture and cannot be recovered afterwards.
The unit of a stock-take is not the part. It is the smallest independently tagged container, and every accuracy figure a count produces is an accuracy figure about those.
4.2The bin-level book
Because every movement names a bin, the book position can be held per bin, and a part's position is the sum of its bins'.
Holding the book per bin changes what a discrepancy can tell you. A part-level book can say only that a part is short; a bin-level book says which barcodes should exist, where each should be and what each should hold, so a count can point at the bin that disagrees. It also defines the tag population T that Section 4.3 needs: every bin of the part with a non-zero balance.
A stock figure that is a list of barcodes is checkable. A stock figure that is a single number is only comparable.
4.3Coverage: what a count over tagged bins must do
The two dominant errors in a manual count are both coverage errors: a container counted more than once, and a container never reached. Both are closed by treating the count as a set operation over tags rather than a walk over aisles.
Two consequences follow that procedure alone cannot deliver. Double counting becomes impossible rather than discouraged, and the missed set is known while counters are still on the floor, so flagged bins are recounted before the team leaves rather than the following week from memory.
The book must also be drawn at the count's timestamp. Because the release records every issue and dispatch against a bin with its date and time, movements across the count window can be separated from variance instead of being booked as shrinkage.
This subsection is a requirement on the count, not a description of the release. The web release supplies T — the bin population and its book — but does not itself run a count mode that holds S and computes M.
4.4The variance the reconciliation owes
Once the count closes, counted quantity is compared to book quantity per bin. How the differences are aggregated decides whether the result is evidence or reassurance.
The failure this prevents is specific and common. A store with one bin over by 400 pieces and another under by 400 has a net variance of zero and an absolute variance of 800. Reported by net alone, the count reconciles and the store concludes its records are sound; in fact it has two errors, both of which will cause a pick failure, and neither of which it now knows about.
Record accuracy — the fraction of bins whose count matched exactly — is the figure a store should manage against, because it is the probability that any given pick will find what the system promised. It is also the only one of the three that cannot be improved by compensating errors.
Ask any stock-take report for three numbers: net variance, absolute variance, and the proportion of bins that matched exactly. A report that offers only the first is reporting to the ledger and not to the store.
In the web release the correction itself is a stock adjustment booked against one bin barcode, with quantity in or out and a written reason. That is what keeps the adjustments that close a count attributable afterwards, whichever instrument produced the counts.

5Observed Properties and a Modelled Scenario
This product appears in no published MileSoft case study. There is therefore no field evidence to report, and this section makes no deployment claim. Everything below is either a property read from the web release's screens, which carry demonstration data, or a modelled scenario with its assumptions printed.
5.1Observed properties of the web release
| Property | Value | Where observed |
|---|---|---|
| Two receipt quantities | invoice quantity and actual quantity as separate fields | Material inward |
| Bin decomposition | 8,000 at a standard bin of 2,000 shown as 2000 X 4 | Material inward |
| One barcode per bin | part, quantity, location, vendor, invoice, date and n of N on each sticker | Sticker generation |
| Pick list sources | schedule imported from Excel, or part, quantity and line-side location | Pick list creation |
| First-in-first-out | a preview of the bins to pick, oldest first | Pick list creation |
| Dispatch | scanned bins marked on the list, with a scanned-of-total counter | Dispatch pick list |
| Partial issue | bin quantity, balance and quantity to issue, to a line-side location | Issue material |
| Bin-level adjustment | quantity in or out on one bin barcode, with remarks | Stock adjustment |
| Bin relocation | new storage location by barcode, with a changed-locations log | Edit storage location |
| About to be short | stock within 20% above the minimum level | Dashboard |
| Ageing bands | 0-30, 31-90, 91-180 and 180+ days | Dashboard |
| Shelf-life look-ahead | bins expiring within 30 days | Shelf-life expiry report |
| Reports | 5 in the Reports menu | Navigation |
| Plants | zones as separate tenants, chosen at login | Zone master |
What the release does not show matters as much. There is no count mode — no tag locking and no missed-bin list — no variance report, no separate two-scan putaway, and no first-in-first-out violations report. Version 1.0 of this paper described those features from the earlier desktop release; they are withdrawn here rather than carried forward, and Sections 4.3 and 4.4 present the count's side as method.

5.2Figures published for this module
| Figure | Value | Status |
|---|---|---|
| Stock-take effort avoided | 1,344 hours per audit year | Modelled — return-on-investment calculator defaults (Section 5.3) |
| Physical count phase | 8-16 hours, against 48-72 on paper | Withdrawn — vendor-reported for the desktop release; the web release has no count mode |
| Operational pause | 4-8 hours for the initial pass | Withdrawn — same reason |
| Reports | 19 (earlier: 15 or more) | Superseded — 5 in the web release's Reports menu |
The count-duration figure was the one a buyer would weigh most heavily and the one carrying least evidence: a range with no facility size, no container population and no definition of what the phase included. It described a count mode the current release does not have, so it is withdrawn rather than repeated.
5.3Modelled effort avoided
The published return model for this product is stated as stock-take and reconciliation time saved. Its assumptions are printed here so a reader can substitute their own.
| Assumption | Value |
|---|---|
| People engaged in the audit | 8 |
| Audit hours per person per day | 4 |
| Audit window | 60 days |
| Baseline effort | 1,920 hours per audit year |
| Share of that effort automated | 70% |
| Modelled hours avoided | 1,344 per audit year |
Two observations. The model's window is sixty days, not the count weekend — so what it prices is the reconciliation tail rather than the count itself, which is where a bin-level book does its work. And it prices only labour: the shutdown hours of production and shipping are excluded, and in most facilities those dominate.
The 70% is an assumption of the model, not a measurement of this release. A buyer computing this properly should substitute their own share, and add the shutdown: recovered production hours are likely to exceed the entire labour saving the published model reports.
6Discussion
6.1The annual count is a symptom
A store that must halt for days each year to discover what it holds is telling you that its records were not trusted for the rest of the year. The count is a consequence of that distrust, not a cause of accuracy.
This reframes what a tagging system is for. Its most valuable output is not a faster count but a record good enough to measure: the record accuracy figure of Section 4.4 is what determines whether counts can eventually become sampled rather than exhaustive. A store at 99.5% record accuracy can verify a stratified sample and defend it; one at 92% cannot, and will be counting everything for as long as that holds.
Sections 4.1 and 4.2 describe what moves that figure, and both operate during the year rather than during the count. A system evaluated only on how fast it counts is being evaluated on the least important thing it does.
The goal is not a faster annual count. It is a store whose records are good enough that the annual count stops being the only thing anyone believes.
6.2Enforcement, recording and verification are different jobs
The release applies first-in-first-out as guidance at pick-list creation and records what was actually picked and issued. It does not report violations of the rule. That is a reasonable first step and an incomplete one.
Any enforcement that passes through human hands has a bypass. A picker facing an empty designated location and a full one behind it will take the accessible stock, and a sensible system lets them — blocking the pick would stop the line. Because every issue is recorded against a bin with its inward date, the data needed to report such exceptions already exists; a standing violations report is what would turn that necessary flexibility from an untracked leak into a measured exception with a location attached.
The same logic recommends caution with shelf life. Where receipts of a part carry different remaining lives, first-in-first-out and expiry-first selection diverge, and a store enforcing the first while an operator believes it enforces the second will issue expiring stock in strict receipt order.
6.3A capability reference framework for inventory tagging systems
| Dimension | Question the system must answer by demonstration |
|---|---|
| D1 Bin identity | Is the barcode on the sticker unique to that bin, or does it identify only the part? |
| D2 Two quantities at receipt | Key a receipt where the actual quantity differs from the invoice. Are both kept? |
| D3 Automatic split | Receive more than one standard bin. Does the system work out the bins, or does the operator? |
| D4 Sticker content | Does the sticker carry location, vendor and invoice, so a bin can be traced without the screen? |
| D5 FIFO at picking | Build a pick list. Does the system say which bins to take, oldest first? |
| D6 Partial issue | Issue part of a bin. Does the bin keep its balance, or is the whole bin written off? |
| D7 Bin-level corrections | Adjust stock. Is the adjustment booked against one bin with a reason, or against a part total? |
| D8 Moves on record | Move a bin to another rack. Is the change logged with who made it and when? |
D1 and D7 take a minute each and settle most of the question. A system whose barcode names only the part is a labelling tool; one that adjusts part totals instead of bins will lose the trail the first time a count disagrees.
The framework deliberately measures the year, not the count. A buyer who also needs the count itself run by the system should add three questions this release does not answer: does a second scan of the same bin change the count, can unscanned bins be listed before the count closes, and does the report give net variance, absolute variance and record accuracy.
6.4Generalisability
The coverage argument of Section 4.3 generalises to any exhaustive verification over an identified population: asset registers, tool cribs, library stock, calibration inventories. The absolute-against-net variance argument generalises further still, to every reconciliation where compensating errors are possible — which is most of them.
What does not generalise is any count-duration figure. Duration depends on facility size, container population, counter numbers and layout, and a store adopting another site's figure as a plan would be planning against another site's geometry.
7Threats to Validity and Limitations
- No field evidence exists for this product. It appears in no published case study, so this paper reports no deployment outcome, and the absence is itself informative.
- The release has no count mode. Sections 4.3 and 4.4 state what a count over tagged bins must do; the release supplies the bin population, the bin-level book and the adjustment trail, not the count itself.
- The release records more than it refuses. Dispatch releases the bins an operator selects, and no separate two-scan putaway appears in the captured screens, so a bin stored somewhere other than its printed location is found by the next scan or count, not prevented.
- Tag quality is an unmeasured dependency. Every method in Section 4 assumes the tag scans first time; a label degraded by oil, abrasion or cold storage silently converts a scan workflow back into a transcription workflow.
- Record accuracy is a property of tagged bins only. Bulk stock, open stores and line-side material that never entered the bin structure are outside every figure in Section 4.4.
- The modelled 70% is an assumption. It prices the reconciliation tail over a sixty-day window and excludes the production and shipping shutdown, which in most facilities is the larger cost.
- The screens are one demonstration dataset at one date. Standard bin quantities, levels and location schemes are configuration, and no value read from a capture is offered as a benchmark.
- The captures are read-only. Forms were filled and not saved, and the sticker figure is the reprint of an earlier receipt rather than of the receipt shown on the inward screen; behaviour after saving is described from those screens, not from a transaction executed for this paper.
The fourth limitation is the one facilities underestimate. Print quality and label survivability are treated as a procurement detail and are in fact the foundation every method in this paper rests on.
8Future Work
- A count mode over the bin population: scans held as a set so a repeated scan is a no-op, and the missed set listed before the count may close.
- A variance report giving net variance, absolute variance and record accuracy per count, drawn against the book at the count's timestamp.
- A confirmation scan at putaway, reading the location label and the bin sticker independently, so a misplaced bin is refused rather than recorded.
- A standing first-in-first-out violations report built from the issue history the release already keeps, and expiry-first selection for parts whose receipts carry different remaining lives.
- A measured deployment, published with facility size, bin population and the three variance figures, to replace modelled assumptions with evidence.
9Conclusion
A physical count is a measurement, and most variance reports are not evidence because they carry no error model. This paper has read one system's design as a set of controls on the specific terms that make up that error, and has been explicit about which of those controls the current release provides.
Four results are worth carrying away. Resolution is set at receipt: a count can verify only what was independently tagged, so splitting a receipt into bins — and requiring that those bins sum exactly to what arrived — fixes what any later count is capable of proving. Booking every later movement against a bin keeps the book at that resolution, so a discrepancy can point at a barcode rather than a part. A count over tagged bins is a set operation, and double counts and missed bins are closed by the structure of the count, not by the discipline of the counters. And a reconciliation owes three numbers, not one: a net variance of zero is compatible with every location being wrong.
The framework of Section 6.3 is offered as the durable contribution. Its first dimension takes a minute: scan a sticker, and see whether the system knows which bin it is.
Appendix ANomenclature
| Symbol / term | Meaning |
|---|---|
| Q | Quantity actually received against an invoice |
| q(std) | Standard bin quantity carried on the part record |
| n, r | Number of full bins and the residual quantity in the last one |
| beta(b), beta(p) | Book quantity of bin b, and of part p as the sum over its bins |
| R(b), I(b) | Quantity bin b was created with, and quantity issued or dispatched from it |
| A+(b), A-(b) | Adjustments in and out booked against bin b |
| T, S, M | Tags expected in scope, tags scanned, and the missed set T minus S |
| v(i) | Per-bin variance: counted quantity less book quantity |
| V(net) | Net value variance — the signed sum, what a ledger reconciliation needs |
| V(abs) | Absolute value variance — the sum of magnitudes, what a store needs |
| alpha | Record accuracy: the share of bins whose count matched exactly |
| u(i) | Unit value of the part in bin i |
| FIFO / FEFO | First-in-first-out by receipt date; first-expired-first-out by remaining life |
| SSCC / GTIN | Serial Shipping Container Code and Global Trade Item Number |
Appendix BWorked Numerical Examples
Appendix B.1Decomposition, and what it buys
An illustrative receipt of 1,000 pieces arrives for a part whose standard bin quantity is 120.
Applying Equation (decomp): n = floor(1000 / 120) = 8, r = 1000 — 960 = 40. Nine tagged bins — eight of 120 and one of 40 — and the identity closes: 8 x 120 + 40 = 1,000.
Now consider what each arrangement permits at count time. Held as one quantity, the receipt admits exactly one verification, which passes if the total is right however the stock is distributed. Held as nine bins, it admits nine, and a bin in the wrong rack produces a variance in two places rather than none.
Nine stickers cost nine labels and roughly a minute. They are the difference between a count that can locate an error and one that can only detect its absence.
Appendix B.2One bin through the book
An illustrative bin is created at receipt holding 500 pieces. A direct issue takes 100 to the line: Equation (book) gives 500 — 100 = 400, the balance the issue screen then shows for that bin. Later, ten damaged pieces are written off as an adjustment out on the same barcode: 400 — 10 = 390.
At the count, the bin is expected in T with a book of 390 at its current location. If it is found with 390, it matches; if it is found with 370 in another rack, the variance of -20 and the location difference both point at one barcode, and the adjustment that closes it is booked against that barcode with its reason — rather than against a part total that four other bins also contribute to.
Appendix B.3Three numbers from one count
An illustrative count covers 2,400 bins. 2,352 match exactly. Of the remaining 48: 22 are over by an average of 31 pieces at 18 currency units each, and 26 are under by an average of 27 pieces at 19 units each.
Applying Equation (variance): the positive value variance is 22 x 31 x 18 = 12,276 and the negative is 26 x 27 x 19 = 13,338. Net variance is -1,062. Absolute variance is 12,276 + 13,338 = 25,614. Record accuracy is 2,352 / 2,400 = 98.0%.
Reported by net alone the count looks excellent: a shortfall of 1,062 on a population of 2,400 bins is well inside any materiality threshold, and the ledger reconciles. Reported honestly, the store has 48 wrong bins, an absolute error twenty-four times the net, and a two-percent probability that any given pick will not find what the system promised.
The two reports describe the same count. One of them tells a store manager that forty-eight picks are going to fail before the next count.