Magento 2 Inventory Planner: Reorder and Overstock Forecasts

View Demo

This Magento stock planner extension automatically estimates when and how many products you need to restock while also detecting the presence of overstocked goods. It works from your Magento sales history, stock and supplier lead times, and shows how much money sits in stock with each supplier.

  • Forecast when and how much to reorder
  • Identify overstocked products
  • Set lead times per supplier
  • See stock value by supplier
  • Get to work immediately after installation
Marketplace Approved
Hyvä
Magento Cloud
WCAG
Mage-OS
Compatible with:
Community:
2.3.* - 2.4.9
Enterprise:
2.3.* - 2.4.9
Problem

Magento tracks how much stock you have, but it doesn't tell you when to reorder a product or how many units to buy. Planning in spreadsheets takes hours, and you still sell out of best sellers while slow products tie up money and warehouse space.

Solution

Inventory Planner forecasts the reorder date and quantity for every product from your Magento sales, stock and supplier lead times. It also shows which products are overstocked and how much money sits in stock with each supplier, right in the Magento admin.

What you get with Magento 2 Inventory Planner

  • Reorder date and quantity for every product
  • Overstock quantity for products that sell too slowly
  • Suppliers with their own lead times
  • Product groups with their own stock cover and overstock rules
  • Stock value per supplier, with a grand total
  • A 12-week forecast and stock change history on each product
  • Stock and saleable quantity per source, with Multi-Source Inventory (MSI)
  • Sales for 7, 30, 90 days or any periods you set
  • Export of every grid to CSV and Excel XML
  • Works out of the box with default settings

How the Forecast Works

The planner divides each product's sales over the last 90 days by the number of days to get its sales velocity: how many units you sell per day. From velocity and current stock it estimates when the product sells out. It then subtracts the lead time, the days a supplier needs to deliver, and recommends the date to place the order and the quantity that will cover the next stock cover period, 30 days by default.

The extension reads orders, stock and sources directly from Magento, so there's no separate system to connect. Only orders in the statuses you choose count as sales (Complete by default), minus refunded and canceled items. A product added recently is measured from its creation date, so its velocity isn't understated. See the configuration guide for every setting.

Inventory Reports

See every product's stock and sales in one grid

Main grid in Mirasvit Magento 2 Inventory Planner extension.

The Inventory grid shows stock, saleable quantity (stock minus units reserved by placed orders), sales velocity, days of stock and the reorder recommendation for each product. Filter it by SKU, name, stock status or a range in any numeric column, such as days of stock, and add your own product attributes as extra columns.

Reorder just enough at the right time

Replenishment grid in Mirasvit Magento 2 Inventory Planner module.

The Replenishment grid lists only the products you need to reorder, with the recommended quantity and the number of days left to place the order. Export it and use it as the basis for your purchase orders.

Find what ties up your money

Overstock grid in Mirasvit Magento 2 Inventory Planner extension.

The Overstock grid detects goods that sell too slowly and estimates how many units you hold beyond the stock you need. You'll know to promote these products more heavily and order fewer of them in the future.

See how much money sits in stock

For each supplier, the Stock Value grid shows the number of SKUs, units on hand and total stock value, which is quantity multiplied by product cost. A product supplied by two suppliers counts under each of them, while the grand total counts every SKU only once. The Inventory grid also has a Stock Value column with a total for the filtered products.

Suppliers and Product Groups

One lead time and one stock cover period rarely fit a whole catalog. Suppliers and product groups let you set them where they differ, and the forecast uses the most specific value.

Suppliers

Add your suppliers with their lead time and minimum order quantity, and assign products to them. A product can have several suppliers: the planner uses the one whose lead time still fits before the product sells out. Import and export suppliers with their products in a CSV file.

Product Groups

Group products that need the same rules, such as seasonal lines or fast movers, and give each group its own stock cover time, overstock time and overstock threshold. Groups can be imported and exported in a CSV file too.

Forecast and History on Each Product

12-Week Forecast

Open any product to see its projected sales and remaining stock week by week for the next 12 weeks, the week it runs out, and the recommended reorder date and quantity.

