Measuring the value
ROI of a daily stock count screen: the counted number is the stock as of when?
The storekeeper counts on a phone, the screen posts only the lines that differ, a blank cell means not counted, and every count carries a time: why a count written as an absolute number erases goods that move during the wait, how to measure three small money streams, and what the table cannot count.
Goods that move while the count waits to be posted — how much gets erased?
All it needs is counts per month, lines per count, the share of lines where goods move between counting and posting, and how much moves. Every money figure follows from those — and every one is editable.
Derived from the four numbers above
Assumptions — open to see and edit every number
Value and consequence
Labour
Time and cost
This is an estimate, not a promise. Stream A is the softest — set it to 0 and read the total again. Set the moving share and the minutes saved to 0 and every stream goes to 0, as an honest model should.
At a fresh-fruit distributor the warehouse is counted again and again — about every five days, a few dozen items each time. Not because anyone suspects the storekeeper, but because fresh goods shrink, bruise, get swapped and come back, and the books drift away from reality faster than in almost any other trade. The stock count is when the books are pulled back into place.
This piece works out the ROI of a "Daily stock count" screen in the ERP, replacing the old dialog. Most of its value is not in counting faster but in a question few people ask: the number the storekeeper counted is the stock as of when?
1. Where the old count went wrong
Measured over the last 60 days, before the new screen:
- Goods that moved while the count waited were erased from the books. About 1 line in 20 (4.9%) had goods going out or coming in during the three hours before the count document was posted. The document writes an absolute number — "this item has 50 kg" — at the moment of posting. Count 50 kg at 7:00, let a delivery take 15 kg at 8:00, post the count at 10:00, and the books go back to 50: the 15 kg delivery vanishes from the books, though it is already on the truck.
- Items with negative stock were never counted. The main warehouse's count list took only items with stock above zero. More than a hundred items that were negative on the books — exactly the ones most in need of a count — never appeared.
- "Counted zero" and "not counted" looked the same. When four in ten count lines over 60 days set stock to zero, the difference between the two is not a small one.
2. What the screen is
- The storekeeper counts on a phone, standing in the warehouse. The screen works out the difference from the books as each number is typed, and posts only the lines that differ.
- A blank cell means not counted. Not zero. A line set to zero is a decision, not a cell someone forgot.
- Items with negative stock are on the list. A count document cannot carry a negative number, so a negative line is posted as zero with a warning, rather than blocking the whole document.
- Two ways to say "when".
- Declare the count time — post the count back to when it was taken: the count is the stock at that time, and every movement after it stays on the books.
- Do not declare it — the system adds back every movement from the moment each line was counted to the moment of posting.
- New: a cell for the salvage warehouse beside the main one. Customer returns are now received into the salvage warehouse as soon as the delivery note is submitted; the count covers it on the same screen, and one save creates a document for every warehouse that is off.
3. One item, one morning
The chart in the calculator above draws exactly the example from section 1. The "real stock" line is what is really there: 50 kg at the count, 35 kg after the delivery leaves. The dashed line is the books under the old rule: it catches the delivery, then jumps back to 50 when the count is posted — the books now claim 15 kg that do not exist. The solid line is the books under the new rule: it lands on 35. Change the quantity that moves or the hours of waiting, and the gap changes with it.
That gap does not sit still. The dispatcher reads the books to allocate the next day, promises a customer 15 kg that are not there, and finds out only at picking. Then the next count finds 15 kg "missing" and books a shrinkage nobody can explain — the mirror image of the unexplained surplus that returns kept off the books leave behind.
4. First stream: no more promising goods that already left
How to measure it. For each old count document, take its posting time and the stock movements in the three hours before — the "before" can be measured straight from the ledger, with no waiting. The "after" is zero by the definition of the new rule.
How far to trust it: low. The 4.9% and the value erased are measurements; the 30% becoming short deliveries is an assumption. Receipts during the wait are erased too, in the other direction — the books claim a shortage that is not there — and that direction is not in the calculator.
5. Second stream: less time counting and typing
6. Third stream: less time chasing lines that are off
When hours become money. As the piece on keyboard entry put it, freed hours become money only when they go into work that has a price. For a storekeeper the nearest such work is counting more often — and counting more often makes the books more right. Otherwise read these two streams as capacity.
7. Adding it up
| Stream | Per month | Per year |
|---|---|---|
| No more promising goods that already left | 0.71 M | 8.6 M |
| Less time counting and typing | 0.18 M | 2.2 M |
| Less time chasing lines that are off | 0.18 M | 2.1 M |
| Total | 1.07 M | 12.8 M |
At 10 million VND to build the screen, it pays back in about month 9.3. It is a modest figure, and this piece does not make it bigger. What the table cannot count is what the screen actually fixes: more than a hundred negative items counted for the first time, and a final count that tells the truth about a moment that really happened.
8. What this ROI stands on
The softest assumption is the share of book error that becomes a short delivery. Lower it from 30% to 10%, and cut the minutes saved per line to a quarter of a minute: 0.5 million VND a month is left, payback in about month 19.8. Set the moving share and the minutes saved to zero and every stream goes to zero — if nothing moves during the wait and counting is no faster, the new screen is worth nothing. A model that cannot collapse is a prejudice in arithmetic costume.
And one thing sits outside the model: the longer the wait, the larger the share of lines with movement. Three hours is the measured figure; in a warehouse that posts its counts at the end of the day, it is far larger.
9. Measuring it in your own business
- Baseline from the ledger. Take the count documents of the last 60 days; for each line, check for stock movement between the count time (if one was recorded) or the few hours before posting. Count the negative items that were never counted.
- Run the new screen for two to four weeks. Record the declared count times and how long each count takes.
- Compare unexplained shrinkage and surplus at the counts before and after, in the same season and the same warehouse.
10. The thing to remember
A counted number is always the number of a moment. Writing it into the books at another moment, without saying so, overwrites everything that happened in between. The new screen does not make anyone count better — it simply asks one more question: counted at what time?
The books are not wrong because someone miscounted. They are wrong because the right number was written down at the wrong time.
The ratios in this piece were measured on a real distributor's system and anonymised; costs, quantities moved and every assumption in the calculator are illustrative. Replace them with your own.
Read next
-
Never invoice twice: ask the accounting ledger before creating — 199 of 209 invoices were already there
When invoicing moves from the accounting package into the ERP, there is a stretch when both create invoices. If the ERP asks the accounting ledger before it creates one, how many duplicates does a cutover avoid — and what is each duplicate you never clean up worth?
-
Sharing an estimate by one link: what the mailed-Excel loop costs, and "which version is the latest?"
An estimate passes through 2–4 people as Excel files sent by mail, so someone always asks "which version is the latest?". When the whole set — drawings, quantity table, where every number comes from — sits behind one shared project, with people invited by email or sent a view-only link that needs no account, how many hours a month does the review loop get back?
-
Invoicing at the original PO price: the delivery note says 21,000, the chain's PO says 30,000
A retail chain pays the price on its own PO, not the price on the supplier's delivery note. When a machine reads the PO price, invoices at it when the gap is plausible and corrects the price list for next time, what is that worth a month — and which lines still need a person?