Advanced Stock Status

v1.4.3 Updated Aug 25, 2026

Advanced Stock Status

Priority-ordered rules deciding which custom stock status each product shows, per website, per customer group and per date window.
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
€159.00
Try the live demo
  • Updates and support included for 12 months
  • License key delivered immediately by email
  • 30-day money-back guarantee
  • Full documentation included
  • Composer-ready installation

"In stock" tells a customer almost nothing. "Only 2 left", "Back in stock on 14 March", "Made to order — ships in 3 weeks" tells them whether to buy now, and that is the difference between a sale and an abandoned basket. This module replaces Magento's single availability line with statuses you define yourself, assigned per product by rules you write once.

Rules use the same AND/OR condition builder as cart price rules, so there is nothing new to learn. Each rule points at an option of a dropdown attribute, so labels are translated per store view in Magento's own attribute screen — never in the module — and correcting a translation never means reindexing.

Who it's for

  • Merchants whose availability is more nuanced than in stock / out of stock: pre-orders, back-orders, made-to-order, supplier lead times
  • Stores replacing a third-party stock status extension, or paying a yearly licence for one
  • B2B catalogues where wholesalers and retail visitors must not read the same availability
  • Anyone running dated promises ("delivered before Christmas") that must expire on their own

Key benefits

  • Statuses that carry a number or a date — a label like "Only %1 left" is filled per product from the stock quantity or any product attribute, so one rule covers a whole catalogue.
  • Rules, not per-product data entry — priority-ordered conditions decide what each product shows; the lowest priority that actually applies wins, and a product matching nothing keeps Magento's own line.
  • Scoped where it matters — per website, per customer group and per date window. Windows and audiences are resolved as the page renders, so moving a date or reserving a status to wholesalers costs no reindex.
  • Always current — a real indexer subscribed to the stock and catalogue changelogs, so a status follows an order, an import or a return without the product ever being saved.
  • Cache-correct — the pages a changed status made wrong are dropped, and only those, so a rule edit reaches visitors immediately.
  • Colour, icon and placement — each status carries a colour and an icon from a closed set, on the product page and optionally on category and search listings.
  • Variant-aware — picking a swatch on a configurable swaps the status to that variant's, with no round trip to the server.

Compatibility

  • Magento 2.4.x / Mage-OS equivalent
  • PHP 8.1, 8.2, 8.3, 8.4
  • Requires wimakeit/module-core 3.0 or later
  • Luma and Breeze out of the box; add wimakeit/module-stock-status-hyva for Hyvä storefronts
  • Add wimakeit/module-stock-status-meilisearch when listings are rendered from Meilisearch
  • Compatible with Varnish and built-in Full Page Cache

Install this module via Composer. Make sure your auth.json is configured with your Wimakeit credentials.

Terminal
$ composer require wimakeit/module-stock-status:^1.4.3
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

Installation notes

The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.

Required Wimakeit dependency

PackageMinimumRole
wimakeit/module-core3.0shared configuration helpers

Optional companion modules

Install these alongside the main module when your storefront needs them. Neither replaces it.

PackageInstall it when
wimakeit/module-stock-status-hyvayour storefront runs on a Hyvä theme
wimakeit/module-stock-status-meilisearchyour category and search listings are rendered from Meilisearch

The status attribute

The module does not create an attribute. It reads the options of a dropdown product attribute you already own — which is what makes a migration from another extension a configuration change rather than a re-translation of every status.

Before creating a rule, make sure that attribute exists (custom_stock_status by default), is of type Dropdown, and has its options labelled in every store view. Options may carry a single %1 placeholder, which the rule fills per product.

Configuration

Stores → Configuration → Wimakeit → Stock Status

SettingDefaultNotes
Enable Custom Stock StatusYes
Status Attribute Codecustom_stock_statusthe dropdown attribute holding your statuses
Native Stock InformationAfterAfter shows the status beside Magento's own line, Replace puts it in its place — and only on products a rule actually matches
Show On Category ListingsNooff by default: a page of cards is read from the index in one query, but every card still has to be resolved and rendered

Scope: website and store view for all four.

Indexer

The module registers one indexer, Custom Stock Status (wimakeit_stock_status), subscribed to the stock and catalogue changelogs.

bin/magento indexer:set-mode schedule wimakeit_stock_status
bin/magento indexer:reindex wimakeit_stock_status

Update on Schedule is the mode to use: it is what makes a status follow an order, an import or a return without the product being saved. Magento's own indexer_update_all_views cron consumes the changelog — no extra cron to set up.

An Apply All button in the rule grid recomputes every rule immediately, for the case where cron is not running yet or a merchant wants the grid's match counts to be right now.

Permissions

ACL resourceGrants
Wimakeit_StockStatus::stock_statusthe Stock Status section of the admin menu
Wimakeit_StockStatus::rulelisting, creating, editing and deleting rules
Wimakeit_StockStatus::configaccess to the configuration section

Cache

Saving or deleting a rule drops the storefront pages showing its status. Nothing to flush by hand for an edit.

Save and apply additionally recomputes the rule against the catalogue and invalidates Page Cache and Blocks HTML, because a rule newly matching a product changes pages that carried no status before. The admin will show the usual "cache types are invalidated" notice — that is expected, and refreshing them from Cache Management completes the operation.

Version
v1.4.3
Support
12 months
Last updated
Aug 25, 2026
Magento
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
PHP
PHP 8.1 PHP 8.2 PHP 8.3
Hyvä
Not compatible
Package
wimakeit/module-stock-status

Compatibility checker

Pick your stack to see if this module fits.

Found a bug? Tell us about it.

A short form opens in a new tab — the module name and your language are already filled in. Share what you tried, what went wrong, and we will get back to you within one business day.

Report a bug for Advanced Stock Status
Module SKU: wimakeit-module-stock-status · Language: en_US

Need help?

Our team is available to assist with integration.

Contact us
Planifier un appel