Magento 2 Pre-Order extension allows the customer to pre-order products that are not yet available at the online store. With the help of the Magento 2 pre order extension, the admin can allow customers or guest users to place orders for upcoming or unavailable products in the store. The admin can set whether the customer will pay a full or partial amount of the product.

Check the Magento 2 pre order plugin working –

  • The buyer can pre-order products.
  • The module also supports the product with custom options.
  • Set a custom message to display on the preorder product page.
  • Admin can set preorder status and availability dates.
  • Using this module customers can pay the full or partial payment.
  • Set the custom percentage of the partial amount to pay for pre-ordering.
  • Customers can receive an automatic email notification when a product is made available in the store and remove from the PreOrder state.
  • Guest users can also use the pre-order feature and place orders.
  • The admin can display Free Preorder notes to customers.
  • Multi-Lingual support / All language working including RTL.
  • The code is fully open & you can customize it according to your need.


  • Partial payment info is visible on the product page and the cart page only when admin enables the partial’s payments from the configurations.
  • For the configurable, bundle and grouped products admin needs to add its associate product in the preorder state.
  • All product types are compatible only with module version 3.0.0 and above. Module Versions below 3.0.0 will only support Simple, Configurable, Downloadable, and Virtual Products.
  • MSI is compatible with module version 3.0.0 and above (not compatible with versions below 3.0.0).

Customers will get a zip folder and they have to extract the contents of this zip folder on their system. The extracted folder has an src folder, inside the src folder you have the app folder. You need to transfer this app folder into the Magento2 root directory on the server as shown below.

After the successful installation, you have to run these commands in the Magento2 root directory.

First command- php bin/magento setup:upgrade

Second Command — php bin/magento setup:di:compile

Third Command — php bin/Magento setup:static-content:deploy

After running the commands, you have to flush the cache from the Magento admin panel by navigating through->System->Cache management as shown below.

For the multilingual support, the admin will navigate through Store->Configuration->General ->Locale Options and select the locale as German (the language into which admin wants to translate his store content).

If you want to translate their module language from English to German then follow the path app/code/Webkul/Preorder /i18n in their unzipped Magento2 (Adobe Commerce Cloud) Preorder folder and then you will get a csv file with name “en_US.csv”. Now, rename that csv as to your region code and language code “de_DE.csv” and translate all right side content after the comma in your language. After editing the CSV, save it and then upload it to the path app/code/Webkul/Preorder /i18n where you have installed Magento 2 on the server. The module will get translated into your desired Language. It also supports RTL and LTR languages.

The user can edit the CSV like the image below.

For configuring Magento 2 Pre-order extension go to Stores>Configuration>Webkul>Pre-order. The following options will be available:-

Enabled- Select Yes or No to pre-order the products.

Preorder Type — Select how the customers will make the payment for pre-order — Full Payment or Partial Payment.

Preorder Message — You have an option to display a small message on the pre-order product page.

Enable Automatic Email — When the product is made available on the store, the customers will receive an email notification for completing the order process. Select Yes for auto-email notification, else select No for manual email notification.

Store Email Address — Enter the sender’s email address for the pre-order email notification.

Email Order Note For Preorder — You have to enter a note or a message for the order email.

Free Preorder Note — Enter the message for the preorder product page that requires no advance payment. The Preorder Percent must be ‘0’ to display this note. This note will be visible on the product page.

The product In Stock Email Template — Select the email template for the product availability notification which will be sent to the customers.

Preorder Additional Fee Type — Select the preorder additional fee calculation type as fixed or percentage.

The preorder additional Fee — Enter the preorder additional fee amount.

If the store admins are using the Initial versions i.e. module version less than 3.0.0, then they must have to do some changes to the configuration. After which the PreOrder product will display on the store.

The admin needs to navigate to Store -> Configuration -> Catalog -> Inventory -> Stock Options.

Here on the Display Out of Stock Products, select the Yes option. After that click on the Save button.

After this, on the product edit/creation page, the admin will set the Stock Status as In Stock, quantity 0, and enable the PreOrder status for the product.

Then enter the PreOrder Availability Date that will be visible on the product page at the front end. Also, enter the maximum PreOrder quantity of the PreOrder product that can be placed by the customers.

The admin can even charge Preorder Additional Fee customer wise. For this, the admin needs to navigate to Customer -> All Customers as per the below image.

