Stock History & Reports Manager

WooCommerce Plugin
5.0
2 Reviews
v2.2.4
Updated 5 months ago
200+
Stores Live
every stock change, on the record ↓

A timestamped record of every WooCommerce stock move.

Daily snapshots run on a schedule you pick. Per-product history sits one click away inside the product edit screen. CSV export, email reports, and a restocked-products shortcode ship in the box. $49.99/yr or $149 once.

14-day refund
CSV export
HPOS-ready
three things native WooCommerce can't answer ↓

Your stock changed. Nobody can tell you when, or why.

WooCommerce keeps one number per product: the current stock. The moment that number changes, the old value is gone. No timeline, no audit trail, no answer when an inventory count disagrees with the floor. This plugin records every move.

problem · 1

Stock drifted overnight. You have no idea by how much.

TS-L-BLK-001was 22now 14
MUG-CER-WHTwas 12now 3
CANDLE-VANwas 8now 0
native WooCommerce keeps no "was"

The old quantity is overwritten the instant an order, a manual edit, or a sync changes it. Without snapshots, the only number you ever see is "right now."

problem · 2

Inventory count says 12. WooCommerce says 17. Who's right?

today's audit 5 units missing on TS-L-BLK-001. When did they leave? ? no history to scroll back through

Without a per-product timeline, every discrepancy is a guessing game. Was it three orders this week or a single sync error last month?

problem · 3

End-of-month stock report: 40 minutes of CSV stitching.

latepull orders since 1st12m
latematch SKUs to stock18m
latepaste into accountant template10m
40 minutes · every month

Reports built from order exports miss manual edits, sync corrections, and refunded units. Snapshot data is already the right shape.

eight controls you'll use ↓

Schedule. Capture. Email. Export.

The plugin handles four jobs: schedule snapshots on the cadence you pick, capture every change with context (order ID, request URI), email daily reports to the right people, and export filtered CSV for the accountant or the inventory manager.

schedule · cron-driven

Snapshots on a cadence you set.

Default: every 86,400 seconds (daily). Change the interval in seconds — hourly, weekly, anything in between.

history · per product

Per-product timeline, one click from the edit screen.

shortcode · restocked products

Recently restocked, on any page.

Pagination, ordering, and post-count are all attributes. Drop it on a Back-in-Stock page and you're done.

email · daily report

Yesterday's movement, in your inbox by 9am.

export · CSV one click

CSV that opens cleanly in Sheets.

Apply category + date filter first; export only the rows you need. No oversized files, no manual cleanup.

filter · category + date

Slice by category and date range.

trace · order ID + URI

Every snapshot knows who triggered it.

A number dropped? Click into the snapshot and see the exact request that caused it. No more "who touched this?" tickets.

async · background job

Reports built in the background.

Large catalogs report in chunks so your wp-cron and admin pages stay quick. Zero frontend impact on shoppers.

setup

Four steps. First snapshot inside 5 minutes.

i · install

Activate the plugin

Upload the .zip from Plugins → Add New, then activate.

Stock History & Reports Manager Active
ii · cadence

Pick a snapshot interval

Default is 86,400 seconds (daily). Change to hourly, twice-daily, weekly. The cron handles the rest.

interval 86400
unit sec
iii · reports

Turn on the daily email report

Add one or more recipient addresses. The plugin emails yesterday's movement summary every morning, in the background.

daily emailon
recipients2
asyncyes
iv · export

Export CSV when you need it

Pick a category, pick a date range, click Export. CSV opens straight in Sheets, Numbers, or Excel.

how we stack up

Stock history that actually owns its data.

