Menu Close
    Start a Project Request quote Reading list Switch to dark mode
    Blog Version - 2.0.x, 2.1.x, 2.2.x, 2.3.x
    • Version 2.0.x, 2.1.x, 2.2.x
    • Version 2.0.x, 2.1.x, 2.2.x, 2.3.x

    Magento 2 Pre-order

    Magento 2 Pre-Order extension allows the customer to pre-order products which are not yet available at the online store. With the help of Magento 2 Pre-order extension, the customer or the guest user can place any product that is available for preorder by the admin. The admin can set whether the customer will pay a full or partial amount of the product.


    • 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 in-stock.
    • Guest users can also use the pre-order feature and place the 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.

    Note –
    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 products type and MSI are compatible with the latest version 3.0.0 only. If you purchase any previous version, it will not be compatible with all types of products and MSI.


    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.

    Multilingual Support

    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).

    Module Translation

    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 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.

    Pre-Order Configuration

    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 for 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 in stock, 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 in-stock notification for 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 you are using Initial module Version

    If the customers are using the Initial versions i.e. module version less then 3.0.0 of the module, then they must have to do some changes on the configuration after that per-orders product will display on the store.

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

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

    Preorder Additional Fee

    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 fixed or percentage.

    And finally hit the Save Customer button.

    Pre-order Product

    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.

    Preorder Product Page

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

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

    Pre-Order for Configurable Product

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

    Placing Order

    Case 1 – Full Payment

    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 comes back in stock, the customer receives an email notification.

    Case 2 – Partial Payment

    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 comes back in stock, the customer receives an email notification for making the remaining payment using the second-order ID.

    Shopping Cart:

    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.

    Completing Pre-order

    In-Stock Email Notification

    When the product will be in stock, the customer will get an email notification for completing 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.

    Pay Remaining Amount

    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.

    Remaining Amount Paid

    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.

    Notify Customers (Manually)

    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 the email will be sent to the customer if the product is in stock.

    Please Note – If the invoice is not generated for the pre-order, the customer will not get the In-Stock notification. Therefore, the admin must create the invoice after receiving the pre-order payment.

    Here is the sample Product In-Stock Email Notification.

    Guest Users Pre-Order

    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.

    Order Placed

    After that, the guest users will select the payment method 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.

    View Pre-Order List

    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.

    Product In-Stock Email Notification

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

    Complete 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 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 searched based on the email or zip code.
    4. Email: The email address provided 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 Preorder module still have any issue feel free to add a ticket and let us know your views to make the module better

    Current Product Version - 3.0.0

    Supported Framework Version - 2.0.x, 2.1.x, 2.2.x, 2.3.x

    . . .


    Add Your Comment

    Be the first to comment.

    Back to Top
    Hire Us!
    Brief us about your requirements and we'll get back to you.
    Woo! Hooy!
    We have just recieved your project brief and our expert will contact you shortly.
    Send Again

    Table of Content

    Hide Index