PreOrder FAQ

PreOrder is a great way for OpenCart store owners who are introducing new products and run pre-orders while they don't have the items in stock yet.

What the module does, is that it replaces the Add-To-Cart button with a Pre-Order one for out-of-stock items. This way, clients are able to check out with the items and pay for them before they are in stock.

Both the store owner and the client get an email for the new pre-order.

For more info on the module and a full list of all features please see the product here:

How can I configure PreOrder?

To set up PreOrder, you need to make sure you select which statuses PreOrder needs to hook up to and then set the product quantity at zero.

1. First you need to set which Out-of-Stock statuses you would like PreOrder to work with.

This is done from Extensions > Modules > PreOrder > Control Panel and then enable the desired out-of-stock statuses. For example, we have enabled it for 2-3 Days and Pre Order.

2. Check the product's out-of-stock status and quantity

Right after that, we need to access the product we want to set the out-of-stock status to. This is done from Catalog > Products, locate the product you want to edit and click on Edit.

Then go to Data and make sure that the Out Of Stock Status matches the status we enabled PreOrder for (See point 1). Afterwards, make sure that the quantity is Lower than or equal to 0. You're all set.

I Installed PreOrder but the buttons don't seem to substitute/change to PreOrder. Why is that?

Once you install and set up PreOrder, you should assign the module using the OpenCart layout system. You can learn more about it here.

Still, as basic info you can find the layouts menu in Design > Layouts > Products (for the product pages), Design > Layouts > Home (for the home pages) Design > Layouts > Categories for the category pages.

If this doesn't help we would recommend you to open a support ticket by going to

How can I set up the pre-order note and date?

PreOrder allows you to display a notification bar above every product which has a status set to Pre-Order, looking like this:


The banner is fully customizable and comes with two dynamic fields which are:

{preorder_date} - will show the preorder date
{preorder_note} - will display a preorder note

So the way to set up the banner is to access PreOrder from the admin. This is done from Extensions > Modules > PreOrder > Settings and click on Add Note on the PreOrder Product Page. There, we have two tags we can work with:


One thing that might get tricky is setting up pre-order note and date. The proper way to use the tags in the curly brackets is by copy and pasting them in the note. Once again please mind that this is a global note that will display on all products that match the pre-order criteria.

Once we have set up the global message, we can set an individual {Preorder_date} and {Preorder_note} for every product. To do this go to Catalog > Products and click on Edit on the product you would like to configure.

Following click on the Data tab and scroll down to Pre-Order note and Pre-Order Date. With this setting you can select a unique pre-order note and date for each product:


So here is the final result with all the actions we have taken:


I want to edit the email subject of the Pre-order emails that customers receive. How do I do that?

It is really easy to change the Email subject. To do this go to your store admin and then Extensions > Modules > PreOrder > Settings.

Afterwards please scroll all the way down to Email Subject. Please keep in mind that the email subject is also multi-lingual so you can use more than 1 language for this.

How do I remove the available on in the email that the client receives?

Whenever you notify your clients that your product has been preordered, the module contains a field which says Available On. If you want to remove this from the email you need to go to the files:

catalog/model/module/preorder.php for OpenCart 2.x

catalog/model/extension/module/preorder.php for OpenCart 2.3.x

Access this file and search for:

<div> '.$available_on.'</div>

...and delete the line. Save the file and then test the module.