How To

How to Solve the Issue of Product with Salable Qty 0 is not considered Out of Stock in Magento 2?

Hello Magento Friends,

Today I am going to solve the issue of product salable quantity 0 being shown in stock in Magento 2.

Preserving customer faith in your store is extremely important. Managing inventory and displaying the correct quantity status to customers is significant to provide a better user experience. Admin can immediately get the list of products that are out of stock and accordingly add more quantity by integrating Out of Stock Products List Extension for Magento 2.

At times Magento 2 store owners face issue of quantity availability showing in stock even if the salable quantity is 0. This has a negative experience on your store customers. So, when the salable quantity becomes 0 it should show out of stock in the frontend to customers in Magento 2.

Let’s see how you can solve the issue of a Product with a Salable Qty 0 not considered Out of Stock in Magento 2.

Steps to Solve the Issue of Product with Salable Qty 0 is not considered Out of Stock in Magento 2:

Step 1: Create default.phtml in the below path

app\design\frontend\Themes\Yourtheme\Magento_Catalog\templates\product\view\type\

Now add the below code

<?php /* @var $block \Magento\Catalog\Block\Product\View\AbstractView */?>
<?php $_product = $block->getProduct() ?>
<?php
$stockstate = \Magento\Framework\App\ObjectManager::getInstance()->get('\Magento\InventorySalesApi\Api\GetProductSalableQtyInterface');
$sale_qty = $stockstate->execute($_product->getSku(), 1);
?>

<?php if ($block->displayProductStockStatus()): ?>
    <?php if ($_product->isAvailable() && $sale_qty > 0): ?>
        <div class="stock available" title="<?php /* @escapeNotVerified */ echo __('Availability') ?>">
            <span class="label"><?php /* @escapeNotVerified */ echo __('Availability:') ?></span>
            <span><?php /* @escapeNotVerified */ echo __('In stock') ?></span>
        </div>
    <?php else: ?>
        <div class="stock unavailable" title="<?php /* @escapeNotVerified */ echo __('Availability') ?>">
         <span class="label"><?php /* @escapeNotVerified */ echo __('Availability:') ?></span>
            <span><?php /* @escapeNotVerified */ echo __('Out of stock') ?></span>
        </div>
    <?php endif; ?>
<?php endif; ?>

Results:

Once you apply the above code, the stock availability status in the frontend shows properly based on the scalable quantity in the backend.

Admin Catalog Product Grid

Frontend Product View Page

Conclusion:

As simple as that! Try out the above solution to figure out the issue of Product with Scalable Qty 0 is showing in stock in Magento 2. For any help, you can freely reach out to us via the comment box.

If you found the solution useful, share it with your friends and colleagues. Stay in touch with us for more.

Happy Coding!

Click to rate this post!
[Total: 5 Average: 5]
Dhiren Vasoya

Dhiren Vasoya is a Director and Co-founder at MageComp, Passionate 🎖️ Certified Magento Developer👨‍💻. He has more than 9 years of experience in Magento Development and completed 850+ projects to solve the most important E-commerce challenges. He is fond❤️ of coding and if he is not busy developing then you can find him at the cricket ground, hitting boundaries.🏏

View Comments

  • This would only work for the product page, not anywhere else it is shown - category grids, widgets, etc.

    • Yes this code is for product view page only. If you want to show on other pages like category, search etc. then just do same code into respective files.

  • Hello,

    I tried your solution and it seems to work only in the product page, in category view the products still are listed as "in stock". Is there any way to apply also in the product grid?

    Thanks in advance,
    Jon

  • If the backorder is enabled then you need to modify the code according to your requirements what you want to show.

Recent Posts

How to Delete Product Variant in a Shopify Remix App using GraphQL Mutations?

Managing a Shopify store efficiently involves keeping your product catalog organized. This includes removing outdated…

3 hours ago

6 Innovative Tools Revolutionizing E-Commerce Operations

E-commerce has transformed the way consumers shop for products and services and interact with businesses.…

2 days ago

How Upcoming Cookie Changes Will Affect Your E-commerce Website?

The e-commerce world is constantly in flux. New tech and strategies emerge daily to help…

2 days ago

Magento 2: How to Add Header and Footer in Checkout

Hello Magento Friends, In today’s blog, we will discuss adding a header and footer to…

3 days ago

Understanding Flexbox Layout in React Native

Hello React Native Friends, Building a visually appealing and responsive mobile app is crucial in…

5 days ago

HYVÄ Themes Releases: 1.3.6 & 1.3.7 – What’s New

We have brought exciting news for Magento store owners. Hyvä Themes recently released 1.3.6 and…

5 days ago