Changelog
1.2.12 (2026-10-30)
Improvements
- ⚠️ The inventory grid collection (
Mirasvit\InventoryPlanner\Model\ResourceModel\Inventory\Grid) no longer takes theJsonconstructor argument and now takesMetadataPool. Custom code that extends this class or passes its constructor arguments indi.xmlneeds updating; runsetup:di:compileafter upgrading.
Fixed
- Fixed attribute filters and columns on the Inventory, Replenishment and Overstock grids: a range filter (for example, price from–to) now applies both bounds instead of only the upper one, a filter with several conditions applies all of them, and columns or filters added after the grid has loaded are now shown and applied instead of being skipped or joined twice. This also holds on stores running Magento's application server, where the grid now starts each request with only the columns that request asks for.
- Fixed "not equal", "not like" and similar negative filters on product attributes leaving out products that have no value for that attribute. Filtering for an empty value now finds them too.
- Fixed the inventory grids on Adobe Commerce matching product attributes (name, thumbnail, status, attribute columns and filters) to the wrong product rows. They now show and filter by the version of the product that is currently in effect.
- Fixed products deleted through a CSV product import (the Delete behaviour, or the first step of Replace) staying in the planner until the next full reindex when the indexer runs on Update on Save. They were listed without a SKU or name and counted in the grid totals and in Replenishment and Overstock; they are now removed with the import.
- Fixed deleting a product leaving its supplier and product group assignments behind, so a product created later with the same ID inherited them. Assignments go with the product on an admin delete, a CSV import delete and a reindex, and a full reindex also clears those left by products deleted before this update. Disabled products keep their assignments.
1.2.11 (2026-10-26)
Improvements
- Added compatibility with Mirasvit Core 2.x, so the extension can be installed alongside modules that already require it.
Fixed
- Fixed saving a supplier without expanding its "Assign Products" section removing all of the supplier's products. Products now change only when the assignment is actually submitted; product groups follow the same rule.
- Fixed large suppliers and product groups losing products: only about the first 1 KB of product IDs was read, so the rest went missing from the planner index and CSV export, and a cut-off ID could even match the wrong product.
- Fixed the supplier and product-group grids leaving out suppliers and groups that have no products yet in their totals and paging.
- Fixed products that need no replenishment being shown as needing to be reordered right away. Products due for replenishment only after the cover period now keep their replenishment date, with no quantity to order within the period.
- Fixed a deleted product, or one changed to a configurable, bundle or grouped product, keeping its row in the planner until the next full reindex.
- Fixed the inventory grid failing with a "cannot define a correlation name more than once" error when moving to the next page while a product attribute column is shown.
- Fixed the inventory, replenishment and overstock grids not offering a Status filter while the Status column was hidden. Status is now always available next to the SKU and Name filters, and its labels are translated.
- Fixed supplier and group CSV import showing an error page when the file failed to upload (for example, larger than the server's upload size limit). The import page now says the file was not uploaded and names the size limit.
- Fixed saving a supplier or product group with a required field missing showing an error page. The form now names the missing fields and returns to the edit page.
- Fixed reading, deleting and re-saving stock change history records through the API failing with a database error, and listing them by search criteria always failing. Requesting an unknown record now returns a proper "not found" error.
1.2.10 (2026-10-22)
Fixed
- The stock-change history now links each change to the order, invoice, or credit memo that actually caused it, instead of carrying the last document's name onto later changes.
- A stock change is no longer recorded twice when its quantity matches one already recorded in the same action.
- A product's assigned suppliers are now picked up the first time the product is indexed.
- Reindexing no longer overwrites supplier and product-group assignments an admin has changed by hand.
- Stock changes made through multi-source inventory now update the planner for the products that actually changed.
- Stock quantities no longer carry over between products while indexing, and products you have deleted are skipped.
- The inventory grid now shows the per-source "Is In Stock" column again.
- Exporting the inventory grid to Excel no longer runs out of memory on large catalogues.
- Access to the supplier and product-group grids, the Inventory, Replenishment and Overstock report pages, and the grid exports now follows each admin user's own permissions.
- Opening a supplier or product group that no longer exists now shows a Not Found page.
1.2.9 (2026-10-12)
Fixed
- Fixed importing suppliers and groups from a CSV file failing on PHP 8.4 and newer, where a stricter CSV parser stopped the upload from completing.
- Fixed selecting a product by clicking its row in the supplier and group product grids when the product name contained special characters.
1.2.8 (2026-10-08)
Fixed
- Fixed Checkout with Multiple Addresses failing on the last step, so no order could be placed that way at all while the extension was enabled. Stock changes made by a multishipping order are now recorded against each of the orders it creates, instead of none of them.
- Fixed the inventory grid saving inline edits without checking whether the admin user had permission to make them.
- Fixed exporting the inventory grid to CSV loading every row into memory at once, which could exhaust it on a large catalogue. The export is now read in pages.
- Fixed importing suppliers and groups from a CSV file reading the header row by position, so a file whose columns were in a different order was imported into the wrong fields.
- Fixed the module demanding Magento's Multi-Source Inventory interfaces when it is wired up, which is optional; stores running legacy stock are unaffected.
Improvements
- ⚠️ The observers
StockChangeOnQuoteSubmitSuccessObserverandStockChangeOnCheckoutSubmitAfterObserverwere identical and have been replaced by a singleStockChangeOnOrderPlacedObserver. Custom code orevents.xmloverrides naming either of the old classes must be updated.
1.2.7 (2026-07-01)
Features
- Stock Value by Supplier grid — a new page under Catalog → Inventory Planner → Stock Value by Supplier lists, for each supplier, its SKU count, units on hand, and total stock value. A SKU supplied by more than one supplier is counted in full under each of them, and SKUs with no supplier are grouped into an "Unassigned" row; a separate grand total counts every SKU only once so it can't be inflated by the per-supplier overlap. The grid can be filtered by supplier and exported to CSV/Excel.
- Stock Value column on the Inventory grid — an optional, sortable "Stock Value" column (units on hand × unit cost) with a footer total for the currently filtered products. Products with no cost set are left blank instead of being counted as zero, so they no longer skew the total.
Fixed
- Fixed a fatal error when exporting an Inventory Planner grid (e.g. Inventory, Supplier) to CSV/Excel before its columns had ever been customized, such as right after installing the module.
- Fixed an error that could abort native MSI stock source imports. When a stock CSV included SKUs that no longer exist in the catalog, the import stopped with a "Maximum error count has been reached" message and nothing logged. These unknown SKUs are now skipped (with an info-level log entry), so the import completes normally.
1.2.6 (2026-04-21)
Improvements
- Added i18n support for 15 core locales (ar_SA, cs_CZ, de_DE, es_ES, fr_FR, it_IT, ja_JP, nl_NL, pl_PL, pt_BR, pt_PT, sv_SE, tr_TR, uk_UA, zh_Hans_CN)
1.2.5 (2026-04-17)
Features
- Configurable sales period windows — the "Sold Qty" time windows shown in Inventory Planner grids are now configurable. Go to Stores → Configuration → Inventory Planner → Forecast Settings → Sales periods and enter any comma-separated list of day counts (e.g.
7,30,90,180). Default is 7, 30, and 90 days. Useful for tracking slower-moving inventory with longer windows. - Sold Price column in order history — the order history grid on each product's inventory detail page now shows the actual per-unit price paid (including tax) in the order's currency. This lets buyers see what customers actually paid per unit, rather than relying on current catalog prices.
1.2.4 (2026-04-02)
Improvements
- Faster re-indexing for large catalogs — the inventory indexer now uses bulk database operations throughout: products are loaded and saved in batches of 500, stock levels and reservations are fetched in a single query per batch (previously one query per SKU), and sales data for all time windows (7-day, 30-day, 90-day, all-time) is retrieved in one query instead of five. Stores with thousands of products will see significantly shorter re-index times.
1.2.3 (2025-08-04)
Fixed
- Issue related to missing product attribute values in inventory grids
1.2.2 (2025-07-25)
Fixed
- Fixed the issue with data generation from performance toolkit profiles in EE
1.2.1 (2025-07-10)
Features
- Added the ability to import/export suppliers and product groups
Improvements
- Added product group column to inventory planner grids
1.2.0 (2025-06-17)
Improvements
- WCAG 2.2 AA compliance
1.1.18 (2025-04-16)
Fixed
- Issue related to a violation of strict type checking rules
1.1.17 (2025-04-15)
Fixed
- Compatibility with PHP 8.4
1.1.16 (2025-04-03)
Features
- Added inventory stock changes history
1.1.15 (2024-06-25)
Improvements
- Added a Product ID column to grids
1.1.14 (2024-04-19)
Improvements
- Added inventory indexer
1.1.13 (2023-05-02)
Improvements
- Ability to hide extra columns to improve performance
- Added additional checks to avoid creating extra rows in the mst_inventory_planner_supplier_product table
1.1.12 (2023-03-27)
Fixed
- Number of sales
1.1.11 (2022-12-30)
Fixed
- Issue with ACl for adding products to a group or supplier.
1.1.10 (2022-12-29)
Fixed
- Acl title
1.1.9 (2022-12-16)
Fixed
- Removed grouped products
1.1.8 (2022-11-24)
Features
- Product groups
1.1.7 (2022-11-15)
Improvements
- Option to enable/disable the display of disabled products
1.1.6 (2022-08-25)
Fixed
- Compatibility with Magento 2.4.4
1.1.5 (2022-08-16)
Fixed
- Only enabled products are processed
1.1.4 (2022-08-01)
Features
- Ability to select order statuses for calculation
1.1.3 (2022-07-14)
Fixed
- Filter by Status
1.1.2 (2022-06-27)
Improvements
- Export visible columns
1.1.1 (2022-06-20)
Improvements
- remove db_schema_whitelist.json
1.1.0 (2022-05-25)
Improvements
- Migrate to declarative schema
1.0.15 (2021-12-30)
Features
- Ability to assign one product to several suppliers
1.0.14 (2021-11-01)
Improvements
- Updated "Sales Velocity" calculation formula. Now the metric related to forecast time or product creation time
1.0.13 (2021-10-25)
Improvements
- Added SKU column
1.0.12 (2021-10-21)
Fixed
- Compatibility with Magento 2.3.0-2.3.2
1.0.11 (2021-10-20)
Improvements
- Added export
1.0.10 (2021-07-27)
Improvements
- Added ability to choose allowed sources for calculations
1.0.9 (2021-06-30)
Improvements
- Added cronjob to reindex data every day
1.0.8 (2021-05-13)
Fixed
- Compatibility issue with Magento Enterprise
1.0.7 (2021-04-26)
Improvements
- Added Saleable Qty columns
1.0.6 (2021-04-22)
Improvements
- Added Name to the filter
1.0.5 (2021-04-19)
Fixed
- QTY to Salable QTY
1.0.4 (2021-03-01)
Improvements
- Multi-stock
1.0.3 (2021-02-09)
Fixed
- Issue with joining product attributes
1.0.1
(2021-02-09)
Improvements
- Ability to display columns in the grid and filter by product attributes
1.0.0
(2021-01-12)
Improvements
- Initial Release