Inventory over time

Daily inventory history — starting and ending units, quantities and value per item, location and day.

22 fields — 11 dimensions, 11 metrics. Date clauses (SINCE, UNTIL, DURING) use createdAt.

The live, authoritative list is always GET /v1/datasets — this page is regenerated from the same catalog, but the endpoint reflects exactly what is deployed.

Query it

FROM inventory
  SHOW ending_inventory_units
  GROUP BY product_title
  SINCE -30d

See Querying with SoloQL for the language.

This dataset is queryable through SoloQL; it has no record-retrieval endpoint.

Fields

FieldTypeRoleDescription
product_titlestringdimensionTitle of the product this inventory item belongs to.
product_variant_titlestringdimensionTitle of the variant this inventory item belongs to.
product_variant_skustringdimensionSKU of the inventory item.
barcodestringdimensionBarcode of the inventory item.
product_typestringdimensionType (category) assigned to the product.
inventory_location_namestringdimensionLocation holding the stock on that day.
product_variant_abc_gradestringdimensionABC grade for the variant over the report's own window — A is the top 80% of revenue, B the next 15%, C the last 5%, ranked by gross sales. Recomputed for whatever window you ask for, exactly as Shopify does: the same variant can be A over 90 days and B over 30.
inventory_is_trackedbooleandimensionWhether Shopify tracks quantities for this item.
snapshot_datedatedimensionThe day this snapshot describes (one tick per day, at 00:00 UTC). The dataset's default date field, so SINCE/UNTIL window on this.
ending_inventory_unitsnumbermetricUnits on hand at the end of the day. For a month-end figure, narrow the window to that single day.
starting_inventory_unitsnumbermetricUnits on hand at the start of the day.
inventory_item_costmoneymetricCost of a single unit. Averaged, so it stays a per-unit figure at every rollup.
ending_inventory_valuemoneymetricValue of the stock on that day — cost per item × ending units. For a month-end figure, narrow the window to that single day.
ending_inventory_retail_valuemoneymetricValue of the stock on hand at its selling price, rather than at cost. Empty for variants with no price set.
inventory_units_soldnumbermetricNet units sold on that day (orders minus same-day-booked returns), at inventory grain.
sell_through_ratepercentmetricUnits sold as a share of units sold plus ending inventory.
inventory_units_sold_per_daynumbermetricAverage units sold per day over the selected period.
days_of_inventory_remainingnumbermetricEstimated days until stock runs out — ending inventory divided by the period's daily sales rate.
percent_of_inventory_soldpercentmetricUnits sold relative to the inventory at the start of the period.
total_inventory_value_storedmoneymetricStored inventory value from the snapshot writer.
inventory_cost_is_recordedbooleandimensionWhether a cost was recorded for the item on that day.
storestringdimensionThe shop the record belongs to. Filter with WHERE store IN ('Shop name') or GROUP BY store.