A year-end stock count has one job: to find out how much of what you think you hold is really on the shelves. The count itself is simple. What goes wrong is everything around it: sheets that show the expected number and quietly steer the counter, a blank that gets read as a zero, a recount that nobody enters, and totals that nobody can retrace a week later.
This guide walks through a count for a small shop, from list to final totals, using a worked example of 12 items in four areas. It assumes a count on Thursday 31 December 2026, with Friday 1 January to Sunday 3 January 2027 kept free for recounts and checking. The same steps work for 12 items or 1,200. The stocktake sheet maker does the printing and the arithmetic, and every number below can be reproduced in it.
Before the count: five decisions
Make these choices a few days before 31 December, not on the morning of the count.
- Pick the cut-off. Decide the moment the count represents, for example closing time on 31 December. Anything sold or received after that belongs to the next period. Write the time on the sheets.
- Split the shop into locations. A location is a shelf run, a room or a bin that one person can count in one go. Name them the way staff already talk: Shelf A, Back room, Counter.
- Clean the list. Remove products you no longer stock, fix SKUs typed twice and check that the expected quantity is a number rather than a note. Decimals are fine: ribbon sold by the metre can be 120.5.
- Gather unit costs. A cost for each item lets the report show what a difference is worth, so you can look at the biggest values first. Use the cost already in your records.
- Set a tolerance. This is the size of difference you accept without a second look. It can be a number of units or a percent of the expected quantity.
The worked example: 12 items, four locations
Our imagined shop sells candles, mugs, tea, stationery and gift wrap. Here is the list as it stood in the stock records, grouped by location.
| Item (SKU) | Location | Expected | Unit cost |
|---|---|---|---|
| Soy candle 200 g (CAN-001) | Shelf A | 24 | 6.50 |
| Beeswax tapers, pair (CAN-002) | Shelf A | 18 | 4.20 |
| Speckle mug (MUG-014) | Shelf A | 30 | 8.75 |
| Loose-leaf tea 100 g (TEA-210) | Shelf B | 40 | 3.10 |
| Tea strainer (TEA-215) | Shelf B | 15 | 2.40 |
| A6 notebook (NOTE-003) | Shelf B | 60 | 1.90 |
| Canvas tote (TOTE-100) | Back room | 25 | 5.00 |
| Ribbon 25 mm, metres (RIB-025) | Back room | 120.5 | 0.35 |
| Gift box, small (BOX-050) | Back room | 12 | 0.80 |
| Greeting card (CARD-007) | Counter | 80 | 1.10 |
| Hand soap bar (SOAP-020) | Counter | 36 | 2.80 |
| Tester soap (TEST-001) | Counter | 0 | 2.80 |
Two lines deserve a comment. The ribbon has a decimal quantity, and the tester soap has an expected quantity of 0 because testers were never entered as stock. Both are normal in a real shop, and both break careless spreadsheets: a rounded ribbon length hides a real difference, and a percent against zero cannot be worked out.
Choosing the tolerance
Our shop picks 2 units. That is loose enough to ignore a single card slipped into the wrong tray, and tight enough that a missing box of mugs stands out.
The rule that matters is what happens at the boundary. A variance exactly equal to the tolerance is inside it. With a tolerance of 2, a count that is 2 over is fine and a count that is 3 over needs a second look. Decide this before the count so nobody argues about it afterwards.
Percent works the same way. A 5% tolerance on an expected quantity of 8 allows a difference of 0.4, and 0.4 exactly is inside. For items that sell by the thousand, percent is usually the fairer choice; for slow, valuable items, units are.
Printing blind sheets by location
Print one set of sheets for each location, with the expected quantity hidden. A counter who can see "expected 30" tends to find 30. A counter who sees only the SKU and name writes what is on the shelf.
Each sheet should carry the location, the count date, a line for who counted and who checked, and two writing columns: Count and Recount. Add a few spare lines at the end of every location for stock that turns up and is not on the list. In our example, 12 items fit on four sheets, one per location, with spare lines to the bottom.
At scale it is pagination that bites. An A4 sheet holds about 24 lines and a US Letter sheet about 22, so a list of 300 items needs 13 A4 sheets or 14 Letter sheets, and each location should start on a fresh sheet so teams do not share paper. The sheet maker numbers every page "Sheet 3 of 13" so a missing sheet is obvious.
Count day: 31 December
Brief the counters with four rules, and print them where they can be seen.
- Write 0 when the shelf is empty. A blank means "not counted". The report treats a blank as work still to do and a zero as a real result: an expected 12 and a counted 0 is a shortfall of 12, whereas a blank is simply missing.
- Count what is there, not what should be. Do not adjust for items you think were sold. The cut-off handles that.
- Count each item once, in the right location. The same SKU can live in two places, and each place gets its own line.
- Recount on the spot if unsure. The Recount column is there for that.
In our example, two counters were unsure and counted twice on the day: the beeswax tapers (16, then 18) and the mugs (27, then 27). After the sheets came back, the counts went into the tool. The soap on the counter had not been reached, so its count stayed blank.
| Item | Expected | Count | Recount | Variance | Status |
|---|---|---|---|---|---|
| Soy candle | 24 | 24 | 0 | Within tolerance | |
| Beeswax tapers | 18 | 16 | 18 | 0 | OK after recount |
| Speckle mug | 30 | 27 | 27 | -3 | Variance confirmed |
| Loose-leaf tea | 40 | 42 | +2 | Within tolerance | |
| Tea strainer | 15 | 15 | 0 | Within tolerance | |
| A6 notebook | 60 | 54 | -6 | Recount needed | |
| Canvas tote | 25 | 25 | 0 | Within tolerance | |
| Ribbon (m) | 120.5 | 118 | -2.5 | Recount needed | |
| Gift box, small | 12 | 0 | 0 | -12 | Variance confirmed |
| Greeting card | 80 | 79 | -1 | Within tolerance | |
| Hand soap bar | 36 | blank | n/a | Not counted | |
| Tester soap | 0 | 3 | +3 | Recount needed |
Read it line by line. The loose-leaf tea is 2 over, exactly equal to the tolerance, so it passes. The notebooks are 6 under, the ribbon is 2.5 under and the testers are 3 over, so all three go on the recount list. The gift boxes show a counted zero, which is a real result, so with a second zero the shortfall of 12 is confirmed. The soap is not counted at all and stays out of the totals.
The arithmetic on the evening of day one
With 11 of 12 items counted, the report shows its working:
- Expected units across the 11 counted items: 424.5
- Counted units: 405
- Shortfalls: -24.5 units over 5 items. Surpluses: +5 units over 2 items.
- Net unit variance: -24.5 + 5 = -19.5, and as a check 405 - 424.5 = -19.5.
- Value of shortfalls: -49.23. Value of surpluses: +14.60. Net value difference: -49.23 + 14.60 = -34.63.
Every value line is the variance multiplied by the unit cost, rounded to the cent. The ribbon, for example, is -2.5 x 0.35 = -0.875, which shows as -0.88. These are working numbers while a recount is outstanding, which is why the report says what is not yet counted rather than hiding it.
Recount days: 1 to 3 January
Print a recount sheet that lists only the items on the recount list, again with the earlier count hidden. A different person should do it. A second person with no memory of the first number is the whole point.
On Friday 1 January, our recount goes like this:
- A6 notebook: counted 55. The variance moves from -6 to -5, which is still outside the tolerance, so it is a confirmed shortfall.
- Ribbon: counted 119.5. The variance is now -1, inside the tolerance, so the first count was simply short.
- Tester soap: counted 3 again. The surplus of 3 is confirmed. Those testers were never in the stock records.
- Hand soap bar: counted at last: 35, a variance of -1, inside the tolerance.
The recount replaces the first count. Both numbers stay visible, but only the recount feeds the variance and the totals.
The final totals
After the recounts, all 12 items are counted. Eight are inside the tolerance and four are confirmed variances: the mugs (-3), the notebooks (-5), the gift boxes (-12) and the testers (+3).
| Location | Expected | Counted | Variance | Value difference |
|---|---|---|---|---|
| Shelf A | 72 | 69 | -3 | -26.25 |
| Shelf B | 115 | 112 | -3 | -3.30 |
| Back room | 157.5 | 144.5 | -13 | -9.95 |
| Counter | 116 | 117 | +1 | +4.50 |
| All locations | 460.5 | 442.5 | -18 | -35.00 |
The arithmetic holds from every angle. Units: 442.5 - 460.5 = -18, which also equals -23 of shortfalls plus 5 of surpluses. Value: -49.60 of shortfalls plus 14.60 of surpluses is -35.00, and the expected value of 1,133.68 plus -35.00 gives a counted value of 1,098.68.
Notice what the value column adds. The gift boxes have the biggest unit gap, -12, but they are worth only 9.60. The mugs are 3 short and worth 26.25, the largest single line. Start your investigation with the value column, not the unit column.
Chasing the four confirmed variances
A confirmed variance is a question, not a verdict. For each one, check the usual causes in this order:
- A recording gap. A delivery not booked in, a return not booked back, or a sale rung up under a different SKU. The testers are this kind.
- A unit mix-up. Boxes counted as singles, or a pair counted as one.
- A misplaced item. The gift boxes may be sitting with the packaging supplies, which are not on any sheet.
- Breakage or loss. Possible, but only after the first three are ruled out.
Write the cause beside each line, then hand the final list to whoever keeps your books. If a shortfall makes you rethink what an item earns, the sale margin calculator shows profit and margin at any price. When it is time to reorder multipacks, the unit price comparison shows which pack really costs less per item.
Five mistakes to avoid
- Showing the expected number to the counter. It changes what people find.
- Treating a blank as a zero, or a zero as a blank. One means "not counted", the other means "none here". Keep them apart.
- Letting duplicate SKUs hide. The same SKU twice in one location is usually a typing slip, and it double-counts the stock. Fix it before printing.
- Ignoring items with an expected quantity of zero or below. Testers, samples and oversold lines all show up here. A negative expected quantity means the records went wrong earlier; flag it and look.
- Counting while customers are buying. Count when the shop is closed or put a "counting" sign on the aisle, and note the time.
A checklist for the week
- Before 31 December: locations named, list cleaned, unit costs added, tolerance chosen, blind sheets printed, spare pens on every clipboard.
- 31 December: brief the counters, count by location, recount on the spot if unsure, collect every sheet.
- 1 to 3 January: enter the counts, print the recount sheet, send a different person, enter the recounts, export the CSV and note a cause for each confirmed variance.
Questions about a year-end stock count
How early should I print the count sheets?
Print them two or three days before, so a missing location or a typo shows up while there is still time to fix it. Print a few spare lines per location, not spare sheets.
Should I count with the expected quantities visible?
Hide them for the first count so the number on the sheet is what was actually on the shelf. Show them only when you analyse the results, where they belong in the variance column.
What tolerance should a small shop use?
It depends on the item. Units suit slow, valuable items; percent suits fast-moving ones. What matters is that you choose it before the count and that a variance equal to the tolerance counts as inside it.
Does a recount replace the first count?
Yes. The second count is the working number, and the first stays on the record for comparison. If both disagree with the expected quantity by the same amount, the variance is confirmed.