WooCommerce
native · none
ATUM Inventory
free · add-ons from ~€20/qtr
StockTrack
$99/yr · no lifetime
WPFactory
$49.99/yr · $149 once
core: snapshot capture
Scheduled periodic snapshots✕change-log only✓
Configurable snapshot interval (seconds)✕✕weekly / monthly only
Snapshot on every manual product update✕✓✕
Per-product history view✕✓✓
reporting & export
Daily report email✕✕✕
CSV export of snapshots✕via add-onnot specified
Filter by category + date range✕date only✓
Background async report processing-not specifiednot specified
surfaces & context
[restocked] shortcode for the frontend✕✕✕
Snapshot captures order ID + request URI✕✕✕
Variations tracked separately-✓✓
HPOS-ready-✓✓
pricing & ownership
Free version on .org-✓✕
Lifetime tier-✕✕
Multi-store licensing-per add-on, per sitenot specified
10-year cost$0~$320 per add-on~$990
50+ plugins (All Access)-✕✕
Ready to record every stock move? ↓ Jump to pricing
scroll →
three real stores ↓

Three businesses. Three snapshot setups.

apparel store · daily snapshots

Apparel store · "Where did the size Mediums go?"

A streetwear shop runs flash drops. Mediums vanish within hours. With daily snapshots, the owner sees the exact hour stock crossed zero and which order took the last unit, instead of guessing from order exports.

Snapshot intervalHourly during drops, daily otherwise
ReportsDaily email at 8am to two warehouse staff
FrontendRestocked shortcode on /back-in-stock/

Drop post-mortems take 5 minutes instead of 40. Restock decisions stop relying on memory.

accountant-friendly · monthly CSV

Boutique brand · "Just send the CSV to the bookkeeper."

A homewares brand's bookkeeper wants one CSV per month with every stock change, categorised. The plugin's category + date filter plus CSV export does the whole job in three clicks. No formula stitching, no order-export math.

Snapshot intervalDaily, 23:00
FilterPer category, first-to-last of month
Hand-offOne CSV per category to the bookkeeper

Month-end stock report dropped from 40 minutes of stitching to 3 minutes of clicks. The bookkeeper stopped asking follow-up questions.

verified reviews

From stores running this right now.

Using the plugin? Leave a review on WordPress.org.

“Finally an answer to ‘when did this go to zero?’ that doesn't involve digging through order exports.”
S
Verified buyer
verified buyer
see review →
“Daily report email is the feature I didn't know I needed. Now the warehouse team checks it before opening the laptop.”
W
Verified buyer
verified buyer
see review →
“CSV export with the category + date filter saved my month-end. Used to be 40 minutes, now it's three clicks.”
B
Verified buyer
verified buyer
see review →
tested with

Works with the WooCommerce you already have.

Platform

WP 5.0+WP 6.9WC 4.0+WC 10.7PHP 7.4+PHP 8.2HPOS-ready

Product types

SimpleVariableGroupedExternalPer-variation tracking

Workflow

wp-cronCustom intervalsBackground jobsCSV exportEmail report

Integrations

WC AnalyticsStock sync pluginsShortcodesPage builders
why this plugin

Built for stores where "when did that change" is a real question.

Every WPFactory plugin ships with the same eight guarantees. Here's what running this one looks like in practice.

Clean code, reviewed

Async background jobs for reporting, custom tables for snapshot storage, zero frontend queries. PHP 8.2 deprecation notices were addressed in v4.x.

Docs & specs, written

The [alg_wc_stock_snapshot_restocked] shortcode and every filter are documented. Settings explain the seconds-based interval, recipient list format, and filter parameters.

Support that ships

Real bug reports become releases within days. Support is email-only ([email protected]) and answers from a human who has seen the code.

14-day money-back

14-day refund on yearly and lifetime, 30 days on All Access, no questions asked. If snapshots don't fit your workflow, you walk away whole.

Bundle savings, real

All Access is $499 once for all 50+ plugins, lifetime, unlimited sites, and it includes every plugin we release later. Three lifetime licenses at $199 already cost $597, so the bundle usually wins by your third plugin.

Updates, regularly

Tested against the latest WooCommerce within days of every release. HPOS-ready, PHP 8.2 compatible. Tracks WooCommerce's stock-API changes.

Plays well with others

Co-exists with stock-sync plugins, multi-warehouse setups, and inventory imports. Snapshot data survives any third-party update to stock.

Designed for store owners

You don't need to write SQL or set up a separate analytics tool. Pick an interval, turn on the email, click Export when you need a CSV.

