Free plugin Version 1.3.1 Updated

Anticipo - Pre-Orders for WooCommerce Free documentation

Sell products before they exist in WooCommerce. Take pre-orders, hold each order until launch day, then release it automatically.

Try the live demo Get Pro

Overview

Sell products before they exist in WooCommerce. Take pre-orders, hold each order until launch day, then release it automatically.

Requirements

  • WordPress 6.4 or later
  • PHP 7.4 or later
  • WooCommerce 8.2 or later
  • Required plugins: woocommerce

Installation

Anticipo - Pre-Orders for WooCommerce Free is free on WordPress.org.

  1. In your WordPress admin, go to Plugins > Add New Plugin.

  2. Search for Anticipo - Pre-Orders for WooCommerce Free.

  3. Click Install Now, then Activate.

Quick start

  1. Open Pre-orders

    Go to wp-admin/admin.php?page=anticipo-preorders in your WordPress admin.

  2. Open Edit product

    Go to wp-admin/post.php?post=40&action=edit in your WordPress admin.

  3. Open Edit product: Pre-order product panel

    Go to wp-admin/post.php?post=40&action=edit in your WordPress admin.

  4. Open Edit product: Most Used

    Go to wp-admin/post.php?post=40&action=edit#product_cat-pop in your WordPress admin.

#Pre-orders

Location: wp-admin/admin.php?page=anticipo-preorders

On this screen:

  • Pre-orders
Screenshot: Pre-orders
Pre-orders

#Edit product

Location: wp-admin/post.php?post=40&action=edit

On this screen:

  • Edit product
  • Product description
  • Publish
  • Product image
  • Product gallery
  • Product categories
  • Product tags
  • Product brands
Screenshot: Edit product
Edit product

#Edit product: Pre-order product panel

Location: wp-admin/post.php?post=40&action=edit

On this screen:

  • Edit product
  • Product description
  • Publish
  • Product image
  • Product gallery
  • Product categories
  • Product tags
  • Product brands
Screenshot: Edit product: Pre-order product panel
Edit product: Pre-order product panel

#Edit product: Most Used

Location: wp-admin/post.php?post=40&action=edit#product_cat-pop

On this screen:

  • Edit product
  • Product description
  • Publish
  • Product image
  • Product gallery
  • Product categories
  • Product tags
  • Product brands
Screenshot: Edit product: Most Used
Edit product: Most Used

#Edit product: Most Used

Location: wp-admin/post.php?post=40&action=edit#product_brand-pop

On this screen:

  • Edit product
  • Product description
  • Publish
  • Product image
  • Product gallery
  • Product categories
  • Product tags
  • Product brands
Screenshot: Edit product: Most Used
Edit product: Most Used

#Edit order

Location: wp-admin/post.php?action=edit&post=50

On this screen:

  • Edit order
  • Order actions
  • Order attribution
  • Origin
  • Customer history
  • Total orders
  • Total revenue
  • Average order value
Screenshot: Edit order
Edit order

#WooCommerce > Settings > Email > Pre-order confirmed

Location: wp-admin/admin.php?page=wc-settings&tab=email&section=anticipo_po_email_customer_preorder_confirmed

On this screen:

  • Pre-order confirmed
  • Email preview
  • Your pre-order is confirmed, order 12345
Screenshot: WooCommerce > Settings > Email > Pre-order confirmed
WooCommerce > Settings > Email > Pre-order confirmed

#WooCommerce > Settings > Email > Pre-order date changed

Location: wp-admin/admin.php?page=wc-settings&tab=email&section=anticipo_po_email_customer_date_changed

On this screen:

  • Pre-order date changed
  • Email preview
  • New release date for your pre-order, order 12345
Screenshot: WooCommerce > Settings > Email > Pre-order date changed
WooCommerce > Settings > Email > Pre-order date changed

#WooCommerce > Settings > Email > Pre-order released

Location: wp-admin/admin.php?page=wc-settings&tab=email&section=anticipo_po_email_customer_preorder_available

On this screen:

  • Pre-order released
  • Email preview
  • Release day: your pre-order is being prepared
Screenshot: WooCommerce > Settings > Email > Pre-order released
WooCommerce > Settings > Email > Pre-order released

#Pre-orders: Settings

Location: wp-admin/admin.php?page=anticipo-preorders&tab=settings

On this screen:

  • Pre-orders
  • General
  • Display
  • Release workflow
  • Advanced
Screenshot: Pre-orders: Settings
Pre-orders: Settings

#Pre-orders: Status

Location: wp-admin/admin.php?page=anticipo-preorders&tab=status

On this screen:

  • Pre-orders
  • Health checks
  • Background queue
  • Activity log
Screenshot: Pre-orders: Status
Pre-orders: Status

#Pre-orders: Documentation

Location: wp-admin/admin.php?page=anticipo-preorders&tab=docs

On this screen:

  • Pre-orders
  • Set up your first pre-order in five minutes
  • What the customer sees
  • Every setting explained
  • General
  • Display
  • Release workflow
  • Advanced
