This module disables the inventory reservation logic introduced as part of MSI in Magento 2.3.3 - see magento/inventory#2269 for more information about the way MSI was implemented, and the issues that can happen with external WMS integrations.
During the order placement and fulfilment processes, Magento's MSI implementation will not decrement stock on order placement - it will only do so on order shipment and refund.
This module will:
- Prevent all writes to the inventory_reservations table. It does so by using an
aroundplugin onPlaceReservationsForSalesEventInterface - Trigger stock deductions on order placement. See
inventory_sales_source_deduction_processorplugin onMagento\Sales\Model\Service\OrderService. - Prevent stock deductions on order shipment. See disabled
inventory_sales_source_deduction_processorobserver onsales_order_shipment_save_afterevent. - Replenish stock for cancelled order items. See
inventoryobserver onsales_order_item_cancelevent. - Replenish stock when a credit memo is issued. See
src/Observer/RestoreSourceItemQuantityOnRefundObserver.php- Requires that "Back to stock" is checked or "Automatically Return Credit Memo Item to Stock" is configured
- Make sure to truncate any existing reservations after installing this module, see idhlagency#41
- Both the
inventoryandcataloginventory_stockshould be on the same mode (Update on SaveorSchedule) for this module to work as expected. If you are running this onScheduleyou should have crons activated.