QUALITY PATCH

MDVA-35984: Incorrect product quantity and sellable quantity, after creating multiple concurrent…

Incorrect product quantity and sellable quantity, after creating multiple concurrent shipments for the same product. Quality patch MDVA-35984 for magento/module-inventory applies to Magento Open Source and Adobe Commerce 2.3.5 to 2.4.2-p2.

Categories
Inventory
Components
magento/module-inventory, magento/module-inventory-catalog, magento/module-inventory-indexer, magento/module-inventory-source-deduction-api
Origin
adobe-commerce-support

No Adobe documentation page exists for this patch.

Install

Install the Quality Patches Tool with composer require magento/quality-patches, apply the prerequisites listed for all files applicable to your distribution and version first, then run vendor/bin/magento-patches apply MDVA-35984. On Cloud, add MDVA-35984 under stage.build.QUALITY_PATCHES in .magento.env.yaml.

For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its MDVA-35984/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Bundle prerequisites the same way and list them first. Paths are relative to each package root, using the default -p1 level. Prefer local files when configuring composer-patches; a remote URL can change.

Patch files and compatible versions

Packages across compatible versions (4): magento/module-inventory-catalog, magento/module-inventory-indexer, magento/module-inventory-source-deduction-api, magento/module-inventory
Packages across compatible versions (4): magento/module-inventory-catalog, magento/module-inventory-indexer, magento/module-inventory-source-deduction-api, magento/module-inventory

magento/inventory-composer-metapackage >=1.1.5 <1.1.6

Magento Open Source
2.3.5-p2, 2.3.5-p1, 2.3.5
Adobe Commerce
2.3.5-p2, 2.3.5-p1, 2.3.5
Requires
MDVA-30428
Patch file
patches/os/MDVA-41238_1.1.5-p1.patch
  • vendor/magento/module-inventory-catalog/etc/di.xml
  • vendor/magento/module-inventory-indexer/etc/di.xml
  • vendor/magento/module-inventory-source-deduction-api/Model/SourceDeductionService.php
  • vendor/magento/module-inventory/Model/ResourceModel/SourceItem/DecrementQtyForMultipleSourceItem.php (added)
  • vendor/magento/module-inventory/Model/SourceItem/Command/DecrementSourceItemQty.php (added)
  • vendor/magento/module-inventory-catalog/Model/ResourceModel/DecrementQtyForLegacyStock.php (added)
  • vendor/magento/module-inventory-catalog/Plugin/InventoryApi/SynchronizeLegacyStockAfterDecrementStockPlugin.php (added)
  • vendor/magento/module-inventory-indexer/Plugin/InventoryApi/ReindexAfterDecrementSourceItemQty.php (added)

magento/inventory-composer-metapackage >=1.1.6 <1.2.0

Magento Open Source
2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6
Adobe Commerce
2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6
Patch file
patches/os/MDVA-41238_1.1.6.patch
  • vendor/magento/module-inventory/Model/ResourceModel/SourceItem/DecrementQtyForMultipleSourceItem.php (added)
  • vendor/magento/module-inventory/Model/SourceItem/Command/DecrementSourceItemQty.php (added)
  • vendor/magento/module-inventory-catalog/Model/ResourceModel/DecrementQtyForLegacyStock.php (added)
  • vendor/magento/module-inventory-catalog/Plugin/InventoryApi/SynchronizeLegacyStockAfterDecrementStockPlugin.php (added)
  • vendor/magento/module-inventory-catalog/etc/di.xml
  • vendor/magento/module-inventory-indexer/Plugin/InventoryApi/ReindexAfterDecrementSourceItemQty.php (added)
  • vendor/magento/module-inventory-indexer/etc/di.xml
  • vendor/magento/module-inventory-source-deduction-api/Model/SourceDeductionService.php

magento/inventory-metapackage >=1.2.0 <1.2.3

Magento Open Source
2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0
Adobe Commerce
2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0
Patch file
patches/os/MDVA-35984_1.2.2.patch
  • vendor/magento/module-inventory/Model/ResourceModel/SourceItem/DecrementQtyForMultipleSourceItem.php (added)
  • vendor/magento/module-inventory/Model/SourceItem/Command/DecrementSourceItemQty.php (added)
  • vendor/magento/module-inventory-catalog/Model/ResourceModel/DecrementQtyForLegacyStock.php (added)
  • vendor/magento/module-inventory-catalog/Plugin/InventoryApi/SynchronizeLegacyStockAfterDecrementStockPlugin.php (added)
  • vendor/magento/module-inventory-catalog/etc/di.xml
  • vendor/magento/module-inventory-indexer/Plugin/InventoryApi/ReindexAfterDecrementSourceItemQty.php (added)
  • vendor/magento/module-inventory-indexer/etc/di.xml
  • vendor/magento/module-inventory-source-deduction-api/Model/SourceDeductionService.php

Sources

Łukasz Bajsarowicz
Built by

Łukasz Bajsarowicz, e-commerce architect

Magento and Adobe Commerce architecture, upgrades, performance and audits for merchants and agencies since 2015; magento.watch is the tooling I use on those projects.

Open source, maintained on weekends.