Page | 2© 2017 Magento, Inc. Multi-Source Inventory
Page | 3© 2017 Magento, Inc. Igor Miniailo Magento Architect, Multi Source Inventory Community Engineering Team Eugene Tulika Magento Architect, Community Engineering Team
Omnichannel
Page | 5© 2017 Magento, Inc. Source: https://www.sparkpay.com/blog/What-is-omni-channel-retail
Page | 6© 2017 Magento, Inc. It’s impossible to build Omnichannel without Global Inventory
Page | 7© 2017 Magento, Inc. Split the inventory between the sources within one Magento installation. One Magento Installation
Inventory Architecture
Page | 9© 2017 Magento, Inc. Command/Query Responsibility Segregation (CQRS)
Page | 10© 2017 Magento, Inc.
Page | 11© 2017 Magento, Inc. Source Stock Sales Channels relation
Page | 12© 2017 Magento, Inc.
Inventory Source Selection During Checkout
Page | 14© 2017 Magento, Inc. Single Inventory Source Checkout Request items Ship items Shipping Address Source
Page | 15© 2017 Magento, Inc. Multiple Inventory Sources Checkout Source n Source 1 OrderItems 2 1 4 3 2 1 Shipping Address…
Page | 16© 2017 Magento, Inc. Selection of Inventory Sources • Match products to the Inventory Sources in the optimal way • Extensible and customizable – Different strategies possible for optimization 2 1 4 3 2 1 Source 1 Source n Source 2 …
Possible Strategies • Use first Inventory Source which has enough inventory to ship all order items • Use Inventory Source which is cheapest way for the customer and/or for the merchant • Use Inventory Source which will balance the load between sources, improve warehouse utilization • etc First by Priority Cheapest Warehouse Utilization etc
Inventory Source Selection Interfaces
Page | 19© 2017 Magento, Inc. Shipping Rate Calculations • Every source linked to the carriers. • Shipping Method available on checkout are determined based on the source carriers • If there are more than one shipping method needed to ship all items, the price of the shipping is a sum of all shipping methods • It is possible to use with the flat rate shipment 2 1 4 3 2 1
Page | 20© 2017 Magento, Inc. Order Fulfillment With Multiple Sources
Building Feature With the Community
Page | 22© 2017 Magento, Inc. Community Collaboration . Kanban board and Wiki are on the GitHub
Page | 23© 2017 Magento, Inc. Write a note to engcom@magento.com to join #msi slack channel Slack to Exchange ideas
Page | 24© 2017 Magento, Inc. • Decomposing the large feature into small stories – Investigation of the needed APIs – Documentation on the integration points and needed refactoring – Clarification of the requirements with PO and architecture council – Continuous work with the team on tasks and stories • Guiding Developers: – Onboarding on the project – Continuous discussions in the slack and web conferences – Weekly meetings – Status updates Community Engineering Architects Decomposing Stories, guiding Developers
Page | 25© 2017 Magento, Inc. • Fun work with the core platform team • Feature requested by number of clients • Different tasks: – some are small enough to do in couple days – some are big enough to be significant feature by itself • Footprint in the Magento Core Get engaged: engcom@magento.com Participating in Community Project
Page | 26© 2017 Magento, Inc. 2 pull requests with the new features for MSI #MLUK17 Contribution Day @davidselo David Selo davidselo @anna_styczen Anna Styczen astyczen @kieronmthomas Kieron Thomas kieronthomas @jonfres Jose Antonio de la Cruz jonfres
Page | 27© 2017 Magento, Inc. Challenges • Build CQRS architecture which will segregate Virtual Stocks from Physical ones. • Efficient Source Selection Algorithms. Algorithm which assigns the particular inventory to the order item. “Minimal Delivery Cost” should not impact checkout performance drastically. • Performance. Sync vs Async – Algorithm – Synchronization with PIM and ERP • Magento as a global inventory control system. Reservation API.
Community Engineering Team: Igor Miniailo @iminyaylo iminiailo@magento.com Eugene Tulika @vrann etulika@magento.com Thanks y’all!