Stock Change History

Every change of the product's stock is recorded with its cause (an order, invoice, shipment, credit memo, import or manual update) and the user who made it. Separate tabs list the product's orders, with the price customers actually paid, as well as its invoices, shipments and credit memos.

Data in the Grids

Each recommendation comes with the data behind it, so you can check it before you place an order. The grids can show:

  • Stock quantity
  • Saleable quantity
  • Overstock quantity
  • Days until selling out
  • Sales velocity
  • Last sale date
  • Sales for 7/30/90 days or your own periods
  • Total sales
  • Price and cost
  • Stock value
  • Stock status
  • Replenishment quantity
  • Replenishment date
  • Lead time
  • Days of stock
  • Supplier and product group
Available columns in Mirasvit Magento 2 Inventory Planner module's grids.

Not every product that is currently in stock is available for sale: shoppers may have already reserved some of it. Next to the total stock quantity, the planner shows the saleable quantity, which is stock minus reservations. With Magento Multi-Source Inventory (MSI), both are shown for each source and summed for the product, and you can limit calculations to selected sources. Stores without MSI work the same way with a single stock.

Setup and Performance

Works Out of the Box

Forecasts appear right after installation with default settings: a 90-day sales history, a 14-day lead time and a 30-day stock cover. Set lead times per supplier and cover rules per group to make the plans precise.

Fresh Data Every Day

Forecasts are recalculated when products or stock change and in a nightly reindex. Press Update in the grid whenever you need an instant recalculation.

Built for Large Catalogs

The indexer processes products in batches and loads stock and sales for a whole batch at once, so large catalogs reindex quickly. Grids export in pages, and a CLI command runs the full reindex outside the browser. One of our customers manages over 50,000 SKUs with the planner, as they describe in their review.

Admin in 15 Languages

The admin interface is translated into 15 languages, including German, French, Spanish, Dutch, Polish and Japanese.

Know what to reorder, when and how much, without spreadsheets
No hidden fees
Our developers install the extension on your store and configure it for your setup, free of charge.
Lifetime access to source code
Access to free support and updates for 1 year
Updates and support prolongation - $102

Pay today $169 for the first year.

Then $102 for updates and support services per year.

Cancel anytime.

30 days money back guarantee
See it in action!
Pick a quick tutorial to learn about various aspects of this extension
Customer Reviews 9
Earn points for your review about this extension modules. $1 = 10 points
Write Your Own Review

check-circle You submitted your review for moderation.

Mark Verified Buyer
From United States
Using the module for over 2 years
Game-Changer for Large-Scale Inventory Management – Highly Recommended!
We’ve been using the Magento 2 Inventory or Stock Management Extension & Planner, and I can confidently say it’s one of the best investments we’ve made for our eCommerce operations. Managing over 50,000 SKUs used to be a daunting and error-prone task—but not anymore.

This extension has completely transformed how we handle stock levels. It enables us to efficiently monitor, plan, and replenish inventory, ensuring we never run out of high-demand products or end up overstocking slow movers. The intuitive interface and smart planning tools save us both time and money—every single day.

In addition, we’ve paired it with their Advanced Report extension, and the integration between the two is seamless. One of the most powerful use-cases we’ve implemented is the ability to generate low-stock reports per supplier and product group. These reports are fully customizable—with essential columns like product images, SKUs, and replenishment quantities—and can be securely shared with suppliers via unique links, giving them access only to their relevant data. This level of collaboration has dramatically improved our supply chain planning and vendor communications.

Both extensions together create a super robust, scalable, and professional-grade inventory planning experience. Highly recommended for anyone managing a large product catalog and looking to scale with efficiency.

