ACSD-45241: Virtual product’s stock quantity miscalculated

The ACSD-45241 patch fixes the issue where the virtual product’s stock quantity is miscalculated after creating a credit memo. This patch is available when the Quality Patches Tool (QPT) 1.1.17 is installed. The patch ID is ACSD-45241. Please note that the issue was fixed in Adobe Commerce 2.4.4.

Affected products and versions

The patch is created for Adobe Commerce version:

  • Adobe Commerce (all deployment methods) 2.4.2

Compatible with Adobe Commerce versions:

  • Adobe Commerce (all deployment methods) 2.3.5 - 2.4.4
NOTE
The patch might become applicable to other versions with new Quality Patches Tool releases. To check if the patch is compatible with your Adobe Commerce version, update the magento/quality-patches package to the latest version and check the compatibility on the Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.

Issue

Stock quantity for a virtual product is miscalculated after creating a credit memo.

Steps to reproduce:

  1. Create a configurable product with a virtual product as a child product in the Commerce Admin.
  2. Make sure both products created in step one are in stock.
  3. Mark the quantity for the virtual product created in step one as 100 and keep the salable quantity 100 as well.
  4. Add the product to the shopping cart.
  5. Place an order with the virtual product created in step one.
  6. Keep the order status as “Pending”. No need to process the payment.
  7. order_created record created in inventory_reservation. The virtual product quantity shows 100 with salable quantity as 99.
  8. Open the order and go to Invoice > Submit Invoice.
  9. invoice_created record created in inventory_reservation. The virtual product quantity is now 99, and the salable quantity is also 99.
  10. Create a credit memo without selecting Return to Stock.

Expected results:

No new record is created in inventory_reservation, and the stock quantity for the virtual product is unchanged.

Actual results:

A creditmemo_created record is created in inventory_reservation, and the virtual product stock quantity is adjusted to 98 with salable quantity as 99.

Apply the patch

To apply individual patches, use the following links depending on your deployment method:

To learn more about Quality Patches Tool, refer to:

For info about other patches available in QPT, refer to Patches available in QPT in our developer documentation.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a