Delete Stock by Stock Id Multi-source Inventory Magento 2.

You can Delete Stock by Stock Id in Multi-Source Inventory (MSI) Magento 2 programmatically by passing stock id only.

Delete the Stock data by Stock id. If the stock is not found do nothing.

Interface Used to delete stock, Magento\InventoryApi\Api\StockRepositoryInterface.

Method DeleteById($stockid) used to delete specific Stock from the MSI.

namespace Jesadiya\DeleteStock\Model;

use Exception;
use Psr\Log\LoggerInterface;
use Magento\InventoryApi\Api\Data\SourceInterface;
use Magento\InventoryApi\Api\SourceRepositoryInterface;

class DeleteStockById
     * @var StockRepositoryInterface
    private $stockRepository;

    public function __construct(
        StockRepositoryInterface $stockRepository,
        LoggerInterface $logger
    ) {
        $this->stockRepository = $stockRepository;
        $this->logger = $logger;

     * @return void
    public function deleteStock()
        try {
            $stockId = 2;
        } catch (Exception $exception) {

Call $this->deleteStock() method to delete specific stock from the MSI module.

Check the Stock is delete or not from the Magento Admin Panel Stock Grid.