5/5 Stars – Outstanding functionality, perfect support, and great ROI.
Also installed:
Follow Up Email,  Help Desk MX,  Improved Asynchronous Reindexing,  Reward Points,  Event Watcher & Notification,  Elastic Search Ultimate,  RMA and 18 more
Mike Verified Buyer
From Prague, Czechia
Using the module for over 2 years
Time-saving
This extension saves a lot of time when it comes to product procurement. You can also export replenishment to excel file, so it is easy to manage in your computer.
Also installed:
Google Tag Manager,  Improved Sorting,  GDPR,  Improved Asynchronous Reindexing,  RMA,  Fraud Detector,  Advanced Product Feeds and 7 more
mohamed Verified Buyer
From Bisha, Saudi Arabia
Using the module for 18 days
Excellent plugin
the plugin is really helpful to automate the replenishment and feeding stocks based on consumption while still you have to process the order manual it just relief you from doing a hell of manual jobs
Also installed:
Affiliate,  Follow Up Email,  Store Credit & Refund,  Advanced Product Feeds,  Google PageSpeed Optimizer,  RMA,  Advanced SEO Suite and 7 more
Max Verified Buyer
From Arlington, United States
Using the module for 10 days
Magento Stock Management Needs Help
Running efficient e-commerce requires dynamic optimization of stock. Store admins need more love in this area. The Inventory Planner module can address an apparent gap in the baseline Magento platform related to stock management.

The planner module is simple to operate. At the time of this review, it has only 5 screens: 2 configuration screens and 3 reports. The main purpose of the module is to allow the store admin to not only understand the low stock condition (trailing indicator), but also flip the game by giving dynamic stock projection (leading indicator) based on the actual sales performance. A powerful concept.

Once the admin understands stock projection, the module introduces a totally new Supplier entity for sourcing. This is needed to convert stock projections into reordering action. The Supplier entity permits multiple sources and (with a bit of creative rigging) nuanced and granular configuration per product. Another improvement area can be stock level alerts and profitability-based PO modeling.

This module is a welcomed addition to any Magento store dealing with restocking. Recommended for stores with larger stock variety and/or multiple suppliers.
Also installed:
RMA,  Help Desk MX,  Store Credit & Refund,  Elastic Search Ultimate,  Advanced SEO Suite,  Layered Navigation,  Improved Sorting and 15 more
kas Verified Buyer
From Ethiopia
Using the module for 12 days
Nice Module
This module allows you to manage your inventory and know when to replenish it. I like it.
Also installed:
Elastic Search Ultimate,  Customer Segmentation Suite,  Advanced Reports,  Fraud Detector,  Affiliate,  Product Kits ,  Advanced SEO Suite and 7 more
Manual & Support
Need more help?

Save time by starting your support request online and we'll connect you to an expert.

Frequently asked questions
chevron-down chevron-right

What exactly does the Inventory Planner module do?

Inventory Planner calculates how fast each product sells and, from that, predicts the date it will sell out, the date you should reorder it and how many units to order. It also finds overstocked products and shows how much money is tied up in stock with each supplier. All recommendations appear in grids in the Magento admin and can be exported to CSV or Excel XML.

chevron-down chevron-right

How does the extension forecast demand?

The forecast is based on sales velocity: the units sold over the sales history period, 90 days by default, divided by the number of days. Only orders in the statuses you select count as sales (Complete by default), and refunded and canceled items are subtracted. For a product added within that period, the planner divides by the days since its creation, so new products aren't understated.

Velocity is an average of recent sales, so the forecast doesn't predict seasonal peaks in advance. A shorter history period makes it react faster when demand changes. See the configuration guide for details.

chevron-down chevron-right

How is it different from Magento's built-in inventory management?

Magento's built-in inventory (MSI) stores stock per source, reserves units for placed orders and can list products below a fixed threshold in the Low Stock report. It doesn't calculate when to reorder or how much to buy. Inventory Planner adds that forecast on top of your Magento stock data, along with overstock detection, suppliers, product groups and stock value reports.

chevron-down chevron-right

Does it work with Multi-Source Inventory (MSI)?

Yes. With MSI, the planner shows the stock and saleable quantity of each source and sums them for the product. You can limit the calculations to selected sources in the settings. Stores that don't use MSI work the same way with a single stock.

