NewYour AI employee is one email away →

How to Build an Inventory Dashboard: Step-by-Step Guide

Published

Build a live inventory dashboard in 7 steps: connect ERP and sales data, pick KPIs with formulas, set low-stock alerts and refresh. Includes sample SQL.

To build an inventory dashboard, pick the decisions it has to support, connect your warehouse, ERP and sales data into one clean table, choose six or seven KPIs with fixed formulas, then lay them out by role with low-stock alerts and a refresh schedule you can trust. This guide walks through that process step by step, with formulas, a worked example, sample SQL and the tool trade-offs, so you end up with a live view instead of a spreadsheet someone rebuilds every Monday.

What you need before you start

Gather four things before you open a BI tool:

  • Data access: Read access to your ERP or WMS (SAP, NetSuite, Microsoft Dynamics, Odoo, Fishbowl or similar) and to every sales channel that depletes stock (Shopify, Amazon Seller Central, a B2B order portal, POS).
  • A KPI list: A short, agreed set of metrics with written formulas, so finance and operations read the same number.
  • A build tool: A BI tool, your ERP’s own reporting module, or a low-code builder. Step 4 compares them.
  • Stakeholder input: Who will open the dashboard, how often, and which decision each person makes from it.

How to build an inventory dashboard: step by step

The full procedure has seven steps: define users and decisions, connect and clean the data, lock the KPI formulas, pick a tool, design views and alerts, model every location, then set refresh and testing. Most teams get a first useful version live in one to three weeks; the data cleaning in Step 2 takes the longest.

Step 1: Define goals and who will use the dashboard

Start from decisions, not charts. Write one line per role:

Role

Decision the dashboard supports

What they need to see

Executive / owner

How much cash sits in stock, and is it moving?

Inventory value, turnover, days of inventory, trend vs last quarter

Operations or supply chain lead

What to reorder this week, from whom

Items below reorder point, supplier lead times, open purchase orders

Warehouse manager

Where stock is and what is wrong today

Stock by location and bin, count variances, inbound and outbound today

Sales or customer service

Can we promise this order?

Available-to-promise by SKU and location

If a chart does not change one of these decisions, leave it out. Dashboards fail more often from clutter than from missing data.

Step 2: Connect and clean warehouse, ERP and sales data

An inventory dashboard is only as good as the table underneath it. Build that table in three passes:

  1. Collect. Pull stock on hand per SKU and location from the ERP or WMS, sales and returns per SKU per day from every channel, open purchase orders with expected dates, and unit cost. Barcode or RFID scan feeds can add bin-level movement if your WMS exposes them.
  2. Clean. Standardise SKU codes across systems (Shopify variants rarely match ERP item numbers one to one), convert units of measure, remove test orders, and treat returns and cancellations consistently.
  3. Structure. Land everything in one place (a warehouse such as BigQuery, Snowflake or Postgres, or a well-kept spreadsheet for small catalogues) as daily snapshots: one row per SKU, location and date.

Reconcile before you chart. Compare ERP stock on hand with the quantity your sales channels think is available, and flag every SKU where they differ. Those mismatches are usually the first insight the dashboard produces, and they explain most overselling. For a deeper look at fixing mismatches, see the guide to inventory reconciliation.

Step 3: Choose the inventory KPIs with formulas

Keep the core set small and write the formula next to each metric on the dashboard itself.

KPI

Formula

What it tells you

Stock on hand

Units physically in stock per SKU and location

The starting point for every other metric

Inventory value

Units on hand × unit cost

Cash tied up in stock

Inventory turnover

Cost of goods sold ÷ average inventory value (same period)

How many times stock sells through

Days sales of inventory (DSI)

(Average inventory value ÷ COGS) × days in period

How many days current stock lasts

Stockout rate

SKU-days out of stock ÷ total SKU-days

How often customers find nothing to buy

Reorder point

(Average daily usage × lead time in days) + safety stock

When to place the next purchase order

Carrying cost

Average inventory value × carrying cost rate

What holding stock costs per year

Sell-through rate

Units sold ÷ (units received + starting units)

How fast new stock moves, useful for seasonal lines

Worked example. A distributor had $1.2 million in cost of goods sold over the last 12 months, opened the year with $280,000 in inventory and closed it with $320,000.

  • Average inventory = ($280,000 + $320,000) ÷ 2 = $300,000
  • Inventory turnover = $1,200,000 ÷ $300,000 = 4.0
  • DSI = ($300,000 ÷ $1,200,000) × 365 = about 91 days

For one SKU that sells 40 units a day, with a supplier lead time of 10 days and 120 units of safety stock, the reorder point is (40 × 10) + 120 = 520 units. When stock on hand plus open purchase orders drops below 520, the dashboard should raise an alert.

Safety stock itself can be a fixed number of days of cover or, for more volatile items, Z × standard deviation of daily demand × √lead time, where Z is about 1.65 for a 95% service level.

Step 4: Pick your build tool

Option

Examples

Strengths

Trade-offs

Typical time to first version

BI tool

Power BI, Tableau, Looker Studio, Metabase

Flexible visuals, many connectors, row-level security

Needs someone to model data and maintain refreshes; per-user licences on most paid tiers

1 to 3 weeks

ERP reporting

NetSuite saved searches and dashboards, SAP Fiori apps, Dynamics 365 reports

Data is already there; no pipeline to build

Hard to blend in sales-channel data from outside the ERP

Days

Spreadsheet with connectors

Google Sheets or Excel with scheduled imports

Cheap and familiar

Breaks at scale; manual fixes creep in

Days

