---
title: "Why wholesale analytics differ from Shopify reports"
description: "Process Wholesale analytics count only orders that received a Process Wholesale discount, from install onward, at the order total Process Wholesale recorded, without subtracting refunds or cancellations. That is why the numbers differ from Shopify reports."
type: troubleshooting
plans: [All plans]
keywords:
  [
    analytics wrong,
    revenue mismatch,
    missing orders,
    sample data,
    refunds counted,
    cancelled orders counted,
    export missing rows,
    processwholesale tag count,
    currency wrong,
  ]
questions:
  - "Why is wholesale revenue in Process Wholesale different from Shopify reports?"
  - "Why is an order from a wholesale customer missing from analytics?"
  - "Why are refunded or cancelled orders still counted?"
  - "Why do the Customers and Products tabs show sample data?"
  - "Why does This year not match the calendar year?"
  - "Why does the analytics export have only 10 or 20 rows?"
last_verified: 2026-11-11
order: 9
---

# Why wholesale analytics differ from Shopify reports

Process Wholesale analytics rarely match Shopify reports, because they measure something narrower: only orders that received a Process Wholesale discount, recorded from the day Process Wholesale was installed, at the order total Process Wholesale recorded, with refunds and cancellations not subtracted. The most common cause of a difference is a wholesale customer's order that received no Process Wholesale discount and therefore is not a wholesale order. The definitions are in [which orders count as wholesale orders](../analytics/wholesale-orders.md) and [wholesale analytics: metrics and definitions](../analytics/wholesale-analytics.md).

**Quick checks**, in order of likelihood:

1. Did the order receive a Process Wholesale discount? Orders without one are never counted.
2. Was the order placed after Process Wholesale was installed, and after January 7, 2026?
3. Was the order refunded or cancelled? Those stay counted at the original total.
4. Is the time range the one you think? **This year** is the last 12 months, not the calendar year.
5. Are you on the Professional plan? Other plans see sample data on the **Customers** and **Products** tabs.

## Wholesale revenue is lower than Shopify reports

Process Wholesale revenue is lower than Shopify's sales when Shopify includes orders that Process Wholesale does not count:

- Orders from wholesale customers that received no Process Wholesale discount
- Retail orders
- Orders without a customer
- Orders placed before install, before January 7, 2026, or while Process Wholesale was uninstalled

**How to confirm:** open the order in Shopify admin and look at its discounts. A wholesale order has a discount whose name contains one of your discount tags.

**What to do:** compare Process Wholesale revenue with a Shopify report filtered to wholesale orders, for example orders tagged `processwholesale`, not with total sales.

## Wholesale revenue is higher than Shopify reports

Process Wholesale revenue is higher when it keeps counting money Shopify has taken off:

- **Refunds are not subtracted.** A fully refunded $400 wholesale order still adds $400.
- **Cancelled orders stay counted.**
- **A retail order is counted as wholesale** when a discount on it has a name that contains one of your discount tag names. A short discount tag such as `vip` matches a manual discount called "vip thank you".