Screenshot: Pre-orders: Documentation
Pre-orders: Documentation

#Pre-orders: Settings: Pre-orders

Location: wp-admin/admin.php?page=anticipo-preorders&tab=preorders

On this screen:

  • Pre-orders
Screenshot: Pre-orders: Settings: Pre-orders
Pre-orders: Settings: Pre-orders

Settings reference

WooCommerce > Settings > Email > Pre-order confirmed

The WooCommerce > Settings > Email > Pre-order confirmed screen
WooCommerce > Settings > Email > Pre-order confirmed

#Enable/Disable

Checkbox Default: On

#Subject

Text

#Email heading

Text

#Message

Text area Default: Hi {customer_name}, Thank you for pre-ordering with {site_title}. Your order {order_number} is confirmed and your items are reserved for you. Expected release:

The text shown above the pre-order table. Available tags: {site_title} {site_url} {customer_name} {order_number} {order_date} {release_date} {product_list} {old_date} {account_url} {pay_url}

#Additional content

Text area Default: Nothing else is needed from you right now. You can review this pre-order at any time from your account: {account_url}

#Email type

Dropdown Default: HTML

3 options

Plain text
HTMLDefault
Multipart

#Cc(s)

Text

#Bcc(s)

Text

WooCommerce > Settings > Email > Pre-order date changed

The WooCommerce > Settings > Email > Pre-order date changed screen
WooCommerce > Settings > Email > Pre-order date changed

#Enable/Disable

Checkbox Default: On

#Subject

Text

#Email heading

Text

#Message

Text area Default: Hi {customer_name}, We want to keep you in the loop about order {order_number}. The release date has moved from {old_date} to {release_date}. Your pre-order is

The text shown above the pre-order table. Available tags: {site_title} {site_url} {customer_name} {order_number} {order_date} {release_date} {product_list} {old_date} {account_url} {pay_url}

#Additional content

Text area Default: Sorry for the change, and thank you for your patience. You can review this pre-order here: {account_url}

#Email type

Dropdown Default: HTML

3 options

Plain text
HTMLDefault
Multipart

#Cc(s)

Text

#Bcc(s)

Text

WooCommerce > Settings > Email > Pre-order released

The WooCommerce > Settings > Email > Pre-order released screen
WooCommerce > Settings > Email > Pre-order released

#Enable/Disable

Checkbox Default: On

#Subject

Text

#Email heading

Text

#Message

Text area Default: Hi {customer_name}, Good news. The items you pre-ordered on order {order_number} have been released and are now being prepared for dispatch. Here is what is on

The text shown above the pre-order table. Available tags: {site_title} {site_url} {customer_name} {order_number} {order_date} {release_date} {product_list} {old_date} {account_url} {pay_url}

#Additional content

Text area Default: Thank you for backing this release early. It genuinely helps a small store plan.

#Email type

Dropdown Default: HTML

3 options

Plain text
HTMLDefault
Multipart

#Cc(s)

Text

#Bcc(s)

Text

Pre-orders: Settings

The Pre-orders: Settings screen
Pre-orders: Settings

#Enable pre-orders

Checkbox Default: On

Turn every pre-order feature off without losing any data or settings. Existing pre-orders stay in the database and resume when you switch this back on.

#Mixed carts

Dropdown Default: Allow pre-order and in-stock items together

A pre-order holds the whole order until release day. Block this if you do not want in-stock items waiting alongside it.

3 options

Allow pre-order and in-stock items togetherDefault
Allow but warn the customer at checkout
Block: pre-orders must be bought on their own

#Add to cart button text

Text Default: Pre-order now

Shown instead of the usual Add to cart label on pre-order products.

#Availability message

Text Default: Ships on {date}

Shown under the price on the product page. Supports {date} and {time}.

#Message when the date is unknown

Text Default: Release date to be announced

Used on products where you ticked "date not announced yet".

#Show a pre-order badge on product images

Checkbox Default: On

#Badge text

Text Default: Pre-order

#Show the availability message in shop listings

Checkbox Default: On

Leave this off on very large catalogues if you want the absolute minimum work done per listing.

#Show a countdown to release

Checkbox Default: On

A live countdown on the product page. Hidden automatically when no date is announced.

#Status for orders awaiting release

Dropdown Default: Pre-ordered

Defaults to the Pre-ordered status this plugin adds, which keeps pre-orders out of your normal pick list.

9 options

Pending payment
Processing
Pre-orderedDefault
On hold
Completed
Cancelled
Refunded
Failed
Draft

#Status once released

Dropdown Default: Processing

Usually Processing, so released pre-orders join your normal fulfilment queue.

9 options

Pending payment
ProcessingDefault
Pre-ordered
On hold
Completed
Cancelled
Refunded
Failed
Draft

#Release automatically on the availability date

Checkbox Default: On

Switch this off to review each launch yourself and press Release manually from the Pre-orders screen.

#Orders per background batch

Number Default: 25

Lower this on shared hosting. Higher values finish a launch faster but use more memory per background run.

