All posts
Functional5 min read

Implementing ABC Cycle Counting in Odoo Inventory

Set up ABC classification-based cycle counting in Odoo - counting high-value A items frequently, B items monthly, and C items quarterly to maintain inventory accuracy without annual shutdowns.

ABC Cycle Counting in Odoo Inventory#

Full annual physical inventory counts are disruptive and infrequent. ABC cycle counting replaces this with ongoing, systematic mini-counts - high-value A items counted weekly, B items monthly, C items quarterly - maintaining high accuracy without shutting the warehouse down.

ABC Classification#

First, classify products by their value impact:

  • A items: top 20% of products by value, accounting for ~80% of inventory value → count weekly
  • B items: next 30% by value → count monthly
  • C items: remaining 50% by value (individually low value) → count quarterly or annually

Apply ABC tags to products:

Inventory → Products → [Product] → Internal Notes or Tags → add "A", "B", or "C" tag.

Scheduling Cycle Counts#

Inventory → Configuration → Locations → [Location] → Cyclic Inventory Count:

  • Inventory Frequency (days): 7 (A items), 30 (B items), 90 (C items)
  • Odoo automatically creates adjustment entries when the count is due

Create separate locations or use product filters:

Approach 1 - Location-based: dedicate locations to each category (A-Shelf, B-Shelf, C-Shelf). Set the cyclic frequency on each location.

Approach 2 - Manual schedule: create a recurring task or scheduled action that generates a filtered physical inventory for A/B/C products on the appropriate cadence.

Executing a Cycle Count#

Inventory → Operations → Physical Inventory → New:

  1. Filter by category tag: A items
  2. Staff counts only those products (using barcode or manual count)
  3. Enter counted quantities
  4. Apply adjustments

The cycle count is faster because only a subset of products is counted each session.

Counting Without Stopping Operations#

Cycle counts run while the warehouse is live:

  • Count products during quiet periods (early morning, after hours for A items)
  • Reserve the count zones during counting (staff avoid picking from those zones for 30 minutes)
  • For B and C items, count can happen during normal operations - the product's demand is low enough that discrepancies are less likely mid-count

Accuracy Tracking#

Inventory → Reporting → Inventory Accuracy:

  • % of counted SKUs that matched system exactly
  • Value of adjustments by count period
  • Products with persistent variances (signals a systematic issue)

Target: >98% accuracy for A items, >95% for B, >90% for C.

When to Do a Full Count#

Even with cycle counting, a full wall-to-wall count is worthwhile:

  • At fiscal year-end for financial statement accuracy
  • After a major warehouse reorganization
  • After suspected theft or significant discrepancy

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free