Place and order, issue an invoice (tested using Check /Money order payment method, so manually issue invoice), product stock quantity does not decrement by order amount
Expected result (*)
Product inventory to be reduced by ordered amount
Actual result (*)
Product quantity does not decrement by order amount
Discussion
I'm guessing this is because Manage Stock is set to No. But I don't know if this is by design or a bug. I'd say current conditions of documentation and the Admin UI design imply it is a bug.
Documentation does not state this is affected by Manage Stock setting:
Also the UI for these settings doesn't have the Decrease Stock When Order is Placed setting nested under the Manage Stock setting and doesn't become disabled when you set Manage Stock to No. Hence the UI does not indicate that this behavior is by design.
Further, the case to have this work, even though Manage Stock is set to No is that when using a third party inventory management system, it is stated you should set the Manage Stock setting to No. However, to not have it automatically decrement the product quantity on sale creates undo work for the third party app and additional API overhead, system resources, etc, for something Magento could automatically do with a few lines of code change (if that). Why? because now the 3rd party inventory management tool needs to
decrease new order polling time to a window that you are ok with assuming no one will order the last unit. i.e. once an order is placed for the last unit, the website will still allow the next person to buy it as the qty hasn't been decremented by Magento. If Magento decremented the inventory, maybe it is ok for the 3rd party app to poll for new orders every 15 min. But if Magento does not, we'd need to poll maybe every minute to prevent this situation.
Further, we need to then post an inventory adjustment real time, not in batch. Conversely, if Magento decremented the inventory, we wouldn't need to post inventory updates but once a day perhaps.
As such, due to the fact that Magento is not decrementing the product qty on sale results in 15 times the otherwise required order api requests, plus infinitely more inventory update posts. The number of orders and timing thereof would dictate this, but a feasible inventory update would be daily if Magento decremented the inventory on sale.
Linking to this other issue as it relates to the same type of divisions of functions with MSI and 3rd party inventory updates.
Preconditions (*)
Steps to reproduce (*)
Expected result (*)
Actual result (*)
Discussion I'm guessing this is because Manage Stock is set to No. But I don't know if this is by design or a bug. I'd say current conditions of documentation and the Admin UI design imply it is a bug.
Documentation does not state this is affected by Manage Stock setting:
Also the UI for these settings doesn't have the Decrease Stock When Order is Placed setting nested under the Manage Stock setting and doesn't become disabled when you set Manage Stock to No. Hence the UI does not indicate that this behavior is by design.
Further, the case to have this work, even though Manage Stock is set to No is that when using a third party inventory management system, it is stated you should set the Manage Stock setting to No. However, to not have it automatically decrement the product quantity on sale creates undo work for the third party app and additional API overhead, system resources, etc, for something Magento could automatically do with a few lines of code change (if that). Why? because now the 3rd party inventory management tool needs to
Further, we need to then post an inventory adjustment real time, not in batch. Conversely, if Magento decremented the inventory, we wouldn't need to post inventory updates but once a day perhaps.
As such, due to the fact that Magento is not decrementing the product qty on sale results in 15 times the otherwise required order api requests, plus infinitely more inventory update posts. The number of orders and timing thereof would dictate this, but a feasible inventory update would be daily if Magento decremented the inventory on sale.
Linking to this other issue as it relates to the same type of divisions of functions with MSI and 3rd party inventory updates.