Improve Magento 2 inventory and multi-stock inventory by displaying much more attractive stock status messages
Create custom stock status messages for in-stock, out-of-stock, and backorder products thanks to the MSI Stock Status extension.
Display customized and elaborated stock status messages
Conditions — Create stock status messages according to conditions based on the sources, quantities, and any product attribute.
Placeholders — Adapt and customize the stock status messages, stock grid template, and tooltip messages using the placeholders.
PHP API — Enjoy an unlimited field of actions and deeply customize the stock status messages, stock grid, and tooltip with the PHP API.
Keep your customers informed throughout their visit
in the product page
in the cart
in the checkout
in the confirmation email
Give your customers more details on the availability of your products
Display stock status messages according to the availability of your products and offer your customers the possibility to know the inventory of the products in all your stores.
MSI Custom Attributes
Add any useful information in the stock status messages
Text —
Number —
Date —
Yes/No —
Dropdown —
MSI Backorders
Display info about backorders in the stock status messages
Let your customers know from your stocks status messages how many items are on backorders and when they will be back in stock using MSI Backorders.
Are you interested in MSI Backorders?
See More details
Check the demo
Store Locator
Provide more info about your stores in the stock status messages
Add any useful information concerning your stores in your stocks grid and stock status messages with Store Locator: image, business hours, days off, link to the store page...
Are you interested in Store Locator?
See More details
Check the demo
Content
The MSI Stock Status extension will help you to display a grid of the inventory available for each one of your sources directly on your front-end product pages. The grid will also display stock status messages for your different sources.
The extension completes and expands Magento Multi Stock Inventory management and so brings more options to the default Magento 2.3 functionalities.
The stock status messages allow you to provide useful information about the availability of your products and so attract the attention of your customers. You have the possibility to create an unlimited number of messages according to conditions based on the sources, the quantities, and any product attributes.
You can create stock status messages for:
In stock products
Out of stock products
Backorders
You'll also be able to deeply customize each message using placeholders as well as the PHP API which gives you an unlimited field of actions.
Terminology
Sources Represent physical sites where the available products are stocked and shipped from. It can be warehouses, stores, wholesalers... See your sources from: Stores › Inventory › Sources
Source Item It is a source for a given product. Assign sources to your products from the Sources tab of any product page in: Catalog › Products
Stocks One stock can be linked to several websites and sources. See your stocks from: Stores › Inventory › STocks
Sales Channels Refers to a website. It can only be linked to one stock. See your websites from: Stores › Settings › ALL Stores
Salable Quantity It is the total virtual inventory that can be sold from a website. Check the salable quantity from: Catalog › Products
Reservations It is the number of products reserved and deducted from the salable quantity when customers add products to cart and pass their order. Check the quantities reserved from: Catalog › Products When an order is shipped, the quantity of reservations is reset and deducted from the quantities of the inventories of the appropriate sources.
Adopt the best way to manage your inventory with the MSI Suite
The MSI Suite includes several extensions. Each one responds to a problem and to a desire to improve Magento 2 default inventory management.
Thanks to these extensions that are completely plug and play, the MSI Suite easily adapts to your business model, whether you manage several warehouses, multi-stocks, dropshipping…
Perfect your inventory management and your selling process with the MSI Suite and enjoy:
optimal order management: optimize and automate the orders assignation to the appropriate sources. Save time and avoid human errors in your Magento 2 back office with MSI Order Management (available soon).
smoother and fine-tuned inventory management: gain considerable time while managing your inventory directly from the stocks grid and get a clear and accurate view of your products' availability thanks to the tree view with MSI Stock Managementand MSI Backorders.
team management under control: limit the access to your orders, products, and stock management for each source by assigning specific permissions to each user registered in your Magento 2 admin with MSI Permissions.
more transparent information on product availability: provide your customers with more information on your products' availability, carriers, or delivery times via completely customizable stock status messages with MSI Stock Status and MSI Custom Attributes.
How to use MSI Stock Status for Magento 2
You can start with configuring the front-end display of the MSI Stock Status extension from: Stores › Settings › Configuration › Wyomind › MSI Stock Status
Configure MSI Stock Status front-end display
MSI Stock Status gives you the possibility to display a stock grid on your front-end product pages as well as stock status messages in different places.
Configure the front-end display from: Stores › Settings › Configuration › Wyomind › MSI Stock Status › Front-end display
Stock status conditions
MSI Stock Status allows you to configure the stock status messages at different levels and according to your conditions.
From the Stock status conditions section, you will be able to:
Define an additional condition by clicking on the Add a condition button.
Delete a condition from the Action column.
Your conditions will be based on:
Sources Select one or more sources for that condition. Select all sources to apply a global stock status message or create a condition for each source to display specific stock status messages.
Quantity Define a range for the number of items for that condition. Leaving empty will not apply any condition on the quantity.
Product attributes You can select the product attributes to use for the stock status conditions. They must be select attributes. For example, if you have selected the color attribute, you will have the possibility to base your conditions on specific colors:
Then, define the Custom stock status message for that condition. You can use any placeholders and/or fixed texts, as well as HTML, CSS, and PHP codes in the messages.
You can create messages for:
In stock products
Backorders
Out of stock products
Custom in-stock messages
You can add a stock status message for in stock products.
For example:
{{product.quantity}} items available, order now!
Custom backorders messages
You have the possibility to add a message for backorderable products.
For example:
{{source.backordered_qty}} items on back order!
Custom out of stock messages
You can also add a stock status message for out of stock products.
For example:
Sorry, {{product.name}} is out of stock now.
Stock status display
The stock status messages can be displayed in different places.
You can use the saleable quantity for the qty placeholder to display the total saleable quantity in the product, cart, checkout and email messages.
If that option is disabled, the quantity displayed for the qty placeholder will be the quantity of the first store where the product is available.
Choose where you want the stock status messages to appear. You have the possibility to enable or disable the display of the stock status messages:
on the product page
on the cart page
on the checkout
in the order confirmation email
Product page
You can enable the stock status message on the product page. You'll also have the possibility to replace the default stock status on the product page.
Cart Page
Display the stock status message on the cart page.
Checkout
Display the stock status message in the checkout.
Order confirmation email
Display the stock status message in the order confirmation email.
Stock grid display
MSI Stock Status allows you to add the stocks grid on the product page. You can easily enable the stock grid feature as below.
Stock grid template
Define how you want the stores to appear in the stock grid from the Store template field.
You can add your own content to the store template using simple texts, placeholders as well as HTML, CSS, and PHP codes.
Lucky you, we have {{product.quantity}} items left!
{{product.any_attribute}}
You can use any attributes listed in: stores › attributes › products
For example:
At {{product.manufacturer}}, order this product now and receive it tomorrow!
SOURCE ATTRIBUTES
Below are the attributes you can use to retrieve information from the source.
{{source.name}}
This retrieves the name of the source.
{{source.source_code}}
This retrieves the code of the source.
{{source.contact_name}}
This retrieves the name of the contact for the source.
{{source.email}}
This retrieves the email address of the source.
{{source.phone}}
This retrieves the phone number of the source.
{{source.fax}}
This retrieves the fax number of the source.
{{source.country}}
This retrieves the country of the source.
{{source.state}}
This retrieves the state of the source.
{{source.city}}
This retrieves the city of the source.
{{source.street}}
This retrieves the street of the source.
{{source.postcode}}
This retrieves the postcode for the source.
Use additional placeholders
MSI Stock Status is fully compatible with other extensions from our MSI Suite. You can use the below extensions to customize the stock status messages, stock grid template and tooltip messages:
Store Locator Display all your stores on a Google map and create a unique page for each one of your offline stores.
Let your customers collect their orders from any of your stores when checking out.
MSI Backorders Easily switch from a global backorders management to management at the level of your sources and arrange backorders dates and quantities.
MSI Custom Attributes Brighten up the assignation of your products to the sources with any kind of custom fields.
Using the above extensions with MSI Stock Status, you will be able to enjoy additional attributes.
STORE LOCATOR ATTRIBUTES
In order to retrieve information from the sources when using Store Locator, you can use more placeholders.
{{source.image}}
This retrieves the image of the source.
{{source.street_2}}
This retrieves the address of the source.
{{source.days_off}}
This retrieves the days off for the source.
{{source.business_hours}}
This retrieves the opening hours of the source.
{{source.link}}
This retrieves the link to the store page.
CLICK & COLLECT ATTRIBUTES
In order to retrieve information from the sources when using Click & Collect, you can use another attribute.
{{source.fallback}}
Contains 0 or the code of the source used as a fallback when the product is not available in the main source.
For example:
<?php if ({{source.fallback}}) { return "The product will be sent from the ".{{source.fallback}}." source"; } ?>
MSI BACKORDERS ATTRIBUTES
When using MSI Backorders, you can use additional placeholders to retrieve information from the backorders.
{{source.backordered_qty}}
This will display the backordered quantity.
For example:
{{source.backordered_qty}} items coming soon!
{{source.backorders_date}}
This will display the date of return to stock.
For example:
New items coming soon: {{source.backorders_date}}
MSI CUSTOM ATTRIBUTES
If you are using MSI Custom Attributes, you can use the below format to retrieve any custom attributes that you have created.
{{source.custom_attributes}}
You can use any attributes that you have created using the MSI Custom Attributes extension from: Stores › Inventory › Stock Attributes
For example:
Order this item before {{source.cutoff}} and receive it tomorrow!
Use the PHP API
If you want to go further, MSI Stock Status allows you to fully customize your stock status messages by using PHP scripts in different ways.
Opening and closing tags
Every script must include the opening and closing PHP tags: <?php?>
For example:
<?php /* Your custom script */ return 'Is in stock'; ?>
Outputting a value
Use the return instruction to output any value in your message.
For example:
<?php return 'The product is not available'; ?>
Variable $product
Use $product to retrieve any information from the product.
For example:
<?php if ($this->getStoreCode()=="en"){ return "In Stock ".$product->getQty().", ".$product->getAnyAttributeCode(); }; ?>
Example
With Click & Collect, you have the possibility to define a fallback strategy.
If the source has no stock for the product, then quantities will be decreased from the fallback sources.
If this is the case for a source, then you can define specific stock status messages.
For example:
<?php
if ($source->getFallback()) {
return 'Available in store in 2 days';
} else {
return 'Available for pickup today';
}
?>
FAQ
Pre-sales informations
Magento versions supported by MSI Stock Status
This extension works with Magento Community Edition and also Magento Enterprise Edition. To know if MSI Stock Status is compatible with your Magento version, please check the Compatibility tab.
Advanced Inventory vs MSI Suite
Find in the below comparison table, the differences between the Advanced Inventory extension and the MSI Suite.
Advanced Inventory
MSI Suite
Magento versions
<v2.3, >= v2.3 (MSI disabled)
>= v2.3
Stock management by storeview
Manage product availability at the storeview level
(default is by website)
Backorders management
Backorders at warehouse/store/source level
Additional fields (back-ordered qty and backorder date)
Stocks display
Stock grid display on the product page
Stock status message on the product page
Stock status message in the cart
Stock status message in the checkout
Stock status message in the order confirmation email
Fully customizable messages
Widget integration
Additional custom fields in the product/source management
Text field
Date field
Number field
Dropdown field
Yes/No field
Stock management improvements
Grid view management
(qty only)
(all inventory fields, can be limited to a selection of fields)
Tree view summary in the product grid
Order management improvements
Automatic assignation
Shipping address-based assignation rule
Warehouse fallback assignation rule
Sources minimizer algorithm
Permissions management for admin users
Order level
Inventory level
Source level
Product level
Magento Open Source vs Magento Commerce vs Magento Commerce Cloud
Magento offers three variations of its product.
As their names have changed over the past few years, here is a recap:
Magento Open Source: previously Magento Community Edition (CE), is a free and non-hosted e-commerce platform.
Magento Commerce: previously Magento Enterprise (EE), is the paid version of Magento and offers support services.
Magento Commerce Cloud: is the paid version of Magento and offers support and hosting services.
What Magento Multi Source Inventory is
Since version 2.3, Magento includes new and expanded features for Inventory Management. These new features help to manage product quantities, source locations, configurations, and shipments.
Among Inventory Management features, you will find:
Different configurations for single and multiple sources management
Stocks for tracking available aggregated quantities through assigned sources
Shipment matching algorithms: Magento provides 2 algorithms based on the source priority and the distance priority that recommends how to fulfill partial and full shipments.
Magento Inventory Management introduces new terminology:
Sources Represent physical sites where the available products are stocked and shipped from. It can be warehouses, stores, wholesalers...
Source Item It is a source for a given product.
Stocks One stock can be linked to several websites and sources.
Sales Channels Refers to a website. It can only be linked to one stock.
Salable Quantity It is the total virtual inventory that can be sold from a website.
Reservations It is the number of products reserved and deducted from the salable quantity when customers add products to cart and pass their order. When an order is shipped, the quantity of reservations is reset and deducted from the quantities of the inventories of the appropriate sources.
Points of sale limitation on the Google map
There are some limitations with the Google Shopping API that allows to calculate the directions. Only the 24 closest locations can be calculated but all the points of sale will be displayed anyway in your Magento 2 online store.
License and domains
License validity
A license is valid for an unlimited period of time on one single installation
If you're using more than one installation, you will have to buy a separate license for each instance.
if you're running several domains on a same installation, you will need only one license for all of them.
Although your license doesn’t have a limited period of validity, your Support & Upgrade period does. By purchasing a module, you’ll be granted a 12-month support period for free. Passed this period, you will have to pay for a new one (see FAQ: Extend your Support period)
Domains pre-registration
You can pre-register your live domain to your license in advance.
Thanks to this option, you'll be able to get the module ready to use on your domain before it goes live.
To pre-register your production domain:
Go to: mY account › Licenses & DOwnloads
Click on the Settings icon next to the module you want your domain to pre-register on.
Click on the link at the bottom of the page saying: Do you want to pre-register your domain in order to be ready to go live?
Finally, enter your domain name and click on pre-register now .
Testing environments
One license is valid for an unlimited period of time on one installation only. However, it is possible to extend or transfer your license in 2 cases:
If you would like to add your testing environments to your license. In that case, it is possible to extend your license to an unlimited number of domains for free. For mywebsite-staging.com or mywebsite-dev.com
If you want to transfer your license to another live domain. In that case, the Support & Upgrade period for your license must still be active.
To be able to use MSI Stock Status on both your production and testing environments, follow the instructions below:
Install MSI Stock Status on your environment. (see FAQ: Modules installation in Magento or in WooCommerce)
Activate the license. (see FAQ: Licenses activation in Magento or in WooCommerce)
Also, if you are managing a large amount of domains, please contact us so that we can automatically whitelist these domains.
Modules versioning and download
Extensions download
In order to download MSI Stock Status, log into your Wyomind account:
Go to: my account › Licenses & downloads
Click on the settings icon next to MSI Stock Status.
A new window opens.
Click on the download icon.
Only the latest extension version released within your Support & Upgrade period is available. In order to get the very latest extension version make sure your Support & Upgrade plan is up to date.
Modules upgrade
When purchasing a module from wyomind.com, you benefit from 12 months of upgrade. Within this period you can at any time download the latest version of the module directly from your account.
To upgrade MSI Stock Status, follow the steps below:
Go to: my account › Licenses & Downloads
Click on the settings icon next to MSI Stock Status.
Click on the download icon.
Install the new version of MSI Stock Status in your Magento admin or your WooCommerce back-office.
Modules Installation/Uninstallation
Extensions manual installation
You can install MSI Stock Status manually.
Download MSI Stock Status (zip file) on: mY ACCOUNT › Licenses & Downloads Refer to the FAQ: Extensions download
Once MSI Stock Status is downloaded, open the folder and unzip it.
Copy the content of the unzipped folder and paste all files and directories in your Magento 2 root directory.
In your Command Line Interface, execute:
bin/magento setup:upgrade
If you are using a production mode, execute also:
bin/magento setup:static-content:deploy
bin/magento setup:di:compile
Extensions installation via Composer
You can install MSI Stock Status using Composer software in two cases:
if you purchased MSI Stock Status on Magento Marketplace.
if you purchased MSI Stock Status on Wyomind.com AND requested access to our repository: repo.wyomind.com
Add to your composer configuration our repository:
Extensions activation from the back-office of Magento
Once MSI Stock Status is installed, you have to activate the license. For previous versions, you can activate the license from your back-office:
Go to your Magento admin panel. A message pops up at the top of the page.
If the message doesn't appear then you must check that:
1. The Adminhtml_Notifications and Wyomind_Core modules are well enabled. 2. The HTML output of the Adminhtml_Notifications and Wyomind_Core modules are not disabled in: storesconfigurationadvanced advanced 3. The encryption key well exists in app/etc/env.php:
Copy your activation key in: Stores › Configuration › Wyomind › Your extension
You can find your activation key in 2 different places: - In the confirmation email that you received after purchasing MSI Stock Status. - In your Wyomind account: My account › Licenses & downloads Select MSI Stock Status and click on .
A new page opens where you'll find your activation key (see below).
In your Magento admin go to: Stores › Configuration › Wyomind › Your extension
Paste the activation key in the Activation Key field and choose between the automatic (yes) or the manual (no) activation method: - By choosing Yes, the connection to Wyomind license server will be automatic. - By choosing No, you will have to log on to Wyomind license server yourself.
Click on Save config .
A message appears at the top of your admin panel. Click on that link: Activate it now!
Copy and paste the license code in theLicense code field from your admin or simply click on Activate now!
Finally, refresh your cache, log out and log in back straight after, to complete the installation.
Add another domain to your license
To activate the license on another domain (test, staging...):
Once the extension is installed on the new domain, copy your activation key in: Stores › Configuration › Wyomind › Your extension
After having saved the configuration, a notification appears. Click on Add this domain to my license.
A transfer request will then be sent to our team within an hour. Once the request is taken care of, you will receive a confirmation email. If your transfer request is accepted, you can use MSI Stock Status on both environments at the same time.
Note that the order in which you activate your license on your domains does not matter. You can start with your staging/dev/local environment or with your live domain, the process will be the same.
Also, if you have loads of staging domains, or if you are an agency managing load of domains for your customers, please contact us so that we can automatically whitelist these domains.
Extensions activation from the CLI
Once MSI Stock Status is installed, you have to activate the license.
For this, you can use the below command line (change the Activation key with the corresponding value):
You will first need to create a new project with a name, an organization and a location.
To that project you will have to link some API's by clicking on Enable APIs and services .
From the library you will be able to add the services you want.
In order to use MSI Stock Status, you will need to enable the below APIs by clicking on Enable :
- Maps JavaScript API
- Geocoding API
- Distance Matrix API
- Directions API
When enabled, you'll be able to see the traffic, errors and latency for each API.
You should see all the enabled APIs from the APIs section.
From APIs & Services › Credentials, you will be able to create credentials. Click on Create credentials and then choose API key.
You'll also have the possibility to restrict your API key by websites, applications, IP addresses...
Once restricted or not, the API key will be listed among the credentials.
The final step for this to work is to link your account to a billing account from the Billing section.
User's reviews
R
Raizer96
Merchant · Italy · User for 5 years
★★★★★
Very nice extension
The msi stock inventory extension is really perfect for my necessity of show a custom message on my front end product page, very good the support of Wyomind very professional, fast and always available for help and suggest.
T
TravRay
Developer · United States · User for 6 years
★★★★★
Flexible way to display inventory in multiple warehouses
This extension does a nice job of showing this information to the customer in a flexible manner. Support has been very helpful as well! I am using their custom services to add some custom feature we need for our site, and their developers are knowledgeable, helpful, and respond quickly - even when the time zones are way off!
Magento 2 Compatibility
Supported by our master extension versions
2.4.8
2.4.7
2.4.6
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3
Changelog
5.0.5
Compatibility
Compatibility with PHP 8.3 and PHP 8.4
5.0.4
Bug fix
Avoid an error on simple products stock grid
5.0.3
Improvement
Add a font file to improve tooltip display
5.0.2
Bug fix
Avoid an error on stock status display when no rule is matched
5.0.1
Bug fix
Correct an error on bundle products display
5.0.0
Initial release for the master version
4.0.1 legacy
Bug fix
Correct an error on bundle products display
4.0.0 legacy
Initial release for the legacy version
3.0.3
Bug fix
Fix potential uninitialized property
3.0.2
Bug fix
Fix error of type: StockByWebsiteIdResolver::execute() must be of the type int, object given in Wyomind/MsiStockStatus/Helper/StockStatus.php
3.0.1
Compatibility
Compatibility with Magento v2.4.6 + PHP v8.2
3.0.0
Compatibility
Compatibility with Magento v2.4.6 + PHP v8.2
Improvement
Source order is taken into account on the product-page
2.5.6
Improvement
i18n translation files added
2.5.5
Bug fix
Prevent potential warnings due to uninitialized property
2.5.4
Improvement
Compatibility with the whole MSI Suite
2.5.3
Improvement
Compatibility with the whole MSI Suite
2.5.2
Improvement
Bundle products rely on the dummy source named "bundled" so that the rules may apply
2.5.1
Bug fix
Fix bundle product stock grid display
2.5.0
New feature
Ability to display the stock grid for bundle products
2.4.2
Bug fix
Fix rule merging
2.4.1
Bug fix
Missing files added
2.4.0
New feature
Ability to merge different sources for which the same rule applies in the product page grid
Improvement
Automatic license re-activating while running setup:upgrade
2.3.12
Php v8.1 compatibility improvement
2.3.11
Bug fix for product qty and minimum quantity, in specific cases the products were displayed as out of stock
Php v8.1 compatibility improvement
2.3.10
Fix for the stock status grid display
2.3.9
All associations of the child products of a configurable product are taken into account for the stock display on the configurable product front-end page
2.3.8
Fix for backorders
2.3.7
Improvement
Modification of the display of the global stock message for configurable products: the message indicating to configure the options of the configurable product remains displayed after loading the page
2.3.6
Fix for a bug when adding the stock message in the order email
2.3.5
Fix for the stock status message in the order confirmation email
2.3.4
Fix for a bug in the sales_order_place_before observer
2.3.3
Compatibility fix when there is no source available for click & collect in the checkout
2.3.2
Fix for the compatibility with CedCommerce Amazon/Fnac/Cdiscount
2.3.1
New event added for retrieving the sources to display in the product's stocks grid