#Reduce stock on release rather than at checkout

Checkbox Default: On

On by default. The units do not exist yet, so reducing stock at checkout would make your inventory figures wrong for weeks.

#My Account endpoint slug

Text Default: pre-orders

The URL segment for the customer pre-orders page. Save your permalinks after changing this.

#Activity log detail

Dropdown Default: Errors and normal activity

The log is what you read when a customer queries what happened to their order.

4 options

Off
Errors only
Errors and normal activityDefault
Everything, including debug detail

#Delete log entries older than (days)

Number Default: 90

#Delete all pre-order data when the plugin is deleted

Checkbox Default: Off

Off by default. Deactivating never removes data; only deleting the plugin with this box ticked does.

Shortcodes

[anticipo_preorder_products]

Shortcode registered by the plugin.

[anticipo_preorder_products]

On your site

These pages show what visitors see on your site.

Screenshot: Coming soon
Coming soon
Screenshot: Product page with the pre-order countdown
Product page with the pre-order countdown
Screenshot: My Account, Pre-orders
My Account, Pre-orders

Frequently asked questions

Does this work with variable products?

Yes. Variations inherit the release date and rules from the parent product.

Why is my stock not going down when someone pre-orders?

By design. Stock is reduced on release day, because the units do not exist yet and reducing stock now would make your inventory figures wrong for weeks. If you are pre-selling from stock you already hold, turn off "Reduce stock on release" under Release workflow.

The release date passed and nothing happened.

Open WooCommerce, Pre-orders, Status. It tells you whether Action Scheduler is running and lists anything overdue. You can also release by hand from the Pre-orders screen. On a very low traffic site, pointing a real server cron at wp-cron.php makes scheduled jobs punctual.

The Pre-orders tab in My Account returns a 404.

Open Settings, Permalinks and press Save without changing anything. That regenerates the rewrite rules.

Will this slow my shop down?

No. Pre-orders live in their own indexed table, settings are read from objects WooCommerce has already loaded, and the plugin's CSS and JavaScript are not loaded on pages that have no pre-orders.

Can I show all my upcoming pre-orders on one page?

Yes. Add [anticipo_preorder_products] to any page. It shows every product currently taking pre-orders as a normal shop grid, soonest release first, with products that have no announced date listed last. It accepts limit, columns, orderby (release_date or title), category (product category slugs) and empty (the message shown when nothing is on pre-order).

Can the badge say something other than "Pre-order"?

Yes. Set the store wide wording under Settings, Display, or give a single product its own wording in the Badge text field on its Pre-order tab.

Does it work with High Performance Order Storage?

Yes, and with the legacy post based storage. Compatibility is declared for both, plus the Cart and Checkout blocks.

Free vs Pro

Anticipo Free vs Pro

The free plugin covers pre-order products with release dates, badges, countdowns, automatic release on launch day and five pre-order emails. Pro adds deposits and charge on release, pre-order limits and pricing, per variation launches, reminders, a release calendar, reports and CSV export.

17 of 31 features in Free14 more with Pro

Feature Free Pro
Product setup
Pre-orders on simple and variable products Included Included
Release date and time in store timezone Included Included
Take pre-orders before the date is announced Included Included
Cut-off date to stop taking pre-orders Included Included
Own button text, message and badge per product Included Included
Storefront
Pre-order badge, availability message and live countdown Included Included
Allow, warn or block mixed carts Included Included
Coming soon page with a shortcode Included Included
Pre-orders tab in My Account Included Included
Release and orders
Hold paid orders in a Pre-ordered status Included Included
Automatic release on the release date Included Included
Release or cancel pre-orders by hand, in bulk Included Included
Reduce stock on release instead of at checkout Included Included
Status tab with health checks and activity log Included Included
Compatibility
Works with Cart and Checkout blocks and HPOS Included Included
Multilingual stores with WPML or Polylang Included Included
Emails
Five editable pre-order emails, including a store alert Included Included
Reminder, balance due and failed payment emails Not included Included
Email every customer waiting on a product Not included Included
Release summary email to the store Not included Included
Payments and pricing
Take a deposit now or charge in full on release day Not included Included
Pre-order discount or premium price Not included Included
Customers cancel their own pre-orders Not included Included
Launch control
Limits on total pre-orders and per customer Not included Included
Separate release dates for each variation Not included Included
Opening date before pre-orders can be placed Not included Included
Take pre-orders automatically while on backorder Not included Included
Release waiting pre-orders when stock arrives Not included Included
Shift a release date by a number of days Not included Included
Reports and integrations
Release calendar, demand reports and CSV export Not included Included
REST API for ERP and headless integrations Not included Included

Try the Pro demo Get Anticipo Pro

Upgrade

Upgrade to Anticipo Pro

  • Take a deposit now or charge in full on release day
  • Limits on total pre-orders and per customer
  • Pre-order discount or premium price
  • Separate release dates for each variation
  • Release calendar, demand reports and CSV export
  • Reminder, balance due and failed payment emails

Try the Pro demo Get Pro