Inventory ABC Analysis — Complete User Guide — Two Accounts Web
Comprehensive guide for the Inventory ABC Analysis report — enabling it, creating the report, reading every column, and validating each figure against the General Ledger inventory postings and accounting regulations
Table of Contents
- What Is the Inventory ABC Analysis Report?
- Prerequisites — Enabling via the Customize Menu
- Navigating to the Report
- The Report List
- Creating the Report — Field-by-Field
- Report Output Columns
- How the Report Is Calculated
- Related Settings and Configuration
- Sample Data and Report Output
- General Ledger Verification
- Reporting and Accounting Impact
- Accounting Regulation Validation
- Common Issues and Best Practices
1. What Is the Inventory ABC Analysis Report?
The Inventory ABC Analysis report is a classic management-accounting control tool. It ranks every inventory item by the value of its stock held during a period, and then assigns each item to one of three classes using the well-known Pareto (80/20) principle:
- Class A — the small number of items that make up the largest share of inventory value (typically the top ~80% of value). These are the high-value items that deserve the tightest control.
- Class B — the next group of items (typically the next ~15% of value). Moderate control.
- Class C — the many low-value items that make up the smallest share of value (the remaining ~5%). Lighter, simpler control.
For every item the report shows the quantity owned, the unit cost, the total cost, the item's percentage of total inventory value, and the cumulative percentage. Items are sorted from the most valuable to the least valuable, so the A-class items appear at the top of the list.
Like most reports here, it is a saved report: you choose a period once, save it, and reopen it any time. The output is printable, emailable, and exportable.
2. Prerequisites — Enabling via the Customize Menu
The report appears under Reports only when the Inventory Items tab is enabled for the business. Inventory Items is not enabled by default.
How to Enable
- Open the Customize Menu from the navigation bar.
- Find the Inventory Items toggle and turn it on.
- Click Update / Save to apply.
Once enabled, the report is available under Reports → Inventory Items → Inventory ABC Analysis.
3. Navigating to the Report
From the main navigation bar:
- Open Reports.
- Go to the Inventory Items category.
- Click Inventory ABC Analysis.
This opens the report list — every saved ABC Analysis report for the business appears here, sorted by its From Date (newest first).
4. The Report List
The list shows one row per saved report, with three columns:
| Column | Description |
|---|---|
| From (From Date) | The start of the analysis period. Rows are sorted by this date (newest first). |
| To (To Date) | The end of the analysis period. |
| Description | An optional note entered when the report was created (e.g. "Q1 2026 Stock Value"). |
Each row is clickable:
- Click the row to open the report output (the ABC classification table).
- Edit opens the report form to change the period, description, or thresholds.
A New Report button at the top creates a fresh report.
5. Creating the Report — Field-by-Field
Click New Report to open the report form. It contains four fields:
5.1 From Date and To Date
| Field | Required? | What To Enter | Effect |
|---|---|---|---|
| From Date | ✅ Yes | The first day of the analysis period (e.g. 1-Jan-2026). | Only inventory on-hand postings dated on or after this date are included. |
| To Date | ✅ Yes | The last day of the analysis period (e.g. 31-Jan-2026). | Only inventory on-hand postings dated on or before this date are included. |
5.2 Description
| Field | Required? | What To Enter | Effect |
|---|---|---|---|
| Description | ❌ Optional | A note to identify the saved report (e.g. "Q1 2026 Stock Value"). | Displayed in the report list only. Can be left blank. |
5.3 Class A Percentage
| Field | Required? | Default | Effect |
|---|---|---|---|
| Class A Percentage | ✅ Yes (a number) | 80 | The cumulative-value threshold that defines Class A. An item is Class A while the cumulative percentage of total value is at or below this figure (e.g. 80 means the items that together make up the first 80% of value are Class A). |
5.4 Class B Percentage
| Field | Required? | Default | Effect |
|---|---|---|---|
| Class B Percentage | ✅ Yes (a number) | 15 | The additional cumulative-value band that defines Class B. An item is Class B while the cumulative percentage is above the Class A threshold but at or below Class A + Class B (e.g. 80 + 15 = 95). Everything above that band is Class C. |
6. Report Output Columns
The report opens with a subtitle:
For the period from {From Date} to {To Date}
The table reads one row per inventory item (items are listed from the highest total value to the lowest). The columns are:
| Column | Type | Meaning |
|---|---|---|
| ABC Class | Text | The classification assigned to the item: A, B, or C (per the thresholds on the report). |
| Qty owned | Number | The item's quantity owned, derived from the inventory on-hand movements in the period (purchases/imports less sales and adjustments). |
| Unit Cost | Amount | The average cost per unit = Total cost ÷ Quantity owned (absolute quantity), rounded to the base currency's decimal places. |
| Total cost | Amount | The item's total stock value in the period — the sum of the inventory on-hand postings for that item (in the base currency). |
| % of Total | Number | The item's share of the period's total inventory value, expressed as a percentage (e.g. 68.95 means 68.95%). |
| Cumulative % | Percentage | The running cumulative share of total value, from the top of the list down to this item. This is the figure used to assign the ABC class. |
7. How the Report Is Calculated
7.1 Source of the Data
The report is built from the business's General Ledger. It selects every ledger line that:
- is posted to an inventory on-hand account,
- is linked to an inventory item, and
- is dated within the report's inclusive From–To range.
Before reading, the ledger is processed through the same cost-of-goods-sold calculation used by the standard financial statements, so the inventory values reflect the correct COGS allocations.
7.2 Quantity Owned
Qty owned (per item) = sum of the item's inventory on-hand GL quantities,
counting only lines that are genuine ledger transactions,
excluding automatic cost-of-goods-sold sales lines,
and only where a non-zero quantity is recorded.
- Purchases/imports increase the quantity; sales and adjustments reduce it (their COGS lines are excluded so sales do not inflate the "owned" figure).
- Lines with a blank or zero quantity are skipped for the quantity count.
7.3 Total Cost and Unit Cost
Total cost (per item) = sum of the item's inventory on-hand GL amounts
counting only genuine ledger transactions,
excluding automatic cost-of-goods-sold sales lines.
Unit cost = Total cost ÷ absolute value of Quantity owned
(rounded to the base currency's decimal places)
- For purchased goods this includes the full unit cost recorded in the cost layers — the purchase price plus any directly attributable costs, as capitalised by the system's costing engine.
- The absolute quantity is used so a negative quantity still yields a meaningful (positive) unit cost.
7.4 Sorting and Percentages
Items are sorted by Total cost, from highest to lowest. Then, for each item in that order:
% of Total = round( item Total cost ÷ total value of all items × 100 , 2 )
Cumulative % = round( running total of costs ÷ total value × 100 , 2 )
Both percentages are rounded to 2 decimal places using half-away-from-zero rounding. The Cumulative % is the running total of the item costs as you go down the list, divided by the total value — it is computed from the raw cumulative cost, not by adding the rounded per-item percentages.
7.5 Cumulative Percentage and Classification
Each item's class is decided by its Cumulative % against your saved thresholds:
Class A if Cumulative % ≤ Class A Percentage (default 80)
Class B if Cumulative % ≤ Class A Percentage + Class B Percentage (default 95)
Class C otherwise
7.6 Total Row
A Total row at the bottom sums the numeric columns: the total quantity owned, the total cost, and the sum of unit costs. The ABC Class, % of Total, and Cumulative % columns are not totalled (percentages and class labels are not meaningful as sums).
8. Related Settings and Configuration
| Setting / Record | Where | How It Affects the Report |
|---|---|---|
| Inventory Items tab | Customize Menu | Must be enabled for the report to appear. |
| Inventory Item — Item Code / Item Name | Inventory Items tab → New Item / edit | The row label is shown as "Code - Name" when a code is set, otherwise just the name. |
| Inventory on-hand postings | From purchases, receipts, sales, adjustments | These are the data source. Each purchase/receipt creates a cost layer on inventory on-hand; sales and write-offs draw from those layers. |
| Inventory valuation method | Inventory settings | Drives the cost-of-goods-sold calculation the report runs against, so unit costs reflect your valuation method. |
| Base currency | Business Details / Settings | All amounts are in the base currency; foreign-currency imports are converted by their LC exchange rate. |
9. Sample Data and Report Output
9.1 Sample Setup
Business settings
| Setting | Value |
|---|---|
| Base currency | USD |
| Inventory Items tab | Enabled |
| Valuation / COGS | System cost-of-goods-sold calculation (FIFO / Moving Average / LIFO per item) |
Transactions
| ID | Type | Item | Detail | Qty | Value (USD) |
|---|---|---|---|---|---|
| T1 | Purchase | Widget-X | @ $10 | +100 | 1,000 |
| T2 | Purchase | Gadget-Y | @ $20 | +100 | 2,000 |
| T3 | Purchase | Component-Z | @ $30 | +100 | 3,000 |
| T4 | Purchase | Widget-X | @ $12 | +100 | 1,200 |
| T5 | Purchase | Gadget-Y | @ $22 | +100 | 2,200 |
| T6 | Purchase | Component-Z | @ $32 | +100 | 3,200 |
| T7 | Sale | Widget-X | 150 units | −150 | — |
| T8 | Sale | Gadget-Y | 50 units | −50 | — |
| T9 | Sale | Component-Z | 120 units | −120 | — |
| T10 | Purchase | Widget-X | @ $14 | +50 | 700 |
| T11 | Sale | Widget-X | 30 units | −30 | — |
| T12 | Sale | Gadget-Y | 60 units | −60 | — |
| T13 | Purchase | Component-Z | @ $34 | +50 | 1,700 |
| T14 | Write-off | Widget-X | 5 units | −5 | — |
| T15 | Transfer | Gadget-Y | 10 units → Location B | net 0 | — |
| T16 | Sale | Component-Z | 30 units | −30 | — |
| T17 | Return (Credit Note) | Widget-X | 10 units | +10 | +120 |
| T18 | Period end | Component-Z | Periodic COGS (50×34 + 100×32) | — | −4,900 |
Inventory items and their walkthrough on-hand position
| Item | Method / System | Quantity owned | Total cost | Unit cost |
|---|---|---|---|---|
| Component-Z | LIFO / Periodic | 100 | 3,000 | 30.00 |
| Gadget-Y | Moving Average / Perpetual | 90 | 1,890 | 21.00 |
| Widget-X | FIFO / Perpetual | 75 | 1,000 | 13.33 |
Unit costs (computed by the report from the walkthrough layers):
Widget-X = 1,000 ÷ 75 = 13.333… → 13.33
Gadget-Y = 1,890 ÷ 90 = 21.000 → 21.00
Component-Z = 3,000 ÷ 100 = 30.000 → 30.00
9.2 Creating the Report
From Reports → Inventory Items → Inventory ABC Analysis, click New Report and enter:
| Field | Value Entered |
|---|---|
| From Date | The first day of the walkthrough period |
| To Date | The last day of the walkthrough period |
| Description | Inventory Walkthrough ABC |
| Class A Percentage | 80 (default) |
| Class B Percentage | 15 (default) |
9.3 Report Output
For the period from {From Date} to {To Date}
| ABC Class | Item | Qty owned | Unit Cost | Total cost | % of Total | Cumulative % |
|---|---|---|---|---|---|---|
| A | Component-Z | 100 | 30.00 | 3,000.00 | 50.93 | 50.93% |
| B | Gadget-Y | 90 | 21.00 | 1,890.00 | 32.09 | 83.02% |
| C | Widget-X | 75 | 13.33 | 1,000.00 | 16.98 | 100.00% |
| Total | 265 | 64.33 | 5,890.00 |
9.4 Calculation Verification
Total inventory value:
Total value = 3,000 + 1,890 + 1,000 = 5,890
Per-item percentages and classes (sorted by total cost, descending):
Component-Z:
% of Total = 3,000 / 5,890 × 100 = 50.93 ✓
Cumulative % = 3,000 / 5,890 × 100 = 50.93 ✓
Class = 50.93 ≤ 80 → A ✓
Gadget-Y:
% of Total = 1,890 / 5,890 × 100 = 32.09 ✓
Cumulative % = 4,890 / 5,890 × 100 = 83.02 ✓
Class = 83.02 ≤ 95 → B ✓
Widget-X:
% of Total = 1,000 / 5,890 × 100 = 16.98 ✓
Cumulative % = 5,890 / 5,890 × 100 = 100.00 ✓
Class = 100.00 > 95 → C ✓
Unit costs:
Widget-X = 1,000 ÷ 75 = 13.33 ✓
Gadget-Y = 1,890 ÷ 90 = 21.00 ✓
Component-Z = 3,000 ÷ 100 = 30.00 ✓
Total row:
Qty owned = 100 + 90 + 75 = 265 ✓
Total cost = 3,000 + 1,890 + 1,000 = 5,890 ✓
10. General Ledger Verification
Every figure in the report is a sum of General Ledger inventory on-hand postings. Those postings are:
Purchases (InventoryOnHand):
Widget-X 100 @ 10 = 1,000 ; 100 @ 12 = 1,200 ; 50 @ 14 = 700
Gadget-Y 100 @ 20 = 2,000 ; 100 @ 22 = 2,200
Component-Z 100 @ 30 = 3,000 ; 100 @ 32 = 3,200 ; 50 @ 34 = 1,700
Sales consume the layers (COGS):
Widget-X T7 = 1,600 ; T11 = 360 ; T14 (write-off) = 60 ; T17 (return) = −120 → net 1,900
Gadget-Y T8 = 1,050 ; T12 = 1,260 → net 2,310
Component-Z T18 (periodic, LIFO) = 4,900
Ending on-hand (InventoryOnHand):
Widget-X 75 units = 1,000 Gadget-Y 90 units = 1,890 Component-Z 100 units = 3,000
How each report column maps to the GL:
| Report column | GL source |
|---|---|
| Qty owned | Sum of the item's inventory on-hand GL quantities (excluding automatic COGS sales lines and zero/blank quantities). |
| Total cost | Sum of the item's inventory on-hand GL amounts (excluding automatic COGS sales lines). Widget-X = 1,000; Gadget-Y = 1,890; Component-Z = 3,000 — matching the walkthrough's ending on-hand. |
| Unit Cost | Total cost ÷ absolute quantity (rounded to base-currency decimals). Widget-X = 1,000 ÷ 75 = 13.33. |
| % of Total / Cumulative % | Computed from the Total cost figures (section 9.4) — no separate GL source. |
| ABC Class | Derived from Cumulative % against the saved thresholds — no GL source. |
Cross-check with the walkthrough's Inventory Items List View / Balance Sheet:
InventoryOnHand (Widget-X) 1,000
InventoryOnHand (Gadget-Y) 1,890
InventoryOnHand (Component-Z) 3,000
────────────
Total InventoryOnHand 5,890 ✓
11. Reporting and Accounting Impact
- Balance Sheet: The report's Total cost per item reconciles to the inventory on-hand account on the Balance Sheet. The grand total (5,890 in the sample) equals the inventory balance carried for those items.
- Profit & Loss: The report does not itself affect the P&L — but by ranking stock value it supports decisions (discontinuation, discounting, write-downs) that later flow through COGS and write-off entries.
- Inventory control: Class A items justify frequent cycle counting and tight purchasing control; Class C items justify simpler, cheaper controls. This directly supports lower holding costs and better cash flow.
- Cash-flow planning: Knowing where value is concentrated lets management reduce slow-moving high-value stock — the classic benefit of ABC analysis.
- Valuation cross-check: Because the figures come from the GL (via the COGS calculation), the report doubles as an independent check on the inventory valuation reports.
12. Accounting Regulation Validation
| Standard | Requirement | How the Report Complies |
|---|---|---|
| IAS 2 — Inventories §10, §13 | Cost of inventories includes purchase price, import duties, freight and other directly attributable costs of bringing the goods to their present location and condition. | The report's Total cost for each item is the inventory on-hand value produced by the costing engine from its cost layers (purchase price and attributable costs), matching the walkthrough's ending on-hand. |
| IAS 2 — Cost formulas §25-27 | Inventory cost is determined using a consistent cost formula (FIFO / weighted average / etc.). | The report runs through the system's cost-of-goods-sold calculation, so unit costs reflect the business's chosen cost formula. |
| IAS 2 — Measurement §9 / impairment §28-33 | Inventory is measured at the lower of cost and net realisable value; write-downs are recognised where NRV is lower. | ABC ranking is the first step in identifying slow-moving high-value stock that may need an NRV review and write-down. The report surfaces those items but does not itself revalue them. |
| IAS 1 — Presentation & materiality | Information should be presented at a level of aggregation that is material and decision-useful. | ABC groups inventory into material classes (A/B/C) so management attention is directed where it adds the most value. |
| IFRS for SMEs — Section 13: Inventories | SMEs measure inventories at the lower of cost and estimated selling price less costs to complete and sell, using a consistent cost method. | The report's cost basis is the SME's own inventory cost postings; ABC is a cost-effective control overlay for an SME. |
| Double-entry principle | Debits equal credits for every posting. | Every figure is a re-aggregation of balanced inventory postings (each import posts equal debits and credits), so the report's totals always tie to the ledger. |
| Consistency / comparability (IAS 8) | Financial information should be prepared on a consistent basis to be comparable. | The report always uses the same inclusive date rule, the same COGS processing, and the same cumulative classification rule, so periods are directly comparable. |
13. Common Issues and Best Practices
13.1 The Report Does Not Appear
Cause: The Inventory Items tab is not enabled, or the user lacks report permission.
Solution: Enable Inventory Items in the Customize Menu, or ask the administrator to grant report access.
13.2 The Report Body Is Empty
Cause: No inventory on-hand postings exist within the selected period (no purchases, imports, sales, or adjustments for any item).
Solution: Widen the date range, or confirm stock movement was recorded in the period.
13.3 Only One or Two Classes Appear (e.g. only A and C)
Cause: The items' values are so concentrated that the cumulative percentage jumps straight past the Class B band.
Solution: This is expected behaviour, not an error — with the default thresholds, the class bands are driven by cumulative value. If you want a finer split, adjust the Class A / Class B percentages on the report.
13.4 An Item's Cost Looks Different From Its Purchase Price
Cause: The report shows the item's cost-layer value (the cumulative cost of the layers on hand), not a single purchase price. Different layers carry different unit costs — e.g. in the walkthrough Widget-X has layers at 10, 12 and 14, giving a blended on-hand unit cost of 13.33.
Solution: Remember the total cost reflects the layers actually on hand (per the item's FIFO / Moving Average / LIFO method), which is the correct inventory valuation.
13.5 Unit Cost Uses the Absolute Quantity
Explanation: The report divides total cost by the absolute value of quantity owned, so a negative quantity (net out-shipment) still produces a meaningful positive unit cost.
13.6 Amounts Look Different From the Point-in-Time Stock Reports
Cause: ABC Analysis is movement-based for the selected period, while the Inventory Value / Valuation reports may show balances as at a date.
Solution: Choose the report that matches your question: period-movement ranking (ABC) vs point-in-time stock value (Inventory Value Summary).
Best Practices
- Run ABC over a full purchase/import period (e.g. monthly or quarterly) so the ranking reflects a complete stock cycle.
- Use the default 80 / 15 thresholds for a standard Pareto split; tune them only if your product mix warrants it.
- Cross-check the Total cost against the Balance Sheet inventory account for the same period.
- Use Class A as your cycle-count priority — highest value, most frequent counting.
- Give each saved report a clear Description (e.g. "Q1 2026 Stock Value") so the saved list is easy to navigate.
- Review Class A items for slow movers — they carry the most cash and are the first candidates for an NRV review.
End of Inventory ABC Analysis Guide