---
title: "Stockful's new Shopify inventory reporting engine | Stockful"
description: "Over 100 built-in Shopify inventory reports that run live, a report builder, StockfulQL, and scheduled delivery to email, Slack, webhook, Sheets and Airtable."
url: https://stockful.app/blog/stockful-shopify-inventory-reporting-engine
locale: en
---

[← All posts](https://stockful.app/blog)

[Shopify](https://stockful.app/blog/tag/Shopify)

# The Inventory Questions You Could Not Answer Before

Stockful's fourteen fixed reports are now a reporting engine: over 100 reports that run live, a builder for the questions nobody wrote a report for, and delivery to five channels.

17 Aug 2026 · 8 min read

Here is a question that, until this week, you could not answer inside Stockful without a spreadsheet: which of my A items sold slower last month than the month before, at one location, ignoring the days they were out of stock?

Every piece of that was already in the data. Daily snapshots per variant per location, ABC classes, sell-through, and the out-of-stock windows to exclude. What was missing was a way to ask. The fourteen reports each answered one fixed question well, and if your question was not one of those fourteen, you opened the closest report, filtered it, wrote the number down, changed the date range, wrote the second number down, and finished the job in Excel.

That is what changed. The fourteen fixed reports are now a reporting engine.

## What you can answer now

**Which products got worse, rather than which products are bad.** A low sell-through number tells you where you are. It does not tell you which direction you are moving. Every report now takes a comparison period, so you can put last month next to the month before and sort by the change instead of the level. The products that fell the furthest are usually the ones worth a decision, and they are rarely the ones at the bottom of the list.

**The same question, split by something you choose.** Location, product type, vendor, ABC class. The built-in reports had the splits they were written with. Now the split is a dimension you pick, so “dead stock by vendor” and “sell-through by product type” are two clicks apart rather than two reports nobody wrote.

**Questions that need more than one metric.** Days of supply against lead time. Units sold against units on hand. Margin against velocity. The interesting inventory questions are almost always two numbers in the same row, and until now the second number lived in a different report.

**Whether anyone actually read the thing you scheduled.** More on that below, but it turns out to be the question people ask most often.

## Over 100 reports, none of which need generating

The library went from fourteen to 101, grouped by area: stock health, forecasting and analysis, valuation and operations, sales and margin, pricing and promotions, stock movement, replenishment, and purchasing and suppliers. The ones you already used are still there, still called what they were called: Low Stock, Out of Stock, Lost to Stockouts, Overstocked, Clearance Recommendations, Dead Stock, Zero Sales, Inventory Valuation, Reorder Recommendations, ABC Analysis, Location Comparison, Transfer Suggestions, Profit/COGS and Sell-Through Rate. The rest fill in around them.

Every one of them runs live against your current data. There is no generate step and no overnight job, so a report you open at 4pm reflects the stock you have at 4pm. That works because the reports sit on top of daily inventory snapshots Stockful has been capturing per variant per location all along, which is also why they can look further back than [Shopify’s 180 days of history](https://stockful.app/blog/shopify-180-day-inventory-history-limit).

The full list is in the [built-in reports documentation](https://docs.stockful.app/user-guide/reports/built-in-reports).

## When the library does not have it, build it

Reports > New exploration. Pick any metrics and dimensions, filter and group them, set a date range and a comparison, and choose a chart. Save it and it lands alongside the built-in reports, behaving like one: filterable, schedulable, exportable.

This is the part that matters most, and it is worth being blunt about why. A fixed report library is a bet that whoever wrote it anticipated your question. For the common questions that bet pays off, which is why [the reports Shopify does not give you](https://stockful.app/blog/shopify-inventory-reports-missing) are so predictable. For everything else it does not, and the honest answer used to be a CSV export. Now the answer is that you build the report, once, and it is there next month too.

## The same report, as a query

Underneath every report is the query that produced it, written in StockfulQL. It reads like SQL:

```
FROM sales
  SHOW total_revenue
  GROUP BY product
  DURING last_month
  COMPARE TO previous_period
  ORDER BY total_revenue DESC
  LIMIT 10
```

That is last month’s ten biggest products by revenue, each row carrying its change against the month before. Add a `VISUALIZE total_revenue TYPE bar` line and the table becomes a bar chart.

You will rarely type this. The report editor writes the query as you click, and the query is just the thing it wrote. It matters that it is there anyway, because the builder’s controls have a ceiling and queries do not. The moment you want something the dropdowns almost express is the moment most reporting tools make you leave and open a spreadsheet.

Three things worth knowing about it. The editor has autocomplete, highlighting and inline validation, so you find out a query is wrong while writing it rather than after running it. The whole query travels in the report’s URL, so sending someone a link sends them the exact report instead of a description of one. And if you would rather not write StockfulQL at all, you can ask the AI assistant for what you want in plain language and it will write the query for you.

Queries run against your inventory, sales, purchasing and returns data. The [StockfulQL overview](https://docs.stockful.app/stockfulql/overview) covers the clause set and the datasets.

## Getting the answer to the person who needs it

A report you have to remember to open is a report you will stop opening. Any report, built-in or one you built, can go on a schedule and be delivered to five places: email, Slack, a webhook, Google Sheets or Airtable.

The last two are the ones worth pausing on. A scheduled report writing into a Google Sheet means the spreadsheet your buyer already works in refreshes itself, rather than being rebuilt by hand every Monday. You choose whether each run overwrites the same tab, appends rows to it, adds a new tab, or creates a new file, which is the difference between a live dashboard and an audit trail. Airtable works the same way, adding or updating rows against a key field like SKU. Setup for each is in the [scheduling documentation](https://docs.stockful.app/user-guide/reports/scheduling).

One detail that matters more than it sounds: a schedule runs a saved report, and saved date ranges are relative. A report saved as “last 30 days” sends the most recent 30 days on every run, not a window frozen on the day you saved it.

One distinction to keep straight, because it catches people out: Sheets and Airtable are channels for _report schedules_. Stock alerts are a separate system and still go to Slack or email only. If you want a low-stock trigger in a spreadsheet, you schedule the Low Stock report to it rather than pointing an alert at it.

For everything else there are exports. Tabular data comes out as CSV, Excel, XML or JSONL, either the rows on screen or the full result set behind them. Reports built around a chart can also go out as a one-page PDF with the chart rendered, so something you built for a board pack arrives still looking like a chart. A plain table has no PDF, which is the right call: a PDF of a spreadsheet helps nobody.

## Run history, or: did it actually send

Every run is recorded: when it happened, which schedule and report it was, which channel it went to, whether a person or the schedule set it going, how long it took, how many rows it contained, and the recipient list exactly as it stood at the time. Outcomes are Delivered, Nothing to report, Not delivered, or In progress.

This sounds like plumbing and is not. The failure mode of scheduled reporting is silent: the schedule breaks, or the Slack channel gets archived, or the recipient list was wrong from the start, and nobody notices for six weeks because a report that does not arrive does not announce itself. When your buyer says they never got the Monday stock report, run history is the difference between checking and guessing.

“Nothing to report” is worth calling out separately, because it is the outcome people misread. An empty Low Stock report is not a broken schedule. It is good news, and the log says which one you are looking at.

## What it costs

Nothing extra. The full library, the builder, StockfulQL, all five delivery channels, exports and run history are on every Stockful plan, from $19.99 a month. Stockful has never gated features by tier and this is not where that starts. The plans differ on how many SKUs and locations you track, and that is all.

## The shape of the change

The old reports answered fourteen questions well. That is genuinely useful and it is also a ceiling, because the questions worth asking about your own inventory are specific to your catalogue in ways no report library can anticipate. Adding more fixed reports raises the ceiling. Letting you write the report removes it.

Start with the built-in reports, because most of the time one of them is the answer. When it is not, the builder is one click away, and whatever you build is a report from then on.

_Get started free at _[_stockful.app_](https://stockful.app)_ with a 14-day free trial. Stockful gives Shopify merchants over 100 inventory reports, a builder for the rest, and scheduled delivery to five channels._

**More from Stockful:**

-   [Inventory reports for Shopify: the full library](https://stockful.app/shopify-inventory-reports)
-   [The Shopify inventory reports you’re not getting](https://stockful.app/blog/shopify-inventory-reports-missing)
-   [How to use ABC analysis to prioritise your Shopify inventory](https://stockful.app/blog/abc-analysis-shopify-inventory)
-   [What sell-through rate actually tells you](https://stockful.app/blog/what-sell-through-rate-tells-you-shopify)

**Try Stockful on your Shopify store** Daily inventory history, forecasting, reports and an AI assistant. Free 14-day trial.

[Start free trial](https://apps.shopify.com/stockful-inventory-management?utm_source=stockful-website&utm_medium=website&utm_campaign=blog&utm_content=article-cta)
