StockSweep StockSweep | Help Center

Numbers don't match Shopify

Why StockSweep metrics may differ from Shopify reports and how to validate specific items.

Differences between StockSweep and Shopify reports are common and usually explainable. This guide helps you identify the cause and validate individual items.

Estimated time: 6–10 minutes

What you'll accomplish

  • Identify the most common sources of mismatches
  • Validate a single item end-to-end (instead of debating totals)
  • Know when to escalate to support and what data to include

The 5 most common reasons for differences

1) Paid vs. created timestamp

This is the most frequent cause. Shopify records two key dates for every order:

Date When it is set
Created at When the customer clicked "Place order"
Paid at When payment was confirmed

These can differ by minutes, hours, or even days (e.g., bank transfers, manual payments). StockSweep uses orders/paid events, while some Shopify reports use created_at. A sale at 11:55 PM "created" can be "paid" the next day — shifting it across day boundaries.

Impact: an item might show "sold yesterday" in Shopify but "sold 2 days ago" in StockSweep (or vice versa), which can push it across a threshold boundary.

2) Refunds and cancellations

StockSweep tracks sales for the purpose of detection (determining when an item last sold). Depending on timing:

  • A fully refunded order may be excluded from StockSweep's "qualifying sale" count
  • A cancelled order (before fulfillment) may not count as a sale
  • A partial refund where the item itself was not returned may still count

Shopify revenue reports include different refund treatments depending on the report type.

3) Variant-level vs. product-level

StockSweep tracks sales at the variant level (e.g., "T-Shirt / Small / Black" separately from "T-Shirt / XXL / Yellow"). Shopify's standard reports often show product-level aggregates.

Impact: Shopify may show "T-Shirt sold 5 units this month" while StockSweep correctly identifies that the XXL/Yellow variant has not sold in 90 days — even though other variants of the same product sold.

4) Different scope (dead stock vs. store-wide)

Shopify reports cover your entire store. StockSweep only tracks items that meet your dead stock detection criteria:

  • Items with inventory on hand
  • Items that have not been excluded/archived
  • Items evaluated against your specific threshold (30/60/90 days)

Total counts and revenue will never match because StockSweep intentionally shows a subset.

5) Timezone boundaries

Shopify stores have a configured timezone, but reports can render differently depending on the viewer's timezone or the report's internal timezone handling. A sale at 11:58 PM EST might appear as the next day in UTC.

Impact: daily counts or "last sale date" can shift by one day at the boundaries.

Quick validation (the single-item test)

Instead of comparing aggregate totals (which will always differ due to scope), validate a single item:

Step 1: Pick one flagged variant

Open the Dead Stock Table and choose an item that seems wrong (e.g., "this sold recently, why is it flagged?").

Step 2: Note StockSweep's data

Record:

  • Last sale date (as shown in the Dead Stock Table)
  • Days without sale
  • Your threshold (30/60/90)

Step 3: Find the same variant in Shopify

Go to Shopify Admin → Orders and search for orders containing that specific variant. Find the most recent order.

Step 4: Compare dates

StockSweep last sale date Shopify order date Explanation
Same date Same date No mismatch — the threshold calculation may be off by 1 day due to timezone
1 day different Different Likely a paid-vs-created or timezone shift — normal
Several days different Different Check if the Shopify order was refunded, cancelled, or if you are looking at the wrong variant
No sale date in StockSweep Order exists in Shopify The order may have been created before the 90-day import window, or it may be refunded/cancelled

Step 5: Determine if the flag is correct

Calculate: today - last qualifying sale date. If the result is >= your threshold, the flag is correct regardless of what Shopify's aggregate reports say.

Specific mismatch scenarios

"Shopify says it sold last week, but StockSweep says 60+ days"

Most likely causes (check in order):

  1. You are looking at the product in Shopify, but StockSweep is tracking the variant. A different variant of the same product sold — not the flagged one.
  2. The order was refunded or cancelled after being placed.
  3. The order is in pending payment status (created but not yet paid).

"StockSweep shows more dead stock items than I expected"

Most likely cause: variant-level tracking. A product with 5 variants where only 2 are selling will show 3 variants in the dead stock list — even if the product as a whole appears "active" in Shopify.

"Frozen capital in StockSweep doesn't match my inventory report"

Most likely cause: frozen capital = dead stock quantity x cost per item. If cost data is missing or outdated in Shopify, the calculation will differ. Also, StockSweep only includes items flagged as dead stock, not your entire inventory.

When to contact support

If the single-item validation reveals a genuine data issue (the dates and statuses are correct in Shopify but StockSweep shows clearly wrong data), contact support with:

What to include Why
Store domain So support can access your data
Product/variant link Direct URL to the variant in Shopify Admin
Screenshot of StockSweep row Shows days without sale, last sale date, threshold
Shopify order ID The order you believe should count as a sale
Order status Paid / Pending / Refunded / Cancelled

This gives support everything needed to investigate without back-and-forth.