Multi Source Inventory (MSI) in Magento 2

  • 2.
    Page | 2©2017 Magento, Inc. Multi-Source Inventory
  • 3.
    Page | 3©2017 Magento, Inc. Igor Miniailo Magento Architect, Multi Source Inventory Community Engineering Team Eugene Tulika Magento Architect, Community Engineering Team
  • 4.
  • 5.
    Page | 5©2017 Magento, Inc. Source: https://www.sparkpay.com/blog/What-is-omni-channel-retail
  • 6.
    Page | 6©2017 Magento, Inc. It’s impossible to build Omnichannel without Global Inventory
  • 7.
    Page | 7©2017 Magento, Inc. Split the inventory between the sources within one Magento installation. One Magento Installation
  • 8.
  • 9.
    Page | 9©2017 Magento, Inc. Command/Query Responsibility Segregation (CQRS)
  • 10.
    Page | 10©2017 Magento, Inc.
  • 11.
    Page | 11©2017 Magento, Inc. Source Stock Sales Channels relation
  • 12.
    Page | 12©2017 Magento, Inc.
  • 13.
  • 14.
    Page | 14©2017 Magento, Inc. Single Inventory Source Checkout Request items Ship items Shipping Address Source
  • 15.
    Page | 15©2017 Magento, Inc. Multiple Inventory Sources Checkout Source n Source 1 OrderItems 2 1 4 3 2 1 Shipping Address…
  • 16.
    Page | 16©2017 Magento, Inc. Selection of Inventory Sources • Match products to the Inventory Sources in the optimal way • Extensible and customizable – Different strategies possible for optimization 2 1 4 3 2 1 Source 1 Source n Source 2 …
  • 17.
    Possible Strategies • Usefirst Inventory Source which has enough inventory to ship all order items • Use Inventory Source which is cheapest way for the customer and/or for the merchant • Use Inventory Source which will balance the load between sources, improve warehouse utilization • etc First by Priority Cheapest Warehouse Utilization etc
  • 18.
  • 19.
    Page | 19©2017 Magento, Inc. Shipping Rate Calculations • Every source linked to the carriers. • Shipping Method available on checkout are determined based on the source carriers • If there are more than one shipping method needed to ship all items, the price of the shipping is a sum of all shipping methods • It is possible to use with the flat rate shipment 2 1 4 3 2 1
  • 20.
    Page | 20©2017 Magento, Inc. Order Fulfillment With Multiple Sources
  • 21.
    Building Feature Withthe Community
  • 22.
    Page | 22©2017 Magento, Inc. Community Collaboration . Kanban board and Wiki are on the GitHub
  • 23.
    Page | 23©2017 Magento, Inc. Write a note to engcom@magento.com to join #msi slack channel Slack to Exchange ideas
  • 24.
    Page | 24©2017 Magento, Inc. • Decomposing the large feature into small stories – Investigation of the needed APIs – Documentation on the integration points and needed refactoring – Clarification of the requirements with PO and architecture council – Continuous work with the team on tasks and stories • Guiding Developers: – Onboarding on the project – Continuous discussions in the slack and web conferences – Weekly meetings – Status updates Community Engineering Architects Decomposing Stories, guiding Developers
  • 25.
    Page | 25©2017 Magento, Inc. • Fun work with the core platform team • Feature requested by number of clients • Different tasks: – some are small enough to do in couple days – some are big enough to be significant feature by itself • Footprint in the Magento Core Get engaged: engcom@magento.com Participating in Community Project
  • 26.
    Page | 26©2017 Magento, Inc. 2 pull requests with the new features for MSI #MLUK17 Contribution Day @davidselo David Selo davidselo @anna_styczen Anna Styczen astyczen @kieronmthomas Kieron Thomas kieronthomas @jonfres Jose Antonio de la Cruz jonfres
  • 27.
    Page | 27©2017 Magento, Inc. Challenges • Build CQRS architecture which will segregate Virtual Stocks from Physical ones. • Efficient Source Selection Algorithms. Algorithm which assigns the particular inventory to the order item. “Minimal Delivery Cost” should not impact checkout performance drastically. • Performance. Sync vs Async – Algorithm – Synchronization with PIM and ERP • Magento as a global inventory control system. Reservation API.
  • 28.
    Community Engineering Team: IgorMiniailo @iminyaylo iminiailo@magento.com Eugene Tulika @vrann etulika@magento.com Thanks y’all!

Editor's Notes

  • #6  omni-channel is defined as a multichannel sales approach that provides the customer with an integrated shopping experience. 
  • #10 EAV and Flat tables