CARVIEW |
Select Language
HTTP/2 200
date: Fri, 25 Jul 2025 20:55:00 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"9680b092488e5dd83538fea6d0464f7e"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=QIt5CtsG%2BGYj6uhv912zV3q22ytFkbAAnKMOGe2xsl2qkio8XKc5OLFtiLW%2FXfs0QBZC%2B3O9IcY56unZuRGRoi5IrlzBkkRbchM%2BrdWh7cOBW5Y7J3kN8eGsx1gRjU28xuigZY0FADGN7%2FJV5JELsbVHs14i3ZTaURunkD8hgTg6ytcu5FXfUBgjkojlRCMc1yhGt4bUDVQ371YypjlJpE1h2vprUY2cyLPd%2FRQSUZHisY%2FxW8WlLrenWOcXO8SHeWRKriG6PBOR5ugIxGGoFw%3D%3D--THS417c9UmVlhva9--JppAjeYxzfHuY8nCcV35Jw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1997051008.1753476899; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 20:54:59 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 20:54:59 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: A5FC:13875:BE5E5:103A07:6883EF23
MSI Roadmap · magento/inventory Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 254
MSI Roadmap
Stanislav Idolov edited this page Feb 27, 2020
·
203 revisions
Backlog which describes the deliverable state of Multi-Source Inventory project.
See current status on the Project Board
As Magento Inventory considered as a community-driven project - all the work implemented along the project will belong to Magento Open Source edition (former Magento CE).
There are 3 Milestones where we started investigation/design/coding:
- Milestone 1, Minimal Viable Product
- Milestone 2, Preparation for 2.3.0 Magento Release
- Milestone 3, New Inventory Configuration, B2B, Elasticsearch
- Milestone 4, Remove dependencies to CatalogInventory module
Story Size Estimation: S=1, M=3, L=10, XL=20
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
✅ | 1 | Introduce new API for Source Management | 28 | |
✅ | 1 | Provide Web API for Source Management | 26 | |
✅ | 3 | Manage multiple sources admin UI | 28, 37, 32 | |
✅ | 3 | Introduce APIs for products assignment to sources. SourceItem interface and its Repository. Cover source item management scenarios with Web API tests | 38, 36 | |
✅ | 1 | Read API. Stock interface and its management | 35 | |
✅ | 3 | Source assignment per each product Admin UI | ||
✅ | 1 | Sources to Stock assignment API | 39 | |
✅ | 1 | Admin UI for Sources to Stock assignment | 39 | |
✅ | 1 | Cover with WEB API all existing scenarios for SourceItem and Source to Stock linkage | 53 | |
✅ | 3 | New indexing of Inventory and creating Virtual Aggregated Stock Items based on linkage rules | 49 | |
✅ | 10 | Introduce Reservation API. Append only reservations | 64 | |
✅ | 3 | Implement runtime calculation of Stock Quantity taking into account the reservations happened | 94 | |
✅ | 3 | Implement Reservation Clean-Up | 94 | |
✅ | 3 | Default Source and Stock. Creation of Default Source and Stock for it. Including admin UI | 113, 121, 118, 122, 126 | |
✅ | 10 | Import/Export of Sources (new functionality + admin UI) | 147, 116 | |
✅ | 3 | Add Drop Shipping support | ||
✅ | 3 | Make Stock calculation and check availability services to support Backorders functionality | 156 | |
✅ | 3 | Multi Dimensional Index for Stock Inventory. Add support to invalidate all dimensions/some dimensions/partial update | 141 | |
✅ | 1 | Stock to Website mapping (with possibility of mapping to custom Sales Channels) | ||
✅ | 3 | Add Stock/Website mapping UI | 168, 173 | |
✅ | 1 | Stock Removal. Throw an exception and allow to delete just unassigned stocks | 171 | |
✅ | 1 | Website creation. We should assign Default stock to newly created website. | 165 | |
✅ | 3 | Add new index on Reservation which will update both OLD StockItem::Qty and StockStatus::Qty | 170 | |
✅ | 3 | Migration M1.X, M2.1.X -> MSI | 198 | |
✅ | 1 | Import/Export of products aware of Sources | 211 | |
✅ | 3 | Adapt OLD Cataloginventory StockItem to work through new Inventory interfaces | 198 | |
✅ | 3 | Adapt OLD Cataloginventory StockStatus to work through new Inventory interfaces | 198 | |
✅ | 3 | Checkout adaptation. Adapt CatalogInventory\StockItem configuration for Multi-Source purposes | ||
✅ | 3 | Substitute stock deduction on current checkout flow with Reservation placement. Async stock deduction | 295 | |
✅ | 3 | Admin part (order in admin panel). Substitute stock deduction in admin panel with Reservation placement | ||
✅ | 3 | Introduce Source Selection Algorithm extension point | ||
✅ | 3 | Add Source Code attribute, to provide an ability not to depend on internal Magento surrogate identity (SourceId). Fix Product and SourceItem import/export functionality, which currently use SourceId (Added to MVP backlog by request of Mark) | 307, 298 | |
✅ | 3 | Add Source Delivery awareness to Order page | 315 | Tickets |
✅ | 1 | Run Source Selection Algo by request on Order page | Tickets | |
✅ | 3 | Adapt Returns (SalesInventory). All returns should happen on Default Source | Tickets | |
✅ | 3 | Low Stock Notifications to Merchant on the level of source. | 321 | Tickets |
✅ | 1 | Product Alert for Customers on the level of stock Product Alert). | Tickets | |
✅ | 1 | Update Low Stock Report | ||
✅ | 5 | Adapt OLD CatalogInventory all other APIs | 269, 304 | Tickets |
✅ | 5 | Inventory Catalog Search | Tickets | |
✅ | 5 | Shopping Cart Update | Tickets | |
✅ | 3 | Simplest “By Priority” Algorithm implementation | Tickets | |
✅ | 1 | Processing of different order statuses. Reorder (close Reservation, create new Reservation) | ||
✅ | 1 | Processing of different order statuses. Cancel Order, Partial cancel | Tickets | |
✅ | 1 | Change qty on Invoice step of Order page | Tickets | |
✅ | 1 | Adapt All cache invalidation taking into account new extension points (new Inventory APIs) | ||
✅ | 3 | Make Source Selection Algorithm to be compatible with: Configurable product | ||
✅ | 3 | Update/Change source assignment in the existing orders | ||
✅ | 10 | Add MSI content to Merchant documentation | ||
✅ | 10 | Basic MFTF Test Coverage |
Milestone 2: Preparation for 2.3.0 Magento release, Group product type support, Mass Inventory re-assignment. Stabilization. 13th of July, 2018 - 16th of November, 2018.
Story Size Estimation: S=1, M=3, L=10, XL=20
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
✅ | L | Add Support of Multi-Sourcing for Grouped product | ||
✅ | L | Mass Inventory action (re-assign Source Items from/to different sources) | ||
✅ | S | Support Negative Threshold for Backorder functionality | ||
✅ | L | Prepare MSI for 2.3 Magento Release |
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
✅ | M | Full support of Multi-Sourcing in B2B edition | ||
✅ | M | Full support of Multi-Sourcing for Elasticsearch adapter | ||
🔃 | XL | Add Support of Multi-Sourcing for Bundle product | ||
✅ | L | “Minimal delivery cost” Algorithm (Geo Positioning Based source selection) (Using ZIP addresses open database) | 1866 | |
✅ | XL | MFTF Test Coverage of S0/S1 scenarios | Filter By Label | |
🔃 | XL | Store pickup support for Multi-Source Inventory | ||
✅ | L | Performance Improvements | 1937 | |
✅ | L | CLI tools for fixing corrupted reservations which affect Salable Quantity calculation | ||
✅ | S | MSI + Product GraphQL API integration | ||
✅ | M | Export aggregated stock data (Salable quantities and Stock status) |
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
M | Add an ability to assign additional sources to Default Stock (has dependencies on Bundle product support) | |||
M | Make Default Source/Stock switchable (has dependencies on Bundle product support) | |||
M | Drop existing CatalogInventory index and fully substitute it with new one provided by Inventory (has dependencies on Bundle product support) | |||
M | Performance improvements, cover MSI with PAT scenarious | |||
M | Assign Source Selector for Processing of Returns/Credit Memo |
Story Size Estimation: S=1, M=3, L=10, XL=20
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
S | Add ability to specify that Source has some type (aka Dropshipper) to apply it for source selection | |||
XL | Stock Item Configuration API | 1553 | ||
M | Reservation on the level of Source | |||
M | Stock Reservation by time (Shopping Cart reservation by time) |
- Eliminate EE functionality of ScalableInventory (S) (moved from MLS1)
- Configuration of the Shipping Options per source (M) (moved from MLS1)
- Product assignment per each source Admin UI (M) (Postponed)
- Improve modularity of Inventory. Make it agnostic to Sales, Checkout, Quote. (M)
- Integrate Source Selection Algorithm to Checkout process (XL)
Multi-Source Inventory developed by Magento 2 Community
- Technical Vision. Catalog Inventory
- Installation Guide
- List of Inventory APIs and their legacy analogs
- MSI Roadmap
- Known Issues in Order Lifecycle
- MSI User Guide
- 2.3 LIVE User Guide
- MSI Release Notes and Installation
- Overview
- Get Started with MSI
- MSI features and processes
- Global and Product Settings
- Configure Source Selection Algorithm
- Create Sources
- Create Stock
- Assign Inventory and Product Notifications
- Configure MSI backorders
- MSI Import and Export Product Data
- Mass Action Tool
- Shipment and Order Management
- CLI reference
- Reports and MSI
- MSI FAQs
- DevDocs Documentation
- Manage Inventory Management Modules (install/upgrade info)
- Inventory Management
- Reservations
- Inventory CLI reference
- Inventory API reference
- Inventory In-Store Pickup API reference
- Order Processing with Inventory Management
- Managing sources
- Managing stocks
- Link and unlink stocks and sources
- Manage source items
- Perform bulk actions
- Manage Low-Quantity Notifications
- Check salable quantities
- Manage source selection algorithms
- User Stories
- Support of Store Pickup for MSI
- Product list assignment per Source
- Source assignment per Product
- Stocks to Sales Channel Mapping
- Adapt Product Import/Export to support multi Sourcing
- Introduce SourceCode attribute for Source and SourceItem entities
- Assign Source Selector for Processing of Returns Credit Memo
- User Scenarios:
- Technical Designs:
- Module Structure in MSI
- When should an interface go into the Model directory and when should it go in the Api directory?
- Source and Stock Item configuration Design and DB structure
- Stock and Source Configuration design
- Open Technical Questions
- Inconsistent saving of Stock Data
- Source API
- Source WebAPI
- Sources to Sales Channels mapping
- Service Contracts MSI
- Salable Quantity Calculation and Mechanism of Reservations
- StockItem indexation
- Web API and How To cover them with Functional Testing
- Source Selection Algorithms
- Validation of Domain Entities
- PHP 7 Syntax usage for Magento contribution
- The first step towards pre generated IDs. And how this will improve your Integration tests
- The Concept of Default Source and Domain Driven Design
- Extension Point of Product Import/Export
- Source Selection Algorithm
- SourceItem Entity Extension
- Design Document for changing SerializerInterface
- Stock Management for Order Cancelation
- Admin UI
- MFTF Extension Tests
- Weekly MSI Demos
- Tutorials
Clone this wiki locally
You can’t perform that action at this time.