Counting and tallying · Inventory
Cycle counting: how often to count A, B and C items, and how to run one

The tool for this guide: Open the inventory counter
Cycle counting checks a small slice of stock every working day instead of everything once a year. Items are ranked A, B and C by annual usage value, and each class gets its own counts per year, such as 12 for A, 4 for B and 1 for C. No standard fixes those numbers; your counting hours decide them.
What a cycle count is, and what it replaces
A cycle count checks a planned slice of items against the stock records every working day or week, so that every item is counted at least once over a year without shutting the business for a stock take. Oracle's Inventory User's Guide (Release 12.2) defines it as "the periodic counting of individual items throughout the course of the year to ensure the accuracy of inventory quantities and values", and says it can replace complete physical inventories or be used alongside them (Oracle, Cycle Counting).
The difference from a full count is when errors are found. A wall-to-wall stock take, covered in the guide to doing a stock take, tells you once a year that a record is wrong and nothing about when it went wrong. A line counted every month is never more than a month from its last check, so the cause, a mis-pick, a receipt keyed twice, a bin swap, is still traceable.
Records drift more than most people assume. DeHoratius and Raman examined nearly 370,000 inventory records from 37 stores of one retailer and found 65% inaccurate (Management Science 54(4), 2008). They also found that 26.4% of the variation in inaccuracy came from differences between product categories and only 2.7% from differences between stores: what an item is matters more than where it is kept. That is the case for counting some items more often than others.
How often to count A, B and C items
No rulebook fixes how often to count an A, B or C item: the major inventory systems all leave it to you as a number of counts per year or a gap between counts. Monthly for A, quarterly for B and once a year for C is a workable starting point, but the guides that rank for this question range from weekly to every 60 working days for A items without saying why.
| System | Setting | Unit | Source |
|---|---|---|---|
| Oracle Inventory R12.2 | Count frequency per cycle count class | Times per year | Oracle, Cycle Counting |
| SAP S/4HANA | Number of physical inventories per year, per cycle counting indicator | Converted to an interval in workdays | SAP Learning |
| Dynamics 365 Supply Chain | Days between cycle counts in a counting plan | Days | Microsoft Learn |
| Infor WMS | Frequency per cycle class | Counting days to complete a cycle | Infor |
None of these ships a required value, which is why published figures disagree: each one is somebody's policy. Two of the ranking guides illustrate it. Cleverence's example counts A items 52 times a year, B 12 and C twice, and calls the numbers a policy choice; Racklify suggests A weekly, B monthly and C sampled quarterly. Both are reasonable for some warehouse, and neither is a standard.
Counts per year and working-day intervals are the same thing
SAP stores the number of counts per year and works out the interval in working days from the plant's factory calendar; Infor counts only the days counting is done. So "every 60 working days" and "4 times a year" describe the same schedule on a 240-working-day calendar. Divide your working days by the interval to translate.
| Counts a year | Interval in working days | Roughly |
|---|---|---|
| 52 | 4.8 | Weekly |
| 24 | 10.4 | Every two weeks |
| 12 | 20.8 | Monthly |
| 6 | 41.7 | Every two months |
| 4 | 62.5 | Quarterly |
| 2 | 125 | Twice a year |
| 1 | 250 | Once a year |
Ranking items into A, B and C
ABC classes come from ranking every item by one measure, usually annual usage value, then cutting the ranked list where the cumulative share of value crosses chosen thresholds. Oracle defines historical usage value as "the sum of the transaction quantities times the unit cost of the transactions for the time period you specify", and lets you set the cut-offs by percentage of items or percentage of value (Oracle, ABC Analysis). The 80% and 95% cut-offs used below are a convention, not a rule; Cleverence's guide calls them "a convention" too.
| Item | Units used a year | Unit cost | Annual usage value | Cumulative share | Class |
|---|---|---|---|---|---|
| SKU-01 | 1,600 | 25.00 | 40,000 | 40.0% | A |
| SKU-02 | 400 | 50.00 | 20,000 | 60.0% | A |
| SKU-03 | 3,000 | 4.00 | 12,000 | 72.0% | A |
| SKU-04 | 400 | 20.00 | 8,000 | 80.0% | A |
| SKU-05 | 1,500 | 4.00 | 6,000 | 86.0% | B |
| SKU-06 | 1,000 | 5.00 | 5,000 | 91.0% | B |
| SKU-07 | 500 | 8.00 | 4,000 | 95.0% | B |
| SKU-08 | 2,500 | 1.00 | 2,500 | 97.5% | C |
| SKU-09 | 300 | 5.00 | 1,500 | 99.0% | C |
| SKU-10 | 100 | 10.00 | 1,000 | 100.0% | C |
- Multiply units used by unit cost for each item.
- Sort from the highest value down and add a running total.
- Divide each running total by the grand total, 100,000 here, to get the cumulative share.
- Cut where the share reaches 80% (end of A) and 95% (end of B).
A real catalogue of thousands of items is far more lopsided than ten, so A usually ends up a much smaller share of the items. Rank on your own data rather than assuming a split.
When value is the wrong measure
Look at SKU-08: the most units moved of any item, and class C. Value-based ranking protects money, but every pick and receipt is a chance to take from the wrong bin or key the wrong quantity, and a cheap fast mover is handled most. Oracle's ABC compile offers twelve ranking measures, among them historical number of transactions and previous cycle count adjustment value, which ranks items by how much correcting they needed since the last compile. A practical fix is to rank by value and then move any item with frequent picks or repeated adjustments up a class.
Worked example: from classes to a daily count list
The frequency you can afford is set by the number of counts a year your team can do, so work out the workload before you promise a schedule. Take a stockroom with 2,000 items ranked into 200 A items, 400 B items and 1,400 C items, a 10%, 20% and 70% split chosen for this example.
| Class | Items | Counts a year each | Counts a year in total | Interval in working days |
|---|---|---|---|---|
| A | 200 | 12 | 2,400 | 20.8 |
| B | 400 | 4 | 1,600 | 62.5 |
| C | 1,400 | 1 | 1,400 | 250 |
| All | 2,000 | 5,400 | 21.6 counts a day |
- Multiply items by counts a year in each class: 2,400, 1,600 and 1,400.
- Add them: 5,400 counts a year.
- Divide by working days: 5,400 ÷ 250 = 21.6, so about 22 counts a day.
- Compare with what the team can do. If counting time allows 15 a day, the year holds 15 × 250 = 3,750 counts, and the plan above is 1,650 short.
The fix is to lower frequencies until the total fits, not to skip days. A 6 times, B 3 times and C once gives 1,200 + 1,200 + 1,400 = 3,800 counts, 15.2 a day. Oracle's scheduler does the same arithmetic: it uses "the number of items in each cycle count class, the count frequency of each class, and the workday calendar of your organization" to decide how many and which items to count in each scheduling period.
Running one cycle count, step by step
A cycle count is a small stock take of one location or item: stop movement there, count blind, compare with the record, recount any line outside tolerance, then investigate before adjusting. The steps below follow what the Oracle and Microsoft documentation build into their systems.
- Print or open the day's list. The scheduler's list, or your own: the items whose interval is due.
- Settle the location. Count before picking starts or agree a cut-off, and hold receipts and picks for that bin until it is done. A pick between the system snapshot and the count is a false variance.
- Count the whole location. Microsoft's cycle count work is always created for a whole location, not one item in it, so a stray item in the wrong bin is found where it sits.
- Count blind. Microsoft's mobile app "never shows the expected quantity to count", a design its documentation says prevents intentional miscounts. On paper, leave the book column off the count sheet.
- Compare with the record. Count minus book quantity, per line.
- Recount every line outside tolerance, from zero, preferably by someone else. Oracle can raise recounts automatically, up to a maximum number you set, then hold the count for approval.
- Investigate before adjusting. Look for unposted receipts, picks from the wrong bin and the same item in a second location. A confirmed variance with a found cause is a process fix; one without a cause is still adjusted, with a reason code.
- Post the adjustment in the system that owns the stock, with approval where the value is large.
Count when a location is nearly empty
Some counts are better triggered by the stock than the calendar. Dynamics 365 can create count work when a location's quantity falls below a threshold: in Microsoft's example a location holds 60 with a threshold of 40, a worker picks 25, and the remaining 35 triggers a count. A low location is the quickest to count, and a count at zero is the easiest of all to verify. Microsoft's app also allows a spot cycle count of any location at any time, with or without open count work.
Tolerances, hits and misses
A tolerance is the variance a count may show and still be accepted; a count inside it is a hit, one outside is a miss. Oracle sets hit and miss tolerances as positive and negative percentages of the system on-hand quantity, and judges them on the first count only, so a recount cannot turn a miss into a hit.
Approval tolerances are separate and can be set two ways in Oracle: as a quantity variance in percent, and as an adjustment value, count minus on-hand times item cost, in money. Oracle's own example uses an item costing $10.00 with tolerances of +5% and −10% on quantity and +$200 and −$250 on value.
| Count | Variance | Adjustment value | Tolerance exceeded |
|---|---|---|---|
| 106 | +6% | +$60 | Positive quantity variance |
| 88 | −12% | −$120 | Negative quantity variance |
| 122 | +22% | +$220 | Positive quantity and positive value |
| 73 | −27% | −$270 | Negative quantity and negative value |
Note that the tolerances are not symmetrical in the example, and that 88 breaks the quantity limit while its −$120 is well inside the value limit. Value limits catch expensive errors; percentage limits catch small-quantity errors on cheap items. Most systems let you set them per class, so A items can have a tight tolerance or none.
Two ways to score accuracy
The hit rate is hits divided by counts: 20 of 22 counts within tolerance is 90.9%. The strict version, an exact-match rate, allows no tolerance at all: a line is right only if count equals record. The site's inventory counter reports that strict version, because a net variance across lines can hide two equal and opposite errors. If your policy allows a tolerance on C items, apply it to the flagged lines yourself.
Does cycle counting replace the annual stock take?
It can, if the stock records are reliable enough for your auditors to accept them; otherwise the cycle counts run alongside a full count. Oracle's guide says cycle counting can replace complete physical inventories or be used with them. The decision is not the software's.
- Auditing standards. Australia's auditing standard on inventory, ASA 501 (December 2021 compilation), says management "ordinarily establishes procedures under which inventory is physically counted at least once a year" (A1). Where a perpetual system is kept, management may perform physical counts or other tests (A10), and counts at a date other than the period end depend on how well controls over changes in inventory work (A9).
- US tax. For book inventories, Treasury regulation 26 CFR 1.471-2(d) says the balances "should be verified by physical inventories at reasonable intervals" and adjusted to the counts. It does not define the interval.
A cycle count programme that skips its C items for two years is not counting "at reasonable intervals" by any reading. The workload table above, with every item counted at least once a year, is the shape that survives an audit question. Ask your auditor before you drop the year-end count.
Mistakes the ranking guides repeat
| The advice | What the sources show |
|---|---|
| "Count A items weekly" as if it were a standard | Oracle, SAP, Microsoft and Infor all store frequency as your setting, with no required value |
| A frequency chosen without the workload | 200 A items weekly is 10,400 counts a year, about 42 a day before any B or C item |
| "Every 60 working days" read as slow | On a 240-day calendar it is 4 times a year; the unit is working days, not calendar days |
| Rank by value and stop | Oracle also ranks by number of transactions or past adjustment value; fast cheap items need it |
| Recount until it matches | Oracle judges hit or miss on the first count, and caps automatic recounts |
| Show the counter the expected quantity | Microsoft's app never shows it, to prevent intentional miscounts |
| A net variance of zero means the count was clean | Equal and opposite line errors cancel; score lines, not the total |
Counting the day's list without losing your place
Simple Online Counter is a free, browser-based set of counters that keeps its counts in your browser's own storage. Its inventory counter holds one line per item with the counted and book quantities side by side, flags every line that disagrees, and has a recount that zeroes the counted figure without touching the book figure. For a blind count, add the lines with no book quantity, count, then type the book figures in afterwards.
Items stacked in cases can be counted by the case, with the units per case set on the line. For a single bin with several items mixed in it, the multi counter keeps one named counter per item. Neither posts adjustments: the confirmed variance goes into your stock system, with its reason, by hand.
What this guide does not cover
This guide covers planning and running cycle counts for a stockroom, warehouse or shop. It does not cover inventory valuation, costing methods, or how an auditor tests a count, and it is not accounting or tax advice: whether cycle counts can replace a year-end count is for your auditor and, for tax, your adviser. Frequencies, cut-offs and tolerances on this page are worked examples; the ones that fit your stock come from your own counting hours and the errors your counts find.
The system details are from each publisher's documentation as read on 4 November 2026: Oracle E-Business Suite Release 12.2, SAP S/4HANA's learning course, Microsoft's Dynamics 365 Supply Chain Management article updated 19 November 2025 and Infor WMS 2026.x. Other releases and other products may name or store the settings differently.
Frequently asked questions
How often should you cycle count A items?
There is no standard figure. Oracle, SAP and Microsoft's warehouse software all leave it as a setting: a number of counts per year, or days between counts. Monthly, 12 a year, is a reasonable starting point, and vendor guides suggest anything from weekly to quarterly. The right number is the one your counting hours can sustain, adjusted by the errors the counts find.
What is ABC cycle counting?
It is cycle counting with the count frequency set by class. Items are ranked by a measure such as annual usage value, the units used in a year times the unit cost. The small group at the top that carries most of the value is class A and is counted most often; the long tail is class C and is counted least. B sits in between.
How do you calculate how many cycle counts to do per day?
Multiply the number of items in each class by its counts per year, add the classes, and divide by your working days. 200 A items counted 12 times, 400 B items 4 times and 1,400 C items once make 5,400 counts a year; over 250 working days that is about 22 counts a day.
What does "every 60 working days" mean for a cycle count?
It is a frequency written as an interval. SAP converts the number of counts per year into a number of working days on the plant's factory calendar, so on a 240-working-day calendar 4 counts a year becomes every 60 working days. Divide the working days in your year by the interval to get the counts per year back.
What is a hit or miss in cycle counting?
A hit is a count that lands within the tolerance set for the item; a miss is one outside it. In Oracle Inventory the tolerance is a positive and negative percentage of the system on-hand quantity, and hit or miss is judged on the first count only, not on recounts. The hit rate is hits divided by counts.
Does cycle counting replace the annual stock take?
It can. Oracle's documentation says cycle counting can replace a complete physical inventory or run alongside it. Whether yours may depends on your auditors and the controls around the records. Auditing standards expect inventory to be counted at least once a year, and allow counts at other dates where those controls are effective.
Should the counter see the expected quantity?
Preferably not. A count made while looking at the system figure drifts toward it. Microsoft's warehouse app never shows the expected quantity during a cycle count, and its documentation says the design prevents intentional miscounts. Record the count first, compare it with the book quantity afterwards, and recount any line that disagrees.
What is the difference between a cycle count and a stock take?
A stock take, or full physical inventory, counts every item at one moment, usually with trading stopped. A cycle count counts a planned slice of items each day or week while the business keeps running, so every item is counted at least once over the year and errors are found within weeks of happening rather than at year end.
People also search for
More in counting and tallying
How to count store foot traffic and work out the conversion rateWho to count and who to leave out, sample hours matched hour by hour to the till, conversion per person and per group, and how big a change has to be before it is real.Published · 11 min read
How to do a manual traffic countThe class schemes compared (FHWA's 13, the DfT's census classes, PNG's 0-12), why 15-minute intervals, a tally sheet layout, and the peak hour factor worked through.Published · 14 min read
How to count a flock of birdsBlocks, tens, and why the number to report is the most seen at one time.Updated · 9 min read
Types of counters explainedSynchronous vs asynchronous, mod-N, ring and Johnson, industrial and PLC counters, plus mechanical and software counters.Updated · 11 min read
Tally marks explainedGroups of five, the five-bar gate, and why the convention has survived for centuries.Updated · 19 min read
How to make a counterTwenty lines gets you counting. Here is what to add after that, and why.Updated · 9 min read