Skip to main content

SKU Variance report

The SKU Variance report puts four numbers side by side for every product variant (SKU): what you received from suppliers in a period, what you sold in the same period, what's still incoming on your purchase orders, and what's available in stock today. Use it to spot products you keep buying faster than they sell, or products that sell faster than you restock.

Go to Reports > Inventory > SKU Variance Report. The report is available on the Professional and Ultimate plans.

SKU Variance Report in Reports

SKU Variance report

Columns​

Each row is one product variant.

ColumnWhat it shows
Product, Variant, SKU, VendorThe product as it is in Shopify.
CostThe product's current cost in Shopify. - when the product has no cost.
PriceThe product's current sale price in Shopify.
AvailableStock today, all locations together.
IncomingUnits still to arrive on purchase orders that are Confirm or Receiving, today.
ReceivedUnits received on purchase orders during the period.
SoldUnits sold during the period.
VarianceReceived − Sold. Green with a + when you received more than you sold, red when you sold more than you received.

Received, Sold and Variance follow the period you pick. Available and Incoming are always today's numbers.

Example: over the previous 6 months you received 14 Crank Bros Candy 1 Pedals - Green and sold 1, so Variance is +13. With 13 in stock and 30 more incoming, you probably don't need to order it again for now.

The Total row at the bottom adds up every row that matches your filters, not only the page you're looking at.

Total row

Pick a period​

In Period, choose:

  • This month: from the 1st of this month to today.
  • Previous month: the whole of last month.
  • Previous 3 months, Previous 6 months, Previous 12 months: that many whole months, ending with last month. For example, on October 27, Previous 3 months is July 1 to September 30.
  • Custom: choose Custom, then pick From and To.

The dates used are shown under the filters, for example Period: 2026-04-01 → 2026-09-30. The page reloads as soon as you change a filter.

To compare month to month, run the report once per month: for example Previous month, then This month, or Custom with the first and last day of each month you want to compare.

Filter and sort​

  • Supplier/Vendor: only the products of one supplier, or of one Shopify vendor. A supplier set up By Shopify Vendor shows the products of its vendors; other suppliers show the products assigned to them.
  • Products: With activity in the period (default) lists only products that were received, sold or are incoming. All products lists every product, including those with nothing going on.
  • Search: find a product by name, variant or SKU.
  • Click a column header to sort by it. The report opens sorted by Variance, largest first.

Export to CSV​

Click Export Csv to download the report with the same period, filters and search. The first line of the file shows the period, then come the columns Product, Variant, SKU, Vendor, Cost Price, Price, Available, Incoming, Received, Sold and Variance, and a last Total row. Numbers have no thousands separators, so you can add them up or compare months straight away in a spreadsheet.

Where the numbers come from​

  • Received counts goods received on purchase orders, on the day you received them. If you undid a receiving (Undo Received), it's not counted. Stock you added another way (Stock Adjustment, Stock Take, stock transfers or directly in Shopify) isn't counted either.
  • Sold counts units sold on your Shopify orders, on the day of the order. Canceled orders aren't counted. Units customers returned are not taken off.
  • Incoming is the same as on the Incoming Stock report: units ordered but not yet received on Confirm and Receiving POs. Pending or Sent POs aren't counted yet.
note

Other receiving reports still count receivings that were undone, so their totals can be a little higher than Received here.

Sales data​

The Sold column uses the sales the app imports from your Shopify orders with Sold Qty Tracking:

  • On the Ultimate plan, sales are always imported.
  • On the Professional plan, Sold Qty Tracking must be turned on. If it isn't, the Sold column shows — and a yellow box at the top of the report has a Turn on Sold Qty Tracking button. Click it to turn it on from the report, or click Open Settings to go to Settings > Purchase orders.

Right after you turn it on, the app imports your last 90 days of sales first, then older sales, up to about two years. Until that's done, the report tells you that sales may be incomplete. If you pick a period that starts before the date your sales history is complete, the report tells you from which date the sales are complete.

FAQ​

Why is Sold much higher than Received for a product? You may restock that product in other ways than purchase orders (for example with a Stock Adjustment), or it may have sold from stock you had before the period. Check Available to see if you're running low.

Why don't I see a product? With Products set to With activity in the period, products that weren't received or sold in the period and have nothing incoming are hidden. Choose All products.

Do month boundaries follow my store's time zone? The report uses the app's server time, the same as other reports, so orders placed in the first or last hours of a month can fall in the neighbouring month.