**What to do:** account for refunds and cancellations separately. To stop accidental matches on future orders, give the discount tag a more distinctive name. See [how to name discount tags](../analytics/wholesale-orders.md#how-to-name-discount-tags-so-orders-are-recognized).

## An order from a wholesale customer is missing

An order from a customer tagged `B2B` is a wholesale order only when a Process Wholesale discount was applied to it. It is missing when:

- None of the customer's discounts covered the products in the order
- The customer used only a Shopify discount code whose name does not contain a discount tag
- The order has no customer linked to it

Using net payment terms, wholesale shipping or Quick Buy does not make an order a wholesale order on its own.

**What to do:** check that the customer has a discount tag that covers the products they buy. See [how to assign discounts to wholesale customers](../discounts/assign-discounts-to-customers.md) and [wholesale discount not applying at checkout](discount-not-applying.md). Past orders that received no discount are not added later.

## Orders before a certain date are missing

Process Wholesale does not import older orders. History starts the day Process Wholesale was installed in your store, and no store has data from before January 7, 2026. After an uninstall and reinstall, history starts again from zero, because uninstalling deletes recorded orders.

**What to do:** use Shopify reports for periods before install. There is no way to load older orders into Process Wholesale.

## A refunded or cancelled order is still counted

Process Wholesale keeps the order total it recorded for the order. Refunds are not subtracted, and cancelling an order does not remove it from revenue, order counts, the Customers tab or the at-risk calculation.

**What to do:** no setting changes this. Subtract refunds and cancellations yourself when you reconcile with Shopify.

## The Customers or Products tab shows sample data

The **Customers** and **Products** tabs show real data only on the Professional plan. On Starter and Enterprise they show this notice and fixed sample values:

- "This is sample data. Upgrade to Professional for real customer insights."
- "This is sample data. Upgrade to Professional for real product insights."

Sample customers are "Acme Corp", "Global Trades" and "Summit Retail"; sample products are "Premium Widget", "Deluxe Gadget" and "Standard Tool". They are not your data.

**What to do:** upgrade to Professional under **Plan**. The **Overview** tab shows your real data on every plan for the last 30 days.

## "This year" does not match the calendar year

The **This year** range covers the last 12 months up to today, not January 1 to today. On November 11, 2026, it starts on November 11, 2025.

**What to do:** for a calendar year, compare month by month: the **Overview** chart for **This year** has one point per calendar month.

## Daily figures are off by a day

Analytics dates each order by the moment Process Wholesale recorded it, and the daily chart points use UTC days. An order placed in the evening in a time zone behind UTC can appear on the next day's point.

**What to do:** compare weekly or monthly totals rather than single days.

## The Customers tab numbers do not change with the time range

The four cards on the **Customers** tab (**Active wholesale customers**, **Repeat order rate**, **Avg days to reorder**, **At-risk customers**) always cover all time. Only the table's **Revenue**, **Orders** and **AOV** follow the time range, and **Last order** always shows the latest wholesale order ever. Customers with no orders in the range appear with $0.

## Products tab revenue does not add up to Overview revenue

**Revenue** on the **Products** tab is item price times quantity on each order line, so it does not include shipping or anything else that is not a line item. **Revenue** on the **Overview** tab is the order total. The two are not meant to match.

## The export is missing rows

The export contains the same rows as the table: the top **10 customers** or top **20 variants**. It always sorts by revenue, highest first, and ignores your on-screen sort and search. It follows the selected time range.

**What to do:** for a full order list, export orders from Shopify admin filtered by the tag `processwholesale`.

## The `processwholesale` tag count differs from the app

The order tag `processwholesale` and the app's analytics follow different rules:

- The tag is added only when an order is first recorded as wholesale. An order that becomes wholesale later through an edit is counted but not tagged.
- The tag is never removed, even when an edit removes the wholesale discount or the order is refunded or cancelled.
- Tags you add or remove by hand change the Shopify filter but not analytics.
- Quick Buy net-terms draft orders are tagged `processwholesale` when they are created, whether or not a discount applied. A draft order is not counted in analytics, and the completed order counts only if a Process Wholesale discount was applied to it.

**What to do:** treat the tag as a quick filter in Shopify admin and the Analytics page as the wholesale totals.

## Multi-currency totals look wrong

Process Wholesale records order amounts without a currency and shows them in your store currency. Two things can look wrong:

- The **Overview** tab always shows a `$` sign, even when your store currency is not US dollars. The numbers are in your store currency.
- If you changed your store currency, older amounts are shown with the new currency code without conversion.

The **Customers** and **Products** tabs and the home page **Revenue (last 30 days)** tile use your store currency code.

## Related articles

- [Which orders count as wholesale orders](../analytics/wholesale-orders.md)
- [Wholesale analytics: metrics, definitions and export](../analytics/wholesale-analytics.md)
- [Wholesale discount not applying at checkout](discount-not-applying.md)
- [Process Wholesale plans and what each plan includes](../account/plans-and-pricing.md)
