Magento 2 Sale Motivation Extensions

  1. Home
  2. Docs
  3. Magento 2 Sale Motivation Extensions
  4. Magento 2 Pre - Order
  5. User Guide

User Guide

Note: From version 1.1.8, config "Pre-Order Message in Cart/Order" and "Availability Date" were deleted for optimizing purposes. You can fill in the config "Availability message" the text and the date you want to show on the product page.

1. Overview

Pre-Order for Magento 2 extension allows previously ordering out of stock products or upcoming products. Admins can edit notices and messages to alert their customers and offer information about pre-order products.

2. How Does It Work?

2.1 General Configuration

Please go to Stores ⇒ Configuration ⇒ BSSCommerce ⇒ Pre-Order

In Enabled, choose Yes to enable the extension, or No to disable it.

In Allow Mixing Order, choose Yes to allow adding both regular and pre-order items to an order, or No to allow adding only pre-order items or regular items to the order.

In Display Out of Stock Product with Pre-Order Status Only, config only works when the default "Display out of stock" is set "Yes". 

The default Magento 2 disables out of stock products, to enable them, please go to Store ⇒ Configuration ⇒ Catalog ⇒ Inventory ⇒ Stock Options, in Display Out of Stock Products, choose Yes.

In Text for Pre-order Button, edit text to be shown on the pre-order button.

In Note for Pre-Order Products in Cart/Order, edit a notice for pre-order product in cart/order. {preorder_date} can be used as the Pre-order Button Availability period in each product detail page.

In Default Message for Pre-order Products, edit a message about pre-order products to appear on the product pages. {preorder_date} can be used as the Pre-order Button Availability period in each product detail page.

  • Note for pre-order products in the shopping cart:

note for pre order product on cart

  • Note for pre-order products in order information page (My Account ⇒ My Orders ⇒ View Order)

note for pre order product


  • Only registered customers can view the order information page by going to My Account My Orders ⇒ View Order.
  • Because the scope of the module configuration is store view, you can customize the pre-order configurations for each store view.

    After setting, you need to save your configuration then flush the cache to start using the module.

2.2 Product Detail Page Configs

Please go to Catalog ⇒ Products then select a product to go to its product details page. Scroll down to see the Pre Order configuration block:

* Notes: This Pre Order for Magento 2 extension only supports Simple products, Configurable Products and Grouped products. It does not support Virtual, Downloadable, and Bundle Products.

In Pre-Order:

  • Yes: set pre-order function for the product. The Add to Cart button is automatically replaced by the Pre-order button and it is always pre-order items without depending on Quantity and Stock Status.
  • No: not set pre-order function for the product. And it is the default value if you don’t customize.
  • When Product Become Out Of Stock: if the product is out of stock, Add to Cart button is replaced by the Pre-Order button and customers can pre-order this product. In case the product is in stock but customers order the quantity of product that is more than the available quantity, this order will be changed to pre-order.


    • We recommend you turn off the back order configuration of the default Magento 2 if you set the pre order configuration to Yes/ when out of stock. This is to prevent logic conflict. 
    • You can use the back-order from the default Magento when you turn our pre order to No

In Pre-order Message, {preorder_date} can be used as the Pre-order Button Availability period. If this field is blank, the default message edited in the configuration will be displayed.

In Availability Message,  {preorder_date} can be used as the Pre-order Button Availability period.


Here is how the front end renders your message.

pre order message


2.3 Work with configurable & grouped

To setup pre-order for Configurable Product and Grouped Product, you need to customize for separate children products.

+ With Configurable Product:

Magento 2 Pre-order configurable product page

If a child product is set as pre-order and buyers select this child product, the Add to Cart button is immediately replaced by the Pre-Order button.

+ With Grouped Product:

Magento 2 Pre-order grouped product page

In product page, the pre-order message will be shown under the pre-order product.

2.4 Manage previous orders in backend

Please go to Sales ⇒ Orders, the order grid table will appear.

Specific order status for preorders

In the Status column, order status of pre-orders is Pending Pre-Order or Processing Pre-Order. You can quickly find the pre-order by sorting status.


  • Status “Pending Pre-Order” will be changed to “Processing Pre-Order” after creating invoices for the orders.
  • You can’t create shipment for the orders including pre-order items.

Manage preorder status on Order detail page

In case pre-order products have been in stock and you want to change status for the orders containing them, you can go to the Order View Page and change status from Pending Pre-Order to Pending or Processing Pre-Order to Processing.

2.5 Show alert for the pre-order product in the order confirmation email. 

This is a built-in feature. The notification message here will depend on the Note for Pre-order Products in Cart/Order configuration at the General Configuration.

email preorder confimation

*Note: Compatible with MSI

  • If the website is assigned to multi-source: Product is displayed as Pre­-Order only when all sources have stock status is Out of Stock or all source quantities are 0, Salable Qty has no impact.
  • If the website is assigned to one source only: Product is displayed as Pre­-Order only when stock status is Out of Stock or source quantity is 0. If Salable Qty equals or less than 0, the product is still displayed as usual.

3. API Support

No API URL Method
1 Check if product is preordered or not {{base_url}}/rest/V1/preorders/:sku GET
2 Get all SKU of pre order product on site {{base_url}}/rest/V1/preorders GET
Was this article helpful to you? Yes No

How can we help?