About this plugin
Every stock and price change has an alibi.
It is Monday morning and a best-seller shows 0 in stock. The warehouse says there are 14. Was it last night’s ERP sync?
An order that was cancelled? A colleague with Quick Edit? A CSV import?
WooCommerce keeps no history of product changes, so the honest answer is usually “we don’t know”.
Stock Alibi records every change to the stock and prices of your products and variations together with its source, and explains it in a sentence:
>
Stock: 12 → 14. REST API request PUT /wc/v3/products/batch. Application password “SoftOne ERP”.
14 minutes after order #23, which had changed the stock from 14 to 12.
Regular price: 54 → 49. Changed directly in the database, sometime between 3:15 pm and 3:30 pm.
Refund #1085 of order #1083 returned the items to stock.
A source for every change, not only for orders
Most logs get orders right and file everything else under “purchase” or “third-party system”. Stock Alibi names each one:
- Orders: the order that reduced the stock, the cancelled or failed order that put it back, the refund that restocked items (with the refund number), and edits of an order’s items in the admin.
- People: the product screen, Quick Edit, Bulk Edit and the variation bulk actions, with the user who made the change.
- Integrations: the REST API with its route and the WooCommerce API key (description and last characters only) or the application password; CSV imports with the file name; WP-CLI with the command; WP-Cron and Action Scheduler tasks with their hook.
- Scheduled sales starting and ending, including the active price.
- Other plugins and themes, by name.
- Writes around WooCommerce: code that writes product data straight to the database meta ( update_post_meta ) instead of using WooCommerce.
- Direct database changes: an ERP or script that runs SQL fires no hook at all. A background check compares the database with the recorded history and records what nothing explains, with the time window in which it happened.
When the source cannot be determined, Stock Alibi says “unknown”. It never guesses: a wrong answer is worse than an honest “we don’t know”.
What it records
Stock quantity, stock status, manage stock and backorders; regular price, sale price, sale dates and the active price; the initial values of new products. For each change: old and new value, source, reference (order number, REST route, file name, plugin), user, time, and an ID that groups everything one request changed. Variable products are recorded per variation, and a parent’s synced stock status gets the source of the variation change that caused it.
What you see
- Product history: a “Stock & price history” box on every product screen, with a plain-language summary and the latest changes of the product and its variations, grouped by request.
- History: every change, with filters by product, field, source, dates, order, SKU or reference. Every view is a link you can bookmark or send.
- Report: changes by source, by day and by product, for example “43% of the stock changes came from the REST API”.
- Anomalies: stock below zero without backorders, an order item that reduced the stock twice, an automated sync that overwrote the stock right after sales, and prices changed outside WooCommerce. Each links to the orders and changes that prove it.
- CSV export of the history, report and anomalies, with the same filters.
org.
Built for stores with integrations
Stock Alibi is made for stores connected to an ERP, a POS, marketplaces or imports, and for the developers and agencies who support them. ” with evidence instead of opinions.
Read-only and light
Stock Alibi only reads: it never changes products, orders or stock. At checkout it adds one small indexed query per order line and writes the request’s changes in one query at the end. In tests a four-line checkout took the same time with and without it.
The database check runs in Action Scheduler, in batches, never on the storefront (60,000 products checked in about 9 seconds). Old changes are deleted after a retention period you choose (180 days by default).
AI-ready, never AI-required
9 and newer the history is available as five read-only abilities: explain a change, product history, search, store report and anomalies. ” from the recorded facts, not from a guess. If the site has an AI provider set up in WordPress, the product screen also offers an “Explain with AI” button.
Everything works without AI.
Privacy
No external requests, no telemetry. The history stores user IDs and order numbers, never names, addresses or payment details. Stock Alibi adds a suggested text to your privacy policy and works with WordPress’s personal data export and erasure tools.
For developers
- Name your integration with the stock_alibi_resolve_source filter, so its changes show as “SoftOne” instead of “REST API”.
- Receive every batch of recorded changes with the stock_alibi_events_recorded action.
- Requires WooCommerce 10.0 or newer. Compatible with High-Performance Order Storage and the Cart and Checkout blocks.