4 stores joined this week·1 in the last 24h
if you'll keep this plugin a while ↓

Three tiers. Pick once.

14-day refund on yearly and lifetime, 30 days on All Access. Lifetime pays for itself by year 3. All Access pays for itself with any 2nd plugin you'd ever use. Yearly auto-renew can be turned off in your account.

STOCK SNAPSHOT PRO
$149 once

Buy once. Owns itself by year 3. Use on every site you own.

  • Unlimited sites
  • Lifetime updates
  • Priority email support
  • 14-day refund
  • GPL-licensed · use on client sites
Buy Lifetime - $149 once
★ SMART MOVE ALL ACCESS · LIFETIME
$999$499oncesave 50%

This plugin + 49 others, lifetime updates, unlimited sites - for $350 more than Lifetime alone.

! Buying any 4 single lifetimes?
$596 → $499 / 50+
  • 50+ plugins, lifetime updates
  • Unlimited sites - every plugin
  • Future plugins included free, forever
  • Lifetime priority support
  • Pays back at 4th plugin you'd use
Explore All Access
How often does the plugin take a snapshot?
By default, once a day (every 86,400 seconds). The interval is fully configurable in seconds, so you can run hourly, twice-daily, or weekly snapshots depending on how fast your stock moves. The plugin also captures a snapshot the moment a product is manually updated, so an admin edit is never invisible.
Where is the snapshot history stored?
Inside WordPress, on your own database. No external service, no SaaS account, no extra fees. Snapshots live in custom tables tied to each product, so a single product's full history sits one click away inside the product edit screen.
Can I get a daily report by email?
Yes. The Pro version emails a daily report summarising what moved, what hit zero, and what was restocked since the last snapshot. Reports are generated in the background so wp-cron stays quick. Send to one address or many.
How do I export the snapshot data?
From the Reports screen, filter by product category and date range, then export the result to CSV in one click. The CSV opens cleanly in Excel, Google Sheets, Numbers, or any accounting tool that imports CSV.
What is the [alg_wc_stock_snapshot_restocked] shortcode?
Drop the shortcode on any page to render a live list of products whose stock went from zero (or low) back to in-stock since the last snapshot. Pagination, ordering, and count are all shortcode attributes. Great for a Back-in-Stock landing page or homepage block.
Does it slow down my admin?
No. Reports are prepared asynchronously in the background, snapshot writes are tiny, and the plugin adds no public-facing queries. Frontend impact on shoppers is zero.
What extra data does each snapshot capture?
On top of stock quantity, the plugin records the request URI that triggered the change and the order ID (when the change came from a sale). So when a number drops, you can trace it back to the exact event — an order, a manual edit, or an external API call.
Can I filter snapshots by category?
Yes. The Reports screen filters by one or more product categories and any date range you pick. Combine the two to answer questions like "Show me every Footwear stock change in March."
Is the plugin HPOS-compatible?
Yes. High-Performance Order Storage is declared compatible. Works with the new high-performance order tables and legacy postmeta-based storage. PHP 8.2 deprecation notices were addressed.
Does it work with variable products?
Yes. Each variation is a separate product in WooCommerce, so each variation gets its own snapshot history. The Reports screen surfaces variations alongside parent products.
What is the refund policy?
14 days on the yearly and lifetime plans; 30 days on All Access. No questions asked. The yearly plan also includes an upgrade credit toward Lifetime or All Access. Lifetime never renews. Yearly auto-renew can be turned off in your account.
Is there a free version?
Yes. The free version on WordPress.org covers periodic snapshots, snapshot history, and the restocked-products shortcode. Pro adds the daily email reports, CSV export, category and date filtering, background report processing, and the extra-data capture (request URI, order ID).
if you've scrolled this far ↓

Stop guessing when your stock changed. Start recording it.

Scheduled snapshots, per-product history, daily email reports, CSV export with category + date filters, and a restocked-products shortcode. 200+ stores already running it. 14-day refund if it's not for you.

200+ stores · 5★ across 2 reviews · WordPress.org plugin · 14-day refund