The forecast and reorder recommendation are calculated for the product as a whole, not for each source separately. Inventory Planner doesn't manage warehouses: it doesn't move stock between sources or select a source for shipment.

chevron-down chevron-right

How are the reorder date and quantity calculated?

The planner divides the current stock by the sales velocity to get the days until the product sells out. The reorder date is that many days minus the lead time, the time a supplier needs to deliver. The recommended quantity covers the stock cover time, 30 days of sales by default, plus the sales expected before the order date.

Lead time is taken from the product's supplier, or from the global setting (14 days by default) if no supplier is assigned. Stock cover time is taken from the product's group or from the global setting. The exact formula is in the configuration guide.

chevron-down chevron-right

How is overstock calculated?

Overstock Time sets how many days of sales you are ready to keep in stock, 60 days by default. The overstock quantity is the current stock minus the sales velocity multiplied by Overstock Time. A product is shown as overstocked only when this surplus is larger than the Overstock Quantity Threshold, 5 units by default. A product with stock but no sales in the history period is shown with its whole stock as overstock.

Both values are global settings that you can override for a product group.

chevron-down chevron-right

Can I use different lead times and stock rules for different products?

Yes. Add suppliers with their own lead time and assign products to them; if a product has several suppliers, the planner uses the one whose lead time still fits before the product sells out. Put products into groups to give them their own stock cover time, overstock time and overstock threshold. Suppliers and groups can be imported and exported in a CSV file.

chevron-down chevron-right

Does the extension create purchase orders?

No. It recommends what to order, when and how many units. Export the Replenishment grid to CSV or Excel XML and use it to place orders with your suppliers in your usual way. A supplier's minimum order quantity is shown in the grids for reference.

chevron-down chevron-right

Is the inventory stock number of a product visible to the customer?

No. Inventory Planner works only in the Magento admin. Its stock numbers and forecasts aren't shown on the storefront.

chevron-down chevron-right

Can Inventory Planner be applied to products with a quantity measured in units other than pieces?

The extension tracks products by their stock quantity, which usually means individual items. It can't track goods sold by length, area or weight directly, but it works if your store uses one unit of measure as one quantity.

For example, fabric is measured in square meters. If your store counts 1 square meter as 1 unit of stock, Inventory Planner tracks it like any other product.

chevron-down chevron-right

Is it possible to find inventory data on a specific product?

Yes. Filter the grids by SKU, product name, stock status or a range in any numeric column, such as days of stock. You can also add your own product attributes as extra columns. Open a product to see its 12-week forecast, stock change history, orders, invoices, shipments and credit memos.

chevron-down chevron-right

How often is the data updated, and how does it handle large catalogs?

Forecasts are recalculated when products or stock change and in a full reindex every night. Press the Update button in the grid to recalculate immediately. The indexer processes products in batches, so large catalogs reindex quickly; for very large catalogs, run the full reindex from the command line with bin/magento mirasvit:inventory-planner:reindex instead of the Update button.

Changelog
Version 1.2.9Oct 12, 2026
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.
Version 1.2.8Oct 8, 2026
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.
⚠️ The observers StockChangeOnQuoteSubmitSuccessObserver and StockChangeOnCheckoutSubmitAfterObserver were identical and have been replaced by a single StockChangeOnOrderPlacedObserver. Custom code or events.xml overrides naming either of the old classes must be updated.
Version 1.2.7Jul 1, 2026
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 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.
Version 1.2.6Apr 21, 2026
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)
Version 1.2.5Apr 17, 2026
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.
Reasons to choose Mirasvit
Client focusing and satisfaction

These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.

Remarkable support

One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.

Risk-free Investment

30-days money back guarantee. If you are not satisfied with our extension performance for any reason, we provide a full refund.

Constant improvements and upgrades

We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.

Comprehensive Documentation

We provide an expanded user guide for every aspect of our extension, so you can find answers for all your burning questions.

Unencrypted source code of our products

You can customize extension according to your needs and requirements.

Usability and Performance

The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.

Ready for Magento Cloud

No core modifications. The extension has been tested in a Magento Cloud environment and is fully compatible with it.

Loading...