Inventory reporting brings your stock data together in one place: what you hold now, how it has moved, what is reserved against orders, what needs reordering, how fast it sells, and how long it has been sitting. Each view is a tab you can filter, sort, group, save, and export.
After reading this article you will be able to open Inventory reporting, recognise each report tab and the key columns it shows, use the special filters and the bundle toggle, understand how the headline figures are calculated, and save your own custom inventory reports.
Where to find inventory reporting
Open Reporting > Inventory from the main menu. The page opens on the Stock Movement tab by default; switch tabs along the top to move between reports. Access is controlled by the Inventory reporting permission, so the menu item and page only appear for users whose role grants it.
The report tabs, in the order they appear, are:
- Stock Movement
- Stock on Hand
- Stock Allocations
- Reorder Inventory
- Inventory Turnover
- Inventory Aging
Any custom reports you save appear as extra tabs after these six.
Stock Movement
Use Stock Movement to see how stock changed over a period, line by line, for each product and location. It is the report to reach for when finance or operations need to explain why a quantity or value moved.
It opens filtered to the last 30 days (by record date) and to active products.
Each row covers one product at one location for a movement record and shows:
- Product, Sku, State, Brand, Product Type, Location, and Date.
- Opening Balance and Opening Value — the position at the start of the record.
- Movement in and out, split by type: Shipped Quantity / Shipments, Received Quantity / Receipt Value, Return Quantity / Returns (customer returns), Supplier Returned Quantity / Returns (supplier returns), Adjustment Quantity / Adjustments, Manufactured Quantity / Manufacturing, and Transfer Quantity / Transfer Value.
- Closing Balance and Closing Value — the position at the end of the record.
When a date range is applied, the report footer summarises the period: opening figures are taken from the first record per product/location, closing figures from the last record per product/location, and the movement columns in between are summed.
Stock on Hand
Use Stock on Hand to see current inventory by product variant. It reflects the live stock position, not a historical period, and opens filtered to active products.
Each row shows the product identifiers — Product, Sku, Barcode, State, Brand, Product Type, Supplier, Updated At — followed by the current pricing and stock figures:
- Moving Average Cost, Purchase Price, Wholesale Price, Retail Price, Retail Compare Price, Wholesale Compare Price, and Total Cost (the current stock value for the variant).
- Total Quantity, Total Allocated Quantity, Total Available Quantity (quantity left after allocations), Total Incoming Quantity, Total Buffer Quantity, and On Backorder Quantity.
Stock Allocations
Use Stock Allocations to see which orders are reserving your stock and whether each variant’s demand is being met. It opens with bundles excluded so each row is a stockable variant rather than a parent bundle.
Each row shows Product, Sku, Barcode, Brand, Product Type, Supplier, Updated At, an Inventory Status badge, Requested Allocations, and the quantity columns Total Allocated Quantity, On Backorder Quantity, Total Quantity, Total Available Quantity, Total Incoming Quantity, and Total Buffer Quantity.
The Inventory Status of a variant is one of:
- Empty — nothing is requested against it.
- Full — the allocated quantity meets or exceeds the requested quantity.
- Partial — some, but not all, of the requested quantity is allocated.
Open the Requested Allocations cell (it shows a count and the tooltip Check Allocations details here) to inspect the individual orders requesting that variant.
Reorder Inventory
Use Reorder Inventory to find variants that are running low and act on them. It opens filtered to a last 30 days sales window so the sold-quantity figure has data to draw on.
Each row carries a selection checkbox plus Product, Sku, Barcode, State, Brand, Product Type, Supplier, Total Quantity, Total Buffer Quantity, Total Allocated Quantity, On Backorder Quantity, Total Available Quantity, Total Incoming Quantity, and Total Sold Quantity.
Two filters are specific to this report:
- Stock Level — narrows to one of:
- Low stock ( Available < Min Quantity ) — available stock at or below the variant’s minimum (alert) level.
- Low stock ( Available + Incoming < Min Quantity ) — still short once incoming stock is counted.
- Within Threshold ( Min Quantity <= Available <= Max Quantity ) — sitting inside the configured min/max band.
- Sales date — sets the window used to calculate Total Sold Quantity. Because sold quantity depends on this range, set it before relying on that column.
Select one or more rows and use the Reorder Actions button to Create Purchase Order or Create new transfer from your selection.
See Create purchase orders or transfers from Reorder Inventory for the full action flow.
Inventory Turnover
Use Inventory Turnover to judge how quickly stock is selling through and to spot slow movers. It opens filtered to the last year by record date.
Each row shows Product, Sku, Barcode, Brand, Product Type, Last movement, State, Opening Balance, Closing Balance, In Quantity, Out Quantity, Sell-Through, COGS, Daily SOH, and Turnover.
Qoblex builds these figures from stock-movement records in the selected period:
- In Quantity and Out Quantity are the summed inbound and outbound movement quantities.
- Opening Balance is taken from the earliest movement date in the period; Closing Balance from the latest.
- COGS is the summed cost of goods sold across the period.
- Daily SOH is the average of each day’s total closing value across the period.
- Turnover = COGS ÷ Daily SOH, or 0 when Daily SOH is 0.
- Sell-Through = Out Quantity ÷ (In Quantity + Opening Balance), or 0 when that denominator is 0.
- Last movement is the most recent movement date in the period.
Inventory Aging
Use Inventory Aging to see how long your on-hand stock has been sitting and to act on stock that has aged. Each row carries a selection checkbox and a Bulk Actions menu.
Each row shows Product, Sku, Barcode, Brand, Product Type, Last movement, State, On Hand Qty, On hand value, Avg Age (days), Oldest Age (days), and a set of aging buckets — both a quantity (Qty 0-30 through Qty +365) and a value (Value 0-30 through Value +365) for the ranges 0-30, 31-60, 61-90, 91-120, 121-150, 151-180, 181-270, 271-365, and over 365 days.
The aging figures are calculated as of today, using only movement records that still have stock remaining:
- On Hand Qty is the sum of remaining quantities.
- A record’s on-hand value is its Closing Value ÷ Closing Balance × remaining quantity (0 when closing balance is not above 0); On hand value for the row sums those.
- Oldest Age (days) is the greatest age among the variant’s remaining records.
- Avg Age (days) is the quantity-weighted average age (sum of age × remaining quantity ÷ total on-hand quantity), or 0 when on-hand quantity is 0.
- Each Qty bucket sums remaining quantity in that age band; each Value bucket sums the on-hand value in the same band.
Select rows and open Bulk Actions to Apply bulk discounts or Apply Mac Adjustment to the chosen variants.
See Apply Inventory Aging bulk actions for the full action flow.
Save a custom inventory report
Once you have a tab filtered, sorted, grouped, and with the columns you want shown, click Save Report, give it a name, and save. The report name is required.
The saved report appears as its own tab after the six base reports, opening with the same setup. Reorder custom reports keep their Reorder Actions button, and saved Stock on Hand reports keep their per-location columns.