Low-code internal tool

Retool, Appsmith, or an internal tool built by Viktor

Can add actions such as “create PO” next to the chart

Someone has to own changes

Days to 2 weeks

Check current licence prices on each vendor’s pricing page before you commit, since BI pricing changes often and usually scales with the number of viewers.

A small team without a data analyst can also hand the whole build to Viktor, an AI employee who works in Slack and Microsoft Teams. He connects to the ERP, Shopify and warehouse tools through 9,800+ integrations, builds the dashboard, refreshes it on a schedule and posts the low-stock list to the operations channel every morning.

Step 5: Design the layout, views and low-stock alerts

Put the most urgent information top left, where eyes land first. A simple layout that works for most teams:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Build three views on the same data model:

  • Supplier view: Open POs, lead time accuracy and items waiting on each supplier.
  • Product view: Turnover, DSI and margin by SKU and category, with slow movers highlighted.
  • Location view: Stock and variances per warehouse, store or 3PL.

Alerts turn the dashboard from a report into a tool. Trigger one when stock on hand plus open POs drops below the reorder point, when a SKU has been out of stock for more than a day, or when a count variance exceeds a set percentage. Send alerts to the place people already read, such as a Slack or Teams channel or email, rather than expecting anyone to check the dashboard.

Step 6: Model multiple warehouses and locations

Treat location as a first-class field from day one, even if you have one warehouse today:

  • Store stock as SKU × location × date, never as a single total.
  • Calculate reorder points per location, because lead times and demand differ by site.
  • Add in-transit stock between locations as its own status so it is not counted twice.
  • Map each sales channel to the location that fulfils it, so channel availability matches the right warehouse.
  • Give every chart a location filter, with “all locations” as the default for executives.

When a 3PL holds part of your stock, pull its inventory report on the same schedule as your own WMS and reconcile the two before they reach the dashboard.

Step 7: Set refresh frequency, test and maintain

Choose refresh speed by decision, not by ambition:

Refresh type

When it fits

Cost and effort

Real-time streaming

High-volume e-commerce where overselling is costly; available-to-promise

Highest: event pipelines, more compute, more things to break

Hourly batch

Most multichannel sellers

Moderate: scheduled syncs from each source

Daily batch

Reorder planning, executive views, B2B distributors

Lowest: one overnight job

Before you launch, validate the numbers. Pick ten SKUs, count them physically or check them in the ERP, and confirm the dashboard matches. Re-check after every schema change in a source system. Then assign an owner who gets an alert when a refresh fails, because a dashboard that quietly shows yesterday’s numbers is worse than none.

Sample SQL to produce the core metrics

This example assumes three tables in a SQL warehouse: stock_snapshots (sku, location, snapshot_date, qty_on_hand, unit_cost), sales (sku, location, sale_date, qty, cogs) and items (sku, lead_time_days, safety_stock).

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

To run it you need daily stock snapshots (most ERPs only store the current quantity, so schedule a nightly copy), read access to the database or an API export, and a SQL dialect that supports INTERVAL and NULLIF. Add open purchase orders to qty_on_hand in the reorder check if you track them.

Why a dashboard beats spreadsheets for inventory

Spreadsheets feel faster at first, and for a catalogue of a few dozen SKUs they may be enough. They break in predictable ways as you grow:

  • Stale data: Someone has to export, paste and fix formulas, so the sheet is out of date by the time it is shared.
  • Many versions: Each team edits its own copy and the numbers drift apart.
  • No alerts: A spreadsheet cannot tell you that a bestseller just crossed its reorder point.
  • Fragile formulas: One broken lookup can misstate stock for every SKU below it.

A live dashboard reads from the source systems on a schedule, gives everyone the same numbers and pushes alerts to the people who act on them. If nobody on the team has time to build or maintain it, Viktor can do it as a recurring task: he pulls the data from your ERP and sales channels, rebuilds the metrics, flags reorder candidates and asks before he does anything sensitive, such as drafting a purchase order. You can read more about what an AI employee is and how teams hand over this kind of recurring operations work.

FAQ

Which KPIs should an inventory dashboard show?

Start with stock on hand, inventory value, inventory turnover, days sales of inventory, stockout rate and reorder point. Add carrying cost and sell-through rate if you manage seasonal or high-value stock.

Which tool should I use to build it?

Use your ERP’s reporting if most data already lives there, a BI tool such as Power BI or Tableau if you need to blend several sources, and a spreadsheet only for small catalogues. Teams without an analyst can have Viktor build and maintain it.

How often should the dashboard refresh?

Daily is enough for reorder planning and executive views. Hourly suits most multichannel sellers. Real-time is worth its cost only where overselling is expensive.

How should executive and warehouse views differ?

Executives need value, turnover, DSI and trends. Warehouse managers need stock by location, variances and today’s movements. Build both on the same data model so the numbers match.

How do I set reorder triggers?

Calculate a reorder point per SKU and location as average daily usage × lead time + safety stock, and alert when on-hand plus open purchase orders drops below it.

How do I handle multiple warehouses?

Store stock per SKU, location and date, compute reorder points per location, track in-transit stock separately and add a location filter to every view.

Get your inventory dashboard built

If you would rather not build and babysit the pipeline yourself, start free with up to $100 in credits and ask Viktor to build your inventory dashboard, no credit card required. He connects to your ERP and sales channels, builds the views and sends the low-stock list where your team already works.

Ask ChatGPTAsk Claude
4.9 on G2G2 rating: 4.9 out of 5 stars

Start free. Viktor delivers.

Start for free today. No credit card required.

Get Started for Free