I have Magento setup version 2.3.1

in normal Magento flow if salable qty is > 0 then the product will show in frontend else hide it. This functionality is working correctly after Magento version 2.3.3 but in Magento 2.3.1 it is not working.

In Magento2.3.1 if salable qty is 0 and qty is 1 still the product showing on the frontend is wrong. Need to hide that product from the front end.

I found some solutions like "Disable the MSI module", "upgrade the version", etc.

I can't update the version or not able to disable the module of MSI.

Is there any other solution? anyone has then please share.

enter image description here


Since the quantity is decreased only when you ship the order (until then it's just 'reserved'), you could create the shipment on the order in order to align the saleable qty with the product qty.

  • in that manner, the salable qty becomes -1 and default qty remains 1. @Diana Botean Thanks for your response. Apr 16 '21 at 13:26
  • not sure what you mean by default qty, but say you have a product with stock qty = saleable qty = 1. you create the order and then the qty remains 1 and saleable qty = 0 (you have 1 reservation). you create the shipment and then you should have stock qty = saleable qty = 0. Apr 16 '21 at 13:27
  • please check the question is updated. Apr 16 '21 at 13:39
  • you have to start with the scenario where both saleable qty and stock qty = 1. and i am not sure what you are showing me, i see a 1 vs -1 and a 0 = 0 case. Apr 16 '21 at 13:41
  • Boten I want to show you that. if my qty and salable qty both are 0 but still that product is showing as a swatch in frontend. also, that child product is out of stock. but still showing on the frontend as an option. any idea about it? Apr 16 '21 at 13:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.