To check units sold from a stock count, account for non-sale movements, then compare the result with sales records and assigned costs.
Key takeaways
- Separate sold units from damage, samples, and other non-sale movements.
- Check that the sales records cover the same window, with the same cut-off, as the count.
- Check the cost of goods sold against the cost you assigned to each unit.
- Investigate every gap, and recount the largest gaps first.
Why this check matters
Every period close ends with the same question. The shelves have been counted, the stock sheet is printed, and someone asks whether the units the shop sold match what the stock figures say should have sold. If they do not match, check the count, the records, the costs, and stock that left without a sale.
This post is for owners, managers, and staff in independent shops who count stock at the end of a period and need to check the figures before they close. It focuses on three figures that must tie out with each other:
- the units sold implied by the stock count after accounting for non-sale movements,
- the units sold recorded in your sales records, and
- the cost assigned to those sales.
When all three agree, you can close the period with confidence. When they do not, you have a short list of places to look.
You do not need an accounting background to do this check. You need a clear idea of what each figure means, a simple formula that links them, and the habit of writing down what you did. The sections below explain why stock is hard to keep accurate, set out the three figures, work through a numerical example, list the usual causes of a mismatch, and then give a checklist you can use at the next close, followed by sections on keeping a trail and on what a clean close looks like.
Why stock is hard to keep accurate
Stock changes all the time, and the accounting texts say so directly. OpenStax's inventory chapter describes inventory accounting as "an ongoing process of constant change." The reasons it gives map closely onto an independent shop. Most businesses offer a large variety of products for sale. Purchases occur at irregular times. Products are acquired for differing prices. And inventory acquisitions are based on sales projections, which are, in the source's words, "always uncertain and often sporadic."
Each of those conditions creates a place where the count and the records can part ways. A shop that stocks a few hundred lines, takes deliveries on different days, and sometimes pays a different price for the same item from one supplier invoice to the next is working in exactly the conditions the textbook describes. Nothing about that is unusual. It just means the check at period end has to be deliberate rather than assumed.
The closing count also matters beyond the shop floor. The same chapter explains that "The unsold inventory at period end is an asset to the company and is therefore included in the company’s financial statements, on the balance sheet." In plain terms, the number you count on the last day flows into what you report about the business. A careless count does not just misstate the shelves. It misstates the figures that owners and advisers rely on.
The three figures
The check compares quantities first, then the cost assigned to the sales. Agreement helps explain the period's stock movement; a difference needs investigation.
Figure one: units sold implied by the count. Start from what you had, add what came in, and subtract what is left. That measures stock depletion, including sales, goods taken for staff use, and items lost or broken. Account for those non-sale movements before treating the result as units sold. It does not come from the till.
Figure two: units sold recorded in your sales records. This is the total from your point-of-sale reports, invoices, or order system for the same period. It captures what you believe you sold. It is only as good as the recording. A sale that was not entered, a return that was not reversed, or a bundle rung up as one item rather than several will all distort it.
Figure three: cost of goods sold. This is the cost assigned to the units sold. It is the figure that reaches the profit and loss account. Where unit costs differ between deliveries, check the costs assigned to the sales rather than assuming every unit carries the latest purchase price.
The first two figures are about quantity. The third is about money. Checking all three catches different problems, which is why you need all three.
The formula that links them
The link between the count and the sales records is simple arithmetic. Written as a formula, it reads: stock depletion equals opening units plus units received, minus closing units.
Opening units is what the count said at the start of the period. Units received is what the receiving records say came in during the period. Closing units is what the count says on the last day. Check returns as well as stock that left the shop for reasons other than a sale before comparing the result with recorded sales.
The same logic works for value. Opening stock value plus purchases during the period, less closing stock value, gives the cost of the goods that left. Account for non-sale movements before comparing that value with cost of goods sold. If every sold unit carries the same cost, multiply units sold by that cost. In practice the cost of each unit can change from one delivery to the next, and that is where the third figure needs careful handling.
A worked example
The OpenStax chapter uses a clean example that is easy to follow. It starts with 50 oil filters on hand at the end of January, at a cost of $7 each. The text then treats the start of February as the opening position: "This means that at the beginning of February, they had 50 units in inventory at a total cost of $350 (50 × $7)."
During the month, the business purchased 20 filters at a cost of $7, for a total cost of $140, which the text writes as 20 × $7. At the end of the month, there were 18 units left in inventory.
Now apply the formula. Opening 50, plus 20 received, minus 18 left, gives 52 units sold in this example, with no non-sale movements included.
Check the value as well. The business had $350 of opening stock and bought $140 more, so the stock available to sell is the sum of those two amounts. The 18 units left are valued at $7 each. Subtract the value of the closing stock from the stock available, and the result is the cost of goods sold, which should equal the 52 units sold at $7 each. When the quantity route and the value route arrive at the same answer, both tie, and the period closes cleanly.
Now change one number. Suppose the till report says 50 units sold, not 52. The gap of two units is the question to chase. Maybe two sales were not entered. Maybe two filters went out as samples or were damaged and never written off. Maybe the count was short by two because a box was missed in the back room. Each explanation leads to a different fix, which is why the gap must be investigated, not simply plugged.
Illustrative example: the same check with round numbers
Suppose a shop starts with 50 units, receives 20 more, and counts 20 on the last day. Stock depletion is 50 plus 20 minus 20, giving 50 units. With no returns or non-sale movements, that means 50 units sold. If the sales report also shows 50 units, the quantities agree; check assigned costs next.
Where the figures drift apart
Mismatches have a small set of usual causes. Work through them in this order, because the cheap checks come first.
Sales not recorded. Sales that were rung up on the wrong item, entered as a generic department, or never entered at all. Staff purchases and samples often sit in this group too.
Stock that left without a sale. Damage, theft, breakage, expired goods, and internal use all reduce the count without a sale. They need their own write-off record. If they are not recorded, they show up as unexplained units sold. Record them as described in Inventory adjustment: 6 checks before updating shop stock.
Receiving errors. A delivery signed for as complete when a carton was short, or a supplier invoice that bills for more than arrived. The receiving figure is one of the three inputs, so an error there moves the implied sales figure.
Returns handled inconsistently. A customer return that restocks the item but is not reversed in the sales record, or a supplier return that is not taken off the receiving figure, will distort the result.
Counting errors. Counting the same shelf twice, missing a back-room pallet, or miscounting units in opened packs. Recounts on the largest variances catch many of these.
Cut-off problems. Sales made after the count started, or deliveries that arrived after the count but before the period end, are often the reason a figure is off by a few units. Fix a clear time when movements stop for the count and apply it to both sides.
Cost changes. The units may match while the value does not, because the cost of an item changed between deliveries and the cost of goods sold was assigned at the wrong figure. This is where the third figure tells you something the first two cannot.
The value side can also need correction after the fact. Microsoft's Business Central documentation describes the process directly: "Cost adjustment updates the cost of goods sold (COGS) for historic sales entries to ensure that they match the costs of the inbound transactions to which they are applied." Not every shop uses software with that feature, but the idea applies to any shop. If a purchase cost is settled later than the sale, the cost of goods sold may need to be revisited. The Microsoft Learn cost adjustment page explains how that works in one system.
A checklist before you close
Use this list at each period close. It is a practical order of work, not a fixed procedure, so adapt it to how your shop runs. For a fuller count routine, see Physical inventory reconciliation: 5 count steps.
- Freeze movements for the count. Decide the exact time when sales, deliveries, and returns stop for counting. Record it. Apply the same cut-off to the sales records and the receiving records.
- Count in a fixed order. Work through the shop in the same sequence each time, so no area is skipped or counted twice. Mark shelves as they are done.
- Reconcile receiving. Match every delivery note and supplier invoice received in the period against the receiving log. Any short or over delivery should be visible here.
- Pull the sales report for the same window. Use the same start and end point. A report that runs a few hours longer than the count will almost always be out.
- Work out the implied units sold. Use the formula from earlier, then account for returns and non-sale movements. Write the result down before you compare it with anything.
- Compare the three figures. Set the implied units beside the recorded units and the cost of goods sold. Note every gap, however small.
- Recount the big gaps first. Items with the largest unit or value variances get a recount before anything else. Small gaps on low-value lines can wait.
- Check unit cost. For lines with a value gap, compare assigned costs with the supplier invoices for the stock sold. A single wrong cost can move the whole figure.
- Record every adjustment with a reason. Write-offs, returns, and corrections each need a note: what it was, why it happened, and who approved it.
- Get a second look. Someone other than the person who counted should review the reconciliation and confirm that it ties out, or that the remaining gaps are explained.
Keeping a trail you can follow
A reconciliation is only useful if someone can follow it later. Keep the count sheets, the receiving records, the sales report you used, and the reconciliation itself together for each period. If you count with an app, Count shop stock: 4 apps compared for small retailers compares the options. Note the date and time of the count, who did it, and any item that was counted twice or estimated. If you change a figure after the count, record the original, the new figure, and the reason. Staff turnover makes this more important, because the person who understood a gap in March may not be there in September.
A simple habit helps most: never close a period with an unexplained gap sitting in the figures. Either explain it, correct it, or write it up as an open item with an owner and a date to resolve it. An open item is far better than a number that looks clean but is wrong.
What a clean close looks like
A clean close does not mean zero differences. Most shops have some variance, especially in fast-moving lines with loose items. What matters is that each difference is small, understood, and recorded.
A clean close has four features. First, the three figures agree within a range the owner has set, and that range is written down before the count rather than chosen afterward to make the numbers pass. Second, every gap above that range has an explanation attached: a write-off, a correction to a sale, or a recount that changed the count. Third, the cost figures are consistent with the costs assigned to the stock sold. Fourth, the people who count and the people who review are different, so the result has been checked by someone who was not invested in the outcome.
Look at trends, too. A single period with a gap tells you little. Comparing variances across several periods shows whether a problem is getting worse, whether one product line keeps producing the same gap, or whether a particular supplier is consistently short. A pattern of small gaps in one area often points to a single process fault, such as a receiving step that gets skipped on busy days. Fixing that step removes many small problems at once.
Next step today: take your most recent count sheet, receiving records, movement notes, and sales report for the same dates. Calculate stock depletion, account for non-sale movements and returns, and compare the result with recorded sales.
Frequently asked questions
What is the formula for units sold from a stock count?
Units sold equal opening units plus units received, minus closing units and recorded non-sale departures, with returns accounted for consistently.
Why do the count and the sales records disagree?
A quantity gap means stock movements and recorded sales have not yet been reconciled. Work through the causes above, starting with the cheapest checks.
Does a gap always mean a mistake?
No, a gap can reflect stock that left without a sale. Check movement records before changing the sales figure.