Help customers remember their next refill of coffee, pet food, filters or other consumables. Enter consumption days per unit and let customers choose restock reminders at checkout.
A 30-day product purchased in a quantity of two gets one reminder 57 days after completion when the advance is three days. This is an estimate, not a subscription or an automatic purchase.
Included in the free plugin
- Consumption days per simple product, with defaults and overrides for variations.
- Quantity-aware timing, starting after a paid order is completed.
- An optional checkout checkbox, unchecked by default, in classic and Checkout Blocks.
- Explicit consent saved for each order; no automatic enrolment of historical orders.
- Repurchase checks for the same product or exact variation before sending.
- Skip cancelled, refunded, changed-recipient, unavailable and out-of-stock products.
- One plain-text email per eligible line, delivered through your existing WordPress mail setup.
- Reorder link for one unit and a store-wide unsubscribe link.
- Activity counts with clear limits: mail accepted, reorder links opened and repurchases detected.
- WooCommerce Action Scheduler, HPOS and classic order storage support.
- Cleanup of plugin-owned settings and metadata on uninstall.
Setup
- Open a product's General tab and enter Consumption days per unit. Zero disables reminders. For variations, a blank override inherits the parent.
- Go to WooCommerce > Settings > Advanced > Replenishment Reminder.
- Choose advance days and enable reminders. The plugin starts disabled.
- Make a test purchase with the optional checkbox checked, mark the paid order Completed, and inspect its scheduled action.
Only checkout orders with explicit opt-in are enrolled. Switching on the plugin does not enrol old purchases or manually created orders. If there are no eligible items in an opted-in order, no reminder is scheduled.
How it avoids unwanted reminders
Eligibility is checked again when the scheduled action runs. A later paid purchase of the same simple product or variation stops the older reminder, even when that purchase has no reminder opt-in. An unsubscribe stops all restock emails to that address; only a later purchase with fresh explicit consent can restart reminders.
Cancellation, failure and item refunds cancel pending reminders. Changing a recipient prevents sending to an address that did not consent. Partial refunds cancel affected lines conservatively.
Mail accepted means WordPress's mail transport reported success; it does not guarantee inbox delivery. Failed or uncertain attempts are not automatically retried. Link opens may include security scanners. Repurchase counts do not measure incremental revenue or causation.
Requirements and scope
WooCommerce 10.3 or newer, WordPress 6.7 or newer and PHP 7.4 or newer. Simple products and product variations are supported. Subscription, bundle and composite products are outside this version's scope. Delays beyond ten years are excluded. Estimates are based on configured days, not learned consumption.
Action Scheduler relies on a working WordPress scheduled-task runner. Low-traffic stores should configure a reliable server cron. See WooCommerce > Status > Scheduled Actions and the jeytech-replenishment-reminder group.
Disabling reminders prevents enrolment and sending. Deactivation cancels pending actions; reactivation does not reconstruct them. Uninstall removes plugin-owned data while preserving WooCommerce orders. Order consent follows your store's order retention policy. No external service or telemetry is added by this plugin; your existing mail provider handles emails.
Strings are in English and ready for Translate WordPress after publication. No bundled language catalogs are distributed. French language-pack availability is not promised before validation.