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

  1. Install and activate WooCommerce.
  2. Download Dprime Woo Product Log from your account at my.dprime.au.
  3. Install and activate it. It appears under Dprime → Product Log.
  4. No configuration needed. Logging starts immediately on activation.
Stock movements that occurred before the plugin was installed are not retroactively logged. The log begins from the moment of activation.

What gets logged

MovementTypeTriggerReference
Product sold in an orderOUTWooCommerce reduces stock when an order is paidOrder #
Order cancelled or refunded (stock restored)INWooCommerce restores stock on cancellation or refundOrder #
Admin manually increases stockINStock value changed upward from the product edit screenManual
Admin manually decreases stockOUTStock value changed downward from the product edit screenManual

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

FieldDescription
Product nameCaptured at the time of the movement. Historical entries are not affected if the product is later renamed.
SKUSame — captured at movement time.
Typein or out.
QuantityThe absolute number of units that moved. Always positive.
Stock before / afterThe stock level immediately before and after the movement. May be null if WooCommerce did not expose both values for a particular hook.
Order IDSet for order-triggered movements. Zero for manual adjustments.
NoteHuman-readable reason, e.g. "Sold via order #4821" or "Manual stock adjustment".
Logged atUTC timestamp of when the movement was recorded.

Filters

All filters are applied simultaneously. You can combine any number of them.

FilterHow to use
TypeChoose All, IN only, or OUT only.
Specific dateDate picker — shows movements on exactly that calendar date (server timezone).
MonthMonth/year picker — shows all movements within that calendar month. Overrides the specific date filter if both are set.
YearYear 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.
CategoryWooCommerce product category dropdown. The plugin resolves all product IDs in the selected category and filters the log to those products.
SearchMatches 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

ColumnDescription
Date & timeDisplayed in the site timezone. Stored in UTC.
ProductName links to the WooCommerce product edit screen. Opens in a new tab.
SKUStored SKU at movement time. Shows — if blank.
TypeGreen IN badge or red OUT badge.
QtyUnits moved. Always a positive integer.
Before / AfterStock levels on either side of the movement. Useful for spotting discrepancies.
ReferenceClickable order link for sale or restore entries. "Manual" for admin adjustments.
NoteShort 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).