Menu Close

Get Support From ShopWired Close

All systems fully operational

Subscribe To Updates
Prefer To Live Chat? Chat directly with ShopWired support Available 9.00am to 7.00pm Monday to Friday
11.00am to 5.00pm Saturday
Quickest response time

Send A Message
Response within 24 hours

Menu Close


Pre-order app

Please note!

This app requires some coding changes to be made to your theme’s files in order for certain aspects (such as displaying products as pre-order products) to work on your website. Please contact our coding partners Coding Masters for a quote for this work.

ShopWired's pre-order functionality, available through the pre-order app, enables the following features in your account which are useful for ShopWired users who sell products that aren’t available for immediate dispatch:

• Create a product and mark it as a pre-order product
• Enter a 'ships-on' date for a product to tell customers when the product will be shipped to them
• Enter a 'release' date/time, hiding the product on your website until this time
• If using the Stripe payment gateway, don't charge a customer's card until the order is ready to be shipped

To create products on your website that your customers can pre-order you will need to install the pre-order app.

To install the app select APPs > Available APPs from the menu. Find and select the ‘Pre-order products’ app and select INSTALL THIS APP.

Once the app is installed you can make products available for pre-order in the product creator/editor.

Creating pre-order products
How customers place pre-orders
Managing pre-orders
Twig variables

Creating pre-order products

To make a product available for pre-order use the ‘Stock & Delivery Management’ section of the product creator/editor. Place a tick in the box next to ‘This is a pre-order product’:

Some new fields will then appear for you to configure:

In the Ships-on Date field you must enter a date for when the item will be available to be shipped to the customer. This field is required.

In the Release Date and Release Time fields enter the date and time that the product should be released and available for purchase on your website. Prior to the date and time that you enter in these fields the product will not be visible on category/search pages, although customers will still be able to view the product page if they have its URL. If you do not enter a date/time in these fields the product will be available for purchase immediately upon creation.

How customers place pre-orders

Customers are able to place pre-orders in the same way as they place other orders, but there are some important things to note about the process:

  • When a customer places an order that contains at least one pre-order product the whole order will be marked as a pre-order within the admin system.

  • Customers must login or create a customer account in order to place a pre-order. Guest checkout is disabled for any orders containing a pre-order product.

  • Customers can use any payment gateway that you have configured in your account to pay for their pre-order. If you have Stripe enabled and the customer uses it to pay then they will enter their details, but payment WILL NOT be taken until you manually select to mark the order as ready and for payment to be taken. If they choose to use any payment method other than Stripe, payment WILL be taken immediately.

  • At checkout, customers are informed of the date that they will receive delivery of their order (using the furthest away 'ships on' date, i.e. the platform assumes you dispatch all items in an order at the same time).

Managing pre-orders

Order status

Pre-orders (orders containing at least one pre-order product) have their own order status on ShopWired. Once you install the pre-order app you can choose which order status is assigned to pre-orders using the default order status setting.

Viewing all pre-orders

When a customer places an order that contains a pre-order product the order will appear with your other orders on the ‘Your Orders’ page. To access this page select Orders > View Orders from the menu.

Orders containing a pre-order product will appear with a status of ‘Pre-order’ and with a (P) beside the order total:

To view only your pre-orders use the drop-down in the top right corner under ‘Order State’ and select Pre-order from the list:

You can also filter your pre-orders to only show pre-orders that have specific ships-on dates. To do this select More Filters:

Use the ‘Ships On Date From’ and the ‘Ships On Date To’ fields to only show pre-orders with ships-on dates within the range:

When you use the filter to view certain pre-orders a new column appears in the 'Existing Orders' table which shows the ships-on dates for the pre-orders:

If an order contains more than one pre-order product the latest ships-on date will be shown.

Managing specific pre-orders

As with regular orders you can manage the order by selecting View. The order details can be managed in the same way as regular orders, but a separate ‘Pre-order Management’ section will display for you to manage the pre-order aspects of the order.

Because customers who pay for pre-orders using Stripe have not had their cards charged, you will have two actions available to you for marking the order as dispatched if your customer has paid using the Stripe payment gateway:

Using these options you can either mark the order as ready for dispatch and charge the card as you do so, or you can mark the order as ready for dispatch and not charge the card (if you have already collected payment in another way).

If your customer has paid using any other payment gateway (not Stripe) then your only action option will be to mark the order as ready to dispatch:

Once you have marked a pre-order as ready to dispatch the order will become like any other ‘paid’ order and will be given the default status of your other paid orders.

Using the management section you can also change the status of the pre-order, send an order status automatic email update, archive the order and input tracking information.

Twig variables

Additional variables are available on the product object for pre-order products. These are listed below.


Returns true if the product is a pre-order product.


Returns true if the time now is after the pre-order product's release date/time.


Returns the product's release date and time in UTC. Use the date filter and a time zone, e.g. {{ product.release_date|date('d/m/Y', 'Europe/London') }}


Returns the product's ships-on date in UTC. Use the date filter and a time zone, e.g. {{ product.shipping_date|date('d/m/Y', 'Europe/London') }}

The product.is_released and product.release_date variables can be used to prevent customers from adding a pre-order product to their basket before the release date/time by surrounding the 'add to basket' button in an IF statement (e.g. hiding the add to basket button if its before the release date/time and replacing with a message like 'This product will be released on 1st January 2021 at 9pm').

If you would like assistance in adding any of the above variables to your theme you can contact our coding partners for a quote.