Skip to main content
Where to find it: Go to Analytics and pick Inventory Analytics from the dashboard menu. The dashboard has four tabs: Current Stock, Inventory Aging, Profitability, and Stock Ledger.
Prerequisites: These reports read from Inventory. You need stock items with received shipments before they have anything to show, and items linked to stock before product profit figures can use your real purchase costs.
Inventory Analytics answers four separate questions, one per tab. Pick the tab that matches what you’re trying to find out:

Shared controls

The filters at the top carry across all four tabs, so you can set a location once and keep it while you move between reports.
  • Locations — one clinic or several. Each row is one item at one clinic, so an item stocked at three clinics gives three rows.
  • Vendors — narrow to the stock a particular supplier provides.
  • Categories — picking a parent category automatically includes everything under it.
  • Search — free-text match on the item name.
  • Date range — only appears on Profitability and Stock Ledger, the two tabs that cover a period rather than a moment.
  • Stock Type — retail goods, treatment consumables, or all stock. An item used both ways shows under either.
Sorting and paging. Click any column header to sort by it, and click again to flip the direction. Sorting covers every row that matches your filters, not just the page you’re looking at — so “highest value first” really does start at the top of the whole list. Empty cells always sort to the bottom, whichever direction you pick. The totals under each table describe everything your filters match, so they don’t change as you page through.

Current Stock

A snapshot of what is on the shelf right now, one row per item per clinic. Two switches change what you see:
  • Show items with nothing on hand — off by default. Turn it on to see items you stock at this clinic but have run out of. This is the list to check before a vendor order.
  • Only below reorder level — shows just the items under the par level you set, so you can go straight to what needs ordering.
Why the value is lower than what you paid. Stock Value counts only the units still on the shelf, each at the price of the shipment it came from. If you bought 100 units for 100and80havebeenused,thisshows100 and 80 have been used, this shows 20, not $100. That is the number your accountant wants for inventory on hand.

Inventory Aging

The same rows, but focused on risk: stock that is sitting too long, about to expire, or about to run out. The four cards at the top summarize the risk in money: Sitting over 90 days, Already expired, Expiring within 30 days, and how many items need reordering. Two controls shape the report:
  • Consumption window — 30, 60, 90, 180, or 365 days. This drives the Used column, Days of Cover, and the Suggested Order figure. A short window reacts fast to a change in demand; a long one smooths out a quiet month.
  • Only items to reorder — hides everything with nothing to order.
Age and expiry are different problems. A vial received last week can already be expired, and a vial from a year ago can be perfectly good. The age columns tell you what is not selling; the expiry column tells you what you are about to lose. Check both.

Profitability

What your products sold for and what they cost, one row per item per clinic, over the date range you pick. By default this covers products, medications, and gift cards — the items that carry a cost of goods. Use the Item Types filter to add services or packages, or to narrow to one type.

Choosing a cost basis

The Cost basis selector changes how the cost of goods, gross profit, and margin columns are calculated. The three answer different questions and they disagree whenever your purchase prices move — which is the point.
Watch the coverage note. Actual lot cost can only see sales where the stock drawdown was recorded. If an item is not linked to stock, or was sold before the link existed, its cost reads as zero and its margin looks like 100%. The dashboard says what share of units it could actually cost — and warns you outright when that share drops below half. When you see that warning, either switch to another cost basis or link the item to its stock in Inventory so future sales draw down against a lot.
The chart shows the ten best-selling items with the profit each one kept, so you can see at a glance where volume and margin disagree — the product that sells most is often not the one that earns most.

Stock Ledger

Every movement that changed a count, newest first. This is the tab to open when a number on another report looks wrong. Use the Transaction Types filter to isolate one kind of movement — for example, only Manual drawdown to review count corrections, or only Received to check what arrived this month.
“Unattributed” in the Location column. A movement shows as unattributed when it is not tied to a specific shipment, which happens for stock history brought over from another system. Those rows have no clinic and no running balance, because there is no way to tell which shelf they came off. They still appear, so the movement count is honest — and they disappear if you filter to a location.

Tips

Run Inventory Aging before every vendor order. Switch on Only items to reorder, filter to one vendor, and the Suggested Order column is your order sheet — already net of anything on its way.
Check expiry monthly, not quarterly. The Expiring within 30 days card is the window where you can still act — run a promotion, move stock between clinics, or plan around it. Once it is in Already expired, it is a write-off.
If Profitability and Current Stock disagree about cost, trust the lots. Current Stock values what is left; Profitability’s actual basis values what was sold. Both read lot costs, so a gap between them usually means some sales were not drawing down stock — check the coverage note on the Profitability tab.