What and How of Multi-Source Inventory (msi) in Magento 2 Chapter 1

Updated 23 July 2018


Hello to all Magento 2 enthusiasts, as we all know that Magento is working on their Inventory management to work with multi source. That means if any Magento base eCommerce website is selling products in different country, So in this case it is some how mandatory to have different inventory for one particular product for different locations or source. MSI is the core solution of this use case for inventory management, and is currently in its beta phase and is available in Magento 2.3.0 version that will release in near future.

So in this part we are first going to understand, What exactly is Magento 2 Multi-Source Inventory, and later we will discuss how we can use this to solve multi location inventory issue.

MSI splits the product inventory between the sources within one Magento installation.

There are many benefits (business values) of MSI like :

  1. MSI provides management of all physical locations (Sources) and products stored there (Source items).
  2. Improves Checkout Performance (even for Single Stock Merchants).
  3. Import/Export Stock Data.
  4. Drop shipping support.
  5. Stock Control / Low stock reports.
  6. No additional complication for Single Stock Merchants

For information  about MSI overview you can follow the link below by Igor Miniailo who himself is in the core development team of MSI project.


Magento Multi-Source Inventory (MSI) from Igor Miniailo

Lets now dive deep into how to install MSI everything that we need to know about MSI.

MSI is supported in Magento Open Source v2.3-alpha and Magento Commerce v2.3-alpha. You can install a fresh Magento version or upgrade to v2.3-alpha and install the MSI extension. The MSI extension is installed by default in Magento v2.3-alpha.

So lets see how to install magento 2.3 step by step

Step 1 : You can download magento 2.3 from here https://github.com/magento-engcom/msi/tree/2.3-develop

Step 2 : After that you need to goto magento 2.3 root in terminal and run composer install. If your web server like apache is properly configured that every thing will be ok, else you have a long list of all dependency that is required for magento2.3, as this version wont support php 7.0 and their other extensions. So you stuck on errors then go with step 3.

Step 3 : To install php 7.2 you first need to update your repository, by running below mentioned command one by one .

apt-get update && apt-get upgrade

apt-get install python-software-properties

add-apt-repository ppa:ondrej/php

apt-get update

apt-get install php7.2

after that to check wheather php 7.2 is installed or not run this command php -v.

Step 4 : Install dependencies of php 7.2, run all the below mentioned command to install all dependies required for running magento2.3 and php 7.2

apt-get install php-pear

apt-get install php7.2-curl

apt-get install php7.2-dev

apt-get install php7.2-gd

apt-get install php7.2-mbstring

apt-get install php7.2-intl

apt-get install php7.2-soap

apt-get install php7.2-bcmath

apt-get install php7.2-zip

apt-get install php7.2-mysql

apt-get install php7.2-xml

after all dependencies and of php 7.2 you can again run composer install to complete the magento installation.

Step 5 : Magento is not installed yet its downloaded till previous step, to  install you first need to create new database in your phpmyadmin.

Step 6 : Run below command to setup sample data.

php bin/magento sampledata:deploy

you might ask for username and password, so you can get it from here https://marketplace.magento.com/customer/accessKeys/ by creating your account here you will get one private key and one public key, use them as credentials.

username will be your public key
password will be your private key

following this step will install you sample data into your magento2.3

Step 7 : Its the final step to install magento2.3

php bin/magento setup:install –db-host=[your-database host(localhost)] –db-name=[your-database-name] –db-user=[databse-usename] –db-password=[database-password] –base-url=[url-of-your-magento-store] –backend-frontname=[url-endpoint-of-your-admin] –admin-firstname=[firstname-of-your-admin] –admin-lastname=[lastname-of-your-admin] –admin-email=[admin-email] –admin-user=[admin-username] –admin-password=[admin-password]

Following all the above steps will install the magento2.3 with MSI on your server. For more detailed information stay tuned to our next Chapter.

You can also visit https://webkul.com/blog/introduction-to-magento2-multi-source-inventory/

for the MSI introduction.

Happy coding.

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*

Be the first to comment.

Start a Project

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home