Skip to content
EMPOBase
en

How to run a physical stock count

By the EMPOBase team · · 4 min read

Short answer

To run a physical stock count, freeze stock movements, count every item in pairs, compare the count with the stock record, investigate each difference, and record approved adjustments with a reason. Do it at least once a year for the whole store, and run smaller spot counts more often on fast-moving or high-value items. The count is only useful if someone independent leads it.

Key points

  • Freeze movements during the count so the numbers do not shift under you.
  • Count in pairs, and have the person who keeps the stock record stay out of the counting.
  • Investigate every difference before you adjust the record; do not just write it off.
  • Spot counts on fast-moving or high-value items catch problems between full counts.

Why count stock at all?

A stock record says what you think is in the store. A physical count says what is there. They drift apart for ordinary reasons: a delivery not recorded, a distribution written twice, damage, spoilage, theft, a wrong unit. Left alone, the gap grows until the record cannot be trusted, and donors ask where their goods went.

A count is how you find out before someone else does.

What are the types of count?

TypeWhenWhat it covers
Full countAt least yearly, at project end, at handover of a storeEvery item in every location
Cycle countOn a schedule through the yearA few items or shelves at a time
Spot checkWithout warningA chosen item or batch
Handover countWhen the storekeeper changesThe whole store, with both people present

Use a mix. A yearly full count alone is too slow to catch problems. Cycle counts and spot checks keep the store honest in between.

How to prepare

  1. Set the date and tell people. Plan the count at a quiet time. Warn project teams, so they do not ask for goods during it.
  2. Choose the team. Counters work in pairs. Add a leader who does not keep the stock record or manage the store day to day.
  3. Tidy the store. Group items by type, put damaged and expired goods in one marked area, and clear the aisles.
  4. Close open paperwork. Record all receipts and issues up to the count time. Note any documents still in transit.
  5. Print the count sheets. Use blank quantity columns. If the sheet shows the expected number, counters tend to confirm it instead of counting.
  6. Freeze movements. No goods in or out during the count, or log them separately with times.

How to count

  1. Count by location. Walk the store in a set order, shelf by shelf.
  2. Count in pairs. One counts, one writes. Swap halfway.
  3. Count units, not guesses. Open boxes if needed, or use full-box counts with a check on one box.
  4. Record condition. Note damaged, expired or near-expiry items separately.
  5. Tag counted areas. A tag or mark prevents double counts and missed shelves.
  6. Recount differences. If the first count disagrees with the record, a second team recounts that line before anyone concludes anything.
  7. Sign the sheets. Counters and the leader sign each page with date and time.

How to reconcile differences

Now compare the count with the stock record, item by item.

  1. Calculate the difference: counted minus recorded.
  2. For each difference above your tolerance, look for the cause. Check unrecorded receipts, issues without a document, wrong units, items booked to the wrong location, and transfers between stores.
  3. Look at the paperwork around the count date. Many differences are timing.
  4. Where the cause is a recording error, correct the record with a note.
  5. Where goods are truly missing or spoiled, write up what happened.
  6. Send the list of adjustments to a manager who is not the storekeeper.

Do not adjust the record before you have looked for the cause. A write-off without a reason hides the problem you set out to find.

What should the adjustment record show?

An auditor will ask how you handled each difference. For each adjustment keep:

  • the item, location and unit,
  • the recorded quantity and the counted quantity,
  • the difference and its estimated value,
  • the cause, or a note that the cause is unknown,
  • the approver’s name, role and date,
  • any follow-up, such as a report to the donor or an investigation.

Our article on inventory management for NGO warehouses covers the daily records that make counts easier, and how to set reorder points for relief stock helps you avoid over-stocking in the first place.

What patterns should worry you?

Look beyond single differences. These patterns suggest a deeper problem:

  • the same item short each time you count,
  • shortages that cluster around one shift or one person,
  • items that are always exactly as recorded, which can mean counts are copied,
  • large adjustments just before a donor visit,
  • expired stock that nobody reported.

Treat patterns as questions for a manager, not as proof of wrongdoing.

Where EMPOBase fits

EMPOBase Inventory records stock by location and lets you review movement and distribution records, with project and activity references where you have them. Reorder Alerts help you see when an item runs low. Use these records as the “recorded” side of your count, then check them against the shelves and your delivery evidence. A goods received note does not move stock in EMPOBase; inventory is a separate record, so check both after a delivery. The count itself, and the decision to write off a difference, remain a human process. Read more on what EMPOBase covers.

Questions people ask

How often should we count stock?

Count the whole store at least once a year and at the end of a project or distribution. Add spot counts monthly or weekly for items that move fast, are valuable or are easy to take.

What difference is acceptable?

Set a tolerance in your policy by item type, such as zero for medicines and a small margin for bulk goods. Any difference above it needs an explanation and a manager's approval.

Should the storekeeper count their own store?

The storekeeper helps, but an independent person should lead or witness the count. Counting your own store hides errors, honest or not.