Dprime Woo Product Log v1.0.0 Pro WooCommerce
Logs every WooCommerce stock movement — sales, restocks, manual adjustments, and order refunds — with filters by date, month, year, category, and search.
Installation
- Install and activate WooCommerce.
- Download Dprime Woo Product Log from your account at my.dprime.au.
- Install and activate it. It appears under Dprime → Product Log.
- No configuration needed. Logging starts immediately on activation.
What gets logged
| Movement | Type | Trigger | Reference |
|---|---|---|---|
| Product sold in an order | OUT | WooCommerce reduces stock when an order is paid | Order # |
| Order cancelled or refunded (stock restored) | IN | WooCommerce restores stock on cancellation or refund | Order # |
| Admin manually increases stock | IN | Stock value changed upward from the product edit screen | Manual |
| Admin manually decreases stock | OUT | Stock value changed downward from the product edit screen | Manual |
What is NOT logged
- Products with stock management disabled (Manage stock? unchecked in WooCommerce). The plugin only tracks products where WooCommerce is actively counting stock.
- Stock changes made directly in the database or via external tools that bypass WooCommerce hooks.
- Movements that occurred before the plugin was activated.
Stored fields per entry
| Field | Description |
|---|---|
| Product name | Captured at the time of the movement. Historical entries are not affected if the product is later renamed. |
| SKU | Same — captured at movement time. |
| Type | in or out. |
| Quantity | The absolute number of units that moved. Always positive. |
| Stock before / after | The stock level immediately before and after the movement. May be null if WooCommerce did not expose both values for a particular hook. |
| Order ID | Set for order-triggered movements. Zero for manual adjustments. |
| Note | Human-readable reason, e.g. "Sold via order #4821" or "Manual stock adjustment". |
| Logged at | UTC timestamp of when the movement was recorded. |
Filters
All filters are applied simultaneously. You can combine any number of them.
| Filter | How to use |
|---|---|
| Type | Choose All, IN only, or OUT only. |
| Specific date | Date picker — shows movements on exactly that calendar date (server timezone). |
| Month | Month/year picker — shows all movements within that calendar month. Overrides the specific date filter if both are set. |
| Year | Year dropdown — shows all movements in that year. Overrides month if both are set. Year range shown in the dropdown covers the current year back to 2020. |
| Category | WooCommerce product category dropdown. The plugin resolves all product IDs in the selected category and filters the log to those products. |
| Search | Matches against the stored product name and SKU using a SQL LIKE query. Works on historical values even if the product has since been renamed or its SKU changed. |
Log table
| Column | Description |
|---|---|
| Date & time | Displayed in the site timezone. Stored in UTC. |
| Product | Name links to the WooCommerce product edit screen. Opens in a new tab. |
| SKU | Stored SKU at movement time. Shows — if blank. |
| Type | Green IN badge or red OUT badge. |
| Qty | Units moved. Always a positive integer. |
| Before / After | Stock levels on either side of the movement. Useful for spotting discrepancies. |
| Reference | Clickable order link for sale or restore entries. "Manual" for admin adjustments. |
| Note | Short description of what triggered the entry. |
Table rows are colour-coded: green tint for IN rows, red tint for OUT rows. Pagination shows 40 entries per page.
FAQ
Will it log movements for variable products?
Yes. Variable products with stock management enabled on the variation level are logged at the variation level. The variation's name and SKU are stored, and the parent product ID is used as the product reference.
Does logging slow down my checkout?
No. The log write is a single fast database INSERT that happens after WooCommerce has already reduced the stock. It adds negligible overhead to the order process.
Where is the log data stored?
In a custom database table {prefix}dpwpl_log created on activation. It is not stored in the WordPress options table or post meta. The table uses indexed columns on product_id, type, and logged_at so filtering large logs remains fast.
Can I export the log?
Not in the current version. The log is readable and filterable in the admin. For bulk export you can query the dpwpl_log table directly via phpMyAdmin or a database tool.
What happens to the log if I deactivate the plugin?
The dpwpl_log table and all entries are preserved on deactivation. They are only removed if you uninstall the plugin (delete it via wp-admin).