How to run a year-end stock count: a 12-item worked example

Plan a year-end stock count for a small shop: blind count sheets, a tolerance, recounts and totals with the arithmetic, worked on 12 items over two days.

Free. Your list stays in your browser.

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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)LocationExpectedUnit cost
Soy candle 200 g (CAN-001)Shelf A246.50
Beeswax tapers, pair (CAN-002)Shelf A184.20
Speckle mug (MUG-014)Shelf A308.75
Loose-leaf tea 100 g (TEA-210)Shelf B403.10
Tea strainer (TEA-215)Shelf B152.40
A6 notebook (NOTE-003)Shelf B601.90
Canvas tote (TOTE-100)Back room255.00
Ribbon 25 mm, metres (RIB-025)Back room120.50.35
Gift box, small (BOX-050)Back room120.80
Greeting card (CARD-007)Counter801.10
Hand soap bar (SOAP-020)Counter362.80
Tester soap (TEST-001)Counter02.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.

ItemExpectedCountRecountVarianceStatus
Soy candle24240Within tolerance
Beeswax tapers1816180OK after recount
Speckle mug302727-3Variance confirmed
Loose-leaf tea4042+2Within tolerance
Tea strainer15150Within tolerance
A6 notebook6054-6Recount needed
Canvas tote25250Within tolerance
Ribbon (m)120.5118-2.5Recount needed
Gift box, small1200-12Variance confirmed
Greeting card8079-1Within tolerance
Hand soap bar36blankn/aNot counted
Tester soap03+3Recount 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).

LocationExpectedCountedVarianceValue difference
Shelf A7269-3-26.25
Shelf B115112-3-3.30
Back room157.5144.5-13-9.95
Counter116117+1+4.50
All locations460.5442.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:

  1. 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.
  2. A unit mix-up. Boxes counted as singles, or a pair counted as one.
  3. A misplaced item. The gift boxes may be sitting with the packaging supplies, which are not on any sheet.
  4. 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.

Build my count sheets