Pre-Orders for WooCommerce
Sell products before they are available: pre-order buttons, availability dates, a Pre-ordered order status, automatic release and customer emails.
- Block cart and checkout
- Classic cart and checkout
- High-performance order storage
- WooCommerce 9 – 11
- WordPress 6.6 – 7.1
- PHP 7.4+
What Pre-Orders does
Take the money before the stock arrives. Switch pre-ordering on for a product, set the date it will be available, and the product can be bought even with no stock. The button says "Pre-order", the page says when it ships, and paid orders wait in their own "Pre-ordered" status. When the date comes, or when you click Release, the orders move to Processing and every customer gets an email.
Pre-Orders features
On the product
- Pre-order switch, availability date and time, or no date for "coming soon"
- Optional pre-order price, shown like a sale price with a "Pre-order price" label
- Optional pre-order limit, with "5 left to pre-order" on the page
- Your own message per product, or the store-wide one with the {date} placeholder
- Works for simple and variable products; a variable product's settings apply to every variation
In the shop
- "Pre-order" replaces "Add to cart" in grids and on the product page
- "Available to pre-order" as the stock status, and the product can be bought with no stock
- "Pre-order: Available on …" under the item in the cart, the checkout, the order and the emails
- Pre-orders ship separately by default: customers must order them on their own, so regular items are not held back (you can allow mixed carts)
- Works with the block cart and checkout and with the classic shortcodes
Orders
- Paid pre-orders get the status "Pre-ordered": online payments, cash on delivery, and bank transfers you mark as paid
- The status counts as paid, appears in reports, and stock is reduced as usual
- The shop gets the New Order email; the customer gets "Pre-order confirmed" instead of the processing email
- Cancelling or refunding gives pre-order units back to the limit
Release
- Products whose date has passed are released automatically, checked every hour
- Release a product yourself under WooCommerce > Pre-orders, from its Pre-order tab, or release one order from the order actions
- Released orders move to Processing (or Completed) and customers get the "Pre-order available" email
- An order with several pre-order products moves on when the last one is released
- Changing a product's date emails customers with an open pre-order, if you like
How to set up Pre-Orders in WooCommerce
- 1
Upload the plugin to
/wp-content/plugins/or install the zip from Plugins > Add New > Upload Plugin. - 2
Activate it.
- 3
Open a product, go to its Pre-order tab, tick Pre-order and set the date.
- 4
Review WooCommerce > Settings > Pre-orders for the button text, messages and release options.
Questions about Pre-Orders
When is the customer charged?
At checkout, in full, with any of your payment methods. Pre-ordered orders are paid orders waiting to ship.
What happens when the date comes?
Every hour the plugin looks for products whose date has passed. Their pre-ordered orders move to Processing, customers get the "Pre-order available" email, and pre-ordering is switched off on the product so it sells normally from then on. Turn automatic release off in Settings if you prefer to release by hand.
Can customers buy a pre-order and something else together?
Not by default, because the whole order would wait for the pre-order. Allow mixed carts in Settings if you prefer; the order then moves on when the pre-order is released.
Does it reduce stock?
Yes, like any paid order. A pre-order product can be bought with zero stock, so its stock goes negative until you restock it. Use the pre-order limit to cap how many can be sold.
What about bank transfers?
The order waits in On hold like any bank transfer. When you mark it Processing after the money arrives, it becomes Pre-ordered instead.
What happens to my data if I delete the plugin?
Orders keep their status and notes. Product settings and plugin settings are removed only if "Remove data on uninstall" is ticked in Settings.
Pre-Orders changelog
- 1.0.0
- Initial release.
More orders & notifications plugins
Custom Order Statuses
Add your own order statuses such as Packed, Awaiting pickup or Ready to ship, with colours, bulk actions and safe deletion.
View plugin
Slack, Telegram & Discord Alerts
Instant WooCommerce alerts in Slack, Telegram or Discord: new orders, low stock and out of stock, with a link straight to the order or product.
View plugin
Orders to Google Sheets
Every WooCommerce order in a Google Sheet, automatically. Rows update when an order changes status or is refunded. No Google Cloud project needed.
View plugin