Here is my setup: Magento 2.4.1

Stores->Configuration->Sales->Payment Methods->Braintree (sandbox)->Payment Action = "Intent Sale" (same as "Authorize and Capture")

Stores->Configuration->Catalog->Inventory->Stock Options->"Decrease Stock When Order is Placed" = Yes

Stores->Configuration->Catalog->Inventory->Product Stock Options->"Automatically Return Credit Memo Item to Stock" = No

Since all Payment Action is "Auth and Capture", the Orders are automatically Invoiced and Order Status is: "Processing"

  1. Customer purchases a quantity of a Product Variation (a child product of the configurable product), in this case the remaining stock.

  2. I issue a Credit Memo to Refund (either before Shipping or after Shipping, it doesn't matter), open the Invoice and click on "Credit Memo" at the top of the window, select "Return to Stock" for all line items. Credit Memo screenshot

The Quantity and Salable Quantity for each Simple Product Variation is NOT getting updated, they both show 0. Product Quantities after Credit Memo screenshot

However, if I manually update product Quantity and Stock Status (to In Stock) for each Simple Product Variation - the Quantity is updated BUT the Salable Quantity/Default Stock now includes the Credited Stock so that the Quantity and Salable Quantity are way out of sync. Manually updated quantities screenshot

Stock status is now all messed up - Salable Quantity / Default Stock is wrong!

It seems like neither the Inventory Reservation table or the product Stock Quantity are being updated properly when an order is returned to stock.

This seems like a serious bug...?


1 Answer 1


2021-02-22 Edit:

I'm going to chalk this up to extension incompatibility. I believe the extension I purchased to customize the Order, Invoice, Credit Memo, and Shipment numbers caused this issue. It caused some exception errors in the backend when processing a shipment. So I removed the Custom Order Number extension, and retested my order processing - now the Stock reservations, count updates, etc seem to be working correctly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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