---
title: How to Create a WooCommerce Stock Change Report
description: Report every WooCommerce stock change in a date range, filter by user, category or restocked products, and export to CSV.
url: "https://wpfactory.com/docs/stock-history-stock-change-report/"
updated: "2026-10-05"
category: How to
---

# How to Create a WooCommerce Stock Change Report

To create a WooCommerce stock change report, go to **WPFactory > Stock Snapshot > Report** in [Stock History & Reports Manager for WooCommerce](https://wpfactory.com/item/stock-snapshot-for-woocommerce/), pick a date range such as **Last 7 days**, optionally filter by user, category or restocked products, and click the arrow button. Click **export** to download the report as CSV.

![Report section showing the Last X days links, the user, category and report type selectors, date fields, and the results](https://wpfactory.com/wp-content/uploads/stock-history-stock-change-report-1.png)

## Before you start

- The report is built from stock snapshots, so it only covers changes recorded since the plugin was activated.
- To filter by user, **Extra data** must be on under **General** (it is by default). A notice on the Report page reminds you if it is off.
- The Report section and CSV export are free.

## Steps

1. Go to **WPFactory > Stock Snapshot** (also reachable at **WooCommerce > Settings > Stock Snapshot**) and click **Report**. By default it shows changes since the start of yesterday.
2. Click a preset range: **Last day**, **Last 7 days**, **Last 14 days**, **Last 30 days**, and so on up to **Last 360 days**.
3. Or set exact start and end date and times in the two date fields.
4. Optional filters:
   - **Search for a user**: only changes made by that user, for example one shop manager or one customer.
   - **Search for a category**: only products in that product category.
   - Report type: **All products**, **Restocked products**, or **Restocked products (excl. variations)**.
5. Click the arrow button to run the report.
6. To download it, click **[export]** above the footer. The file is named `stock-snapshot-report.csv`.

The Report section has no Save button: filters are applied through the page address, so you can bookmark a report.

## Report columns

With the **All products** type, each row is one stock change, newest first:

| Column | Meaning |
| --- | --- |
| Product, Product ID, Product type | The product or variation that changed. |
| Time | When the change was recorded, in your site's time zone. |
| Before, Adjustment, After | The previous quantity, the change (green up, red down), and the new quantity. |
| Action, Context | What triggered the snapshot and where the change came from, such as checkout or product edit. |
| Order ID | The related order, when known. |
| User | Who made the change. |

Snapshots where the quantity did not change are left out.

## Restocked reports

The **Restocked products** type lists, in alphabetical order, each product whose stock went up at least once in the range. If you also filter by user, a User column shows who restocked it. **Restocked products (excl. variations)** hides variations and appears only when both **Include variations** and **Append variations** are on under **General**.

## Large stores: prepare reports in the background

The report reads the snapshots of every product. On a large catalog the page can be slow or time out. To avoid that:

1. Go to **General > Advanced Options**.
2. Tick **Prepare reports in background** and save.
3. Open the Report section. It shows **Preparing data...**, builds the report with Action Scheduler, checks every 5 seconds and reloads when the report is ready.

Finished reports are cached until the next snapshot is taken or settings are saved, so opening the same report again is fast.

## Frequently asked questions

### Why does the report say "No snapshots found."?

No stock changes were recorded in that range, or no product matches your filters. Try a longer range, clear the filters, and check that your products have **Manage stock?** enabled.

### Can I see which products a specific staff member restocked?

Yes. Choose the user, set the type to **Restocked products** and run the report. Extra data must be on so the user is stored with each snapshot.

### Can I get this report by email every day?

Yes, with Pro. Set up **Daily report emails** on the Emails section. See [How to Email WooCommerce Stock Reports Automatically](https://wpfactory.com/docs/stock-history-email-reports/).

### Are CSV values quoted?

Yes. Every value is wrapped in double quotes, and any double quote inside a value is replaced with a single quote so the file opens cleanly in spreadsheets.

### Get more from Stock History

This report is free. [Stock History & Reports Manager for WooCommerce](https://wpfactory.com/item/stock-snapshot-for-woocommerce/) Pro can email it to you on a schedule. [See what Pro unlocks](https://wpfactory.com/item/stock-snapshot-for-woocommerce/).

Need a hand? Our team answers every ticket on the [Stock History support forum](https://wpfactory.com/support/).

Related articles

- [Stock History Troubleshooting: Missing Snapshots, Slow Reports and Emails](https://wpfactory.com/docs/stock-history-troubleshooting/)
- [Getting Started with Stock History & Reports Manager for WooCommerce](https://wpfactory.com/docs/stock-history-getting-started/)
- [How to Schedule Automatic WooCommerce Stock Snapshots](https://wpfactory.com/docs/stock-history-schedule-snapshots/)
- [How to See WooCommerce Stock Levels on a Past Date](https://wpfactory.com/docs/stock-history-past-stock-levels/)
- [How to See WooCommerce Stock History for a Product](https://wpfactory.com/docs/stock-history-product/)