This will redirect the admin to the customer list page.

Here, the admin will select the customer from the list to define the preorder additional fee.

Under the Account Information section, the admin will –

  • Allow Custom Preorder Fee: Set Yes to allow the preorder additional fee. Else set No.
  • Preorder Fee: Enter the preorder additional fee amount.
  • Preorder Fee Calculation Method: Select the preorder additional fee calculation type as fix or percentage.

And finally hit the Save Customer button.

Now the admin needs to go to Catalog>Product and Edit the product.

  • Pre-Order — Then, set Pre-Order option as ‘Yes’
  • Availability — Select the date of Product Availability.
  • Maximum Pre-order Quantity– And can also define the allowed preorder product purchase limit for the customer.

The customer will see the various information about the pre-order:

  • Partial Payment Info
  • Preorder Message
  • Product Availability Date
  • Pre Order button

The pre-order extension works with all types of products. In the configurable product, the admin can set the Pre-Order Status as Yes for any of its associated products.

The product purchase process is the same as before, the customer can make the full payment including the shipping cost, and place the order. Now, when the product is available on the store, the customer receives an email notification.

In partial payment, two separate orders IDs are created for completing the pre-order process. In the first order, the customer pays some percentage of the product’s price plus the shipping cost. And when the product is available on the store, the customer receives an email notification for making the remaining payment using the second-order ID.

After adding the product to the shopping cart, the customer can see the following details about preorder:

  • Type: The type can be preorder the product.
  • Payment Type: The preorder type can be partial or full payment for preordering the product.
  • Preorder Percent: Here the percentage of the partial type payment is set by the admin.

Once the order is placed, the customer can view the order information from My Accounts>My Orders section.

When the product will be available on the store, the customers will get an email notification. Then they can complete the order and pay the remaining amount.

After clicking the link in the email, the order page will open to the customer. Here, the customer will see the ‘Complete Preorder‘ button.

After clicking on Complete Preorder, the remaining amount will be added to the shopping cart. The product will have a new image and a new name as it is a part of the preorder product. Also, at the checkout, the customer will not have to pay for the shipping again.

When the remaining payment is paid for the pre-order product, the customer can see the second-order information from ‘My Account>My Orders’.

The admin can view the preorders easily as per the below image.

The admin can even see a list of all the pre-orders received on the store under a separate section by navigating to Preorder>View Preorder. On the following page, the admin will see the Order#, Purchase Date, Product Name, Customer Name, Customer Email, Paid Amount, Remaining Amount, Preorder Type, Preorder Status.

To view the detailed order information, click View Order.

To send an email notification to the customer, first, select the customers from the list. Then go to Actions and select Notify Customers option. A pop-up confirmation box will appear, click OK and an email will be sent to the customer if the product is available.

Here is the sample Product Availability Email Notification.

The guest users can also use pre-order functionality without logging into the store. After clicking the Pre Order button, the product will be added to the cart. The guest users then have to go to the checkout and fill in the information.

For Sign In you can click on the Sign In button.

After that, the guest users will select the payment method in Magento 2 store and place the order. Order ID will be created for guest users. The guest users can check the pre-order details using their email address.

In the store backend, the admin can check the pre-orders details of the guest users as well.

Guest User Pre-Order Details

After clicking any of the pre-order from the list, the admin can see the detailed information about the pre-order.

Once the invoice has been generated and the product is available, an email notification will be sent to the guest user for completing the pre-order.

The guest user can complete the pre-order either by clicking the link in the email or go to the store and click ‘Orders and Returns‘ option in the footer section.

After clicking the Orders and Returns in Magento 2 the guest user will be redirected to order and return page. Here the guest user will provide essential data for viewing their order like:

  1. Order ID: Here the guest will provide the order ID
  2. Billing Last Name: The last name which was given during the time of partial payment billing.
  3. Find Order By: The order can be search based on the email or zip code.
  4. Email: The email address provide for the preorder.

On submitting the order details the guest user will redirect to the order information page for completing the preorder via the “Complete Preorder” button.

The guest users will see the partial preorder reference and the remaining amount to pay on the shopping cart page.

That’s all for the Magento 2 Pre order module still have any issues feel free to add a ticket and let us know your views to make the module better

Originally published on