Sign in

Blog · Board and management reporting · Supply chain

Inventory KPI dashboard in Excel

Build an inventory KPI dashboard from stock snapshots and fulfillment exports. This workbook layout covers inventory value, aging, turnover and available stock, with formulas and checks by SKU and location.

The short answerAn inventory KPI dashboard in Excel combines stock snapshots, lot aging and fulfillment records at SKU and location level. Calculate closing value, aged value share, inventory turnover, available units and unit fill rate. Reconcile the source totals before presenting the KPIs, and calculate company ratios from their summed numerators and denominators rather than averaging row percentages.

An inventory KPI dashboard in Excel compares stock value, aging, turnover and availability by SKU and location using the same reporting cutoff. Build the source checks before the charts, and calculate total ratios from the underlying amounts. The layout below provides a working structure you can recreate in your own workbook.

Give each worksheet a clear job

Use a Stock sheet for beginning and ending balances, an Activity sheet for period cost of goods sold and fulfillment, a Measures sheet for calculations, and a Dashboard sheet for the results. Retain lot-level aging detail in the source workbook even when the dashboard summarizes it.

The stock grain is one SKU and location at a stated cutoff. Activity covers the period between the beginning and ending snapshots. Summarize activity to that same grain before joining it to balances; otherwise repeated order lines will multiply inventory value.

This is an inventory workbook. The broader inventory dashboard discusses the operating view, while the supply chain KPI dashboard in Excel adds delivery and supplier measures.

Sheet Required columns Check before use
Stock SKU, site, beginning value, closing units, unit cost, aged units, blocked units, reserved units One row per SKU and site
Activity SKU, site, period COGS, requested units, shipped units Period and unit definitions match
Measures Source amounts and computed KPIs Totals tie to the exports
Dashboard Current results, prior results, exceptions, owner Every displayed result has a measure behind it

For presentation mechanics, use the separate Excel dashboard guide. The KPI dashboard template provides a common layout for targets and status rules; use the inventory definitions here for its inputs.

Fill the stock and activity inputs

A US distributor is reviewing October 2026. Beginning value is the opening inventory at October 1; closing units are the balance at October 31. The example assumes a constant unit cost within each SKU, with beginning and ending values on the same cost basis.

Age means elapsed days since the remaining lot's receipt date. Aggregate the value of lots aged at least 180 days. A recent receipt for a SKU must not reset the age of its older lots.

SKU Site Beginning value (USD) Closing units Unit cost (USD) 180+ day units Blocked units Reserved units
A100 Reno 1,200 100 10 20 10 30
A100 Dallas 800 60 10 5 0 20
B200 Reno 3,000 80 25 30 5 15

Blocked and reserved units are mutually exclusive in this export. Establish that rule with the source owner before subtracting both columns.

The activity export covers October requests and shipments allocated to those same requests through the report cutoff. Requested units include the unfilled units; shipments from other request periods are excluded.

SKU Site Period COGS (USD) Requested units Shipped units
A100 Reno 1,800 80 75
A100 Dallas 1,500 60 60
B200 Reno 4,500 100 85
Total 7,800 240 220

This defines a unit fill rate at the cutoff, rather than an order fill rate or an on-time delivery measure. Write that definition beside the dashboard.

Calculate the measures

Copy the stock columns into A:H on Measures in the order shown above. Use I for closing value, J for aged value, K for available units and L for average inventory value. In row 2 enter:

=D2*E2
=F2*E2
=D2-G2-H2
=(C2+I2)/2

Use M:O for period COGS, requested units and shipped units. Name the activity table Activity, with columns SKU, Site, COGS, Requested and Shipped. Populate M2, N2 and O2:

=SUMIFS(Activity[COGS],Activity[SKU],$A2,Activity[Site],$B2)
=SUMIFS(Activity[Requested],Activity[SKU],$A2,Activity[Site],$B2)
=SUMIFS(Activity[Shipped],Activity[SKU],$A2,Activity[Site],$B2)

Microsoft documents SUMIFS as a sum subject to multiple criteria; here those criteria are SKU and site. Keep the activity table restricted to the defined reporting period.

Put turnover in P, fill rate in Q and aged value share in R:

=IF(L2=0,"Check denominator",M2/L2)
=IF(N2=0,"No requests",O2/N2)
=IF(I2=0,"No stock value",J2/I2)

Fill down. Turnover uses the simple average of opening and closing value. If inventory swings sharply within the month, replace that approximation with a consistently calculated average of more frequent snapshots.

SKU and site Closing value (USD) Aged value (USD) Available units October turnover Unit fill rate
A100 Reno 1,000 200 60 1.64 93.8%
A100 Dallas 600 50 40 2.14 100.0%
B200 Reno 2,000 750 60 1.80 85.0%
Total 3,600 1,000 160 1.81 91.7%

Values and quantities are exact. Display turnover to two decimals and percentages to one decimal; calculate from the unrounded values.

Prove the dashboard totals

Closing value is 100 × 10 + 60 × 10 + 80 × 25 = $3,600. Aged value is 20 × 10 + 5 × 10 + 30 × 25 = $1,000, or 1,000 / 3,600 = 27.8% of closing value.

Beginning value totals $5,000. Average inventory is (5,000 + 3,600) / 2 = $4,300, so October turnover is 7,800 / 4,300 = 1.81. Company unit fill rate is 220 / 240 = 91.7%.

Use summed amounts in the total formulas:

=SUM(M2:M4)/SUM(L2:L4)
=SUM(O2:O4)/SUM(N2:N4)
=SUM(J2:J4)/SUM(I2:I4)

The SUM behavior is covered in Microsoft's formula guide. Available units also reconcile: 240 on hand - 15 blocked - 65 reserved = 160. Check stock balances with the stock movement reconciliation before accepting these dashboard totals.

The next action is visible in the detail: B200 in Reno has $750 of the $1,000 aged value and the lowest fill rate. Check which lots and requests explain both results before proposing a stock transfer or another purchase.

Where it goes wrong

  • Averaging row percentages. Company fill rate and aged share need their combined denominators.
  • Mixing cost and selling value. Turnover compares COGS with inventory carried on a compatible cost basis.
  • Overlapping restrictions. Subtracting units that are both blocked and reserved twice understates availability.
  • Aging the whole SKU from its latest receipt. Preserve the remaining lot quantities and dates.
  • Hiding negative availability. A negative result can reveal over-allocation or a source error. Investigate it before applying a display rule.

Covirage is not affiliated with Microsoft.

Check your inventory workbook in Covirage

Bring your stock snapshots, lot aging and activity exports in a workbook or Google Sheet. Covirage maps the columns, and its tools compute and check the figures; the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own inventory file.

See Covirage for supply chain teams for related inventory and operations work.

Questions people ask

Which KPIs belong on an inventory dashboard?

Start with closing inventory value, aged inventory value share, period turnover, available units and unit fill rate. Choose additional measures only when someone owns the decision they support. Keep snapshot measures separate from measures covering a period.

Can I calculate inventory turnover from quantities?

A unit-based turnover measure can help for an individual SKU with consistent units. For a dashboard across different products, use cost of goods sold divided by average inventory value on the same cost basis, and label the reporting period.

Is available stock the same as on-hand stock?

No. On-hand stock includes physical units that may be blocked or reserved. This dashboard subtracts mutually exclusive blocked and reserved quantities to calculate available units. It excludes future receipts, which belong in a separate planning view.