diff --git a/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php b/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php index 1bba9b5b8..74d90fd34 100644 --- a/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php +++ b/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php @@ -73,6 +73,15 @@ class RefundItemRepository extends Repository $quantity -= $totalShippedQtyToRefund; } + } elseif ($orderItem->getTypeInstance()->showQuantityBox()) { + $inventory = $orderItem->product->inventories() + // ->where('vendor_id', $data['vendor_id']) + ->whereIn('inventory_source_id', $orderItem->order->channel->inventory_sources()->pluck('id')) + ->orderBy('qty', 'desc') + ->first(); + + if ($inventory) + $inventory->update(['qty' => $inventory->qty + $quantity]); } if ($quantity) { diff --git a/packages/Webkul/Sales/src/Repositories/RefundRepository.php b/packages/Webkul/Sales/src/Repositories/RefundRepository.php index 8417a0312..395182518 100644 --- a/packages/Webkul/Sales/src/Repositories/RefundRepository.php +++ b/packages/Webkul/Sales/src/Repositories/RefundRepository.php @@ -166,13 +166,15 @@ class RefundRepository extends Repository 'additional' => $childOrderItem->additional ]); - $this->refundItemRepository->returnQtyToProductInventory($childOrderItem, $finalQty); + if ($childOrderItem->getTypeInstance()->isStockable() || $childOrderItem->getTypeInstance()->showQuantityBox()) + $this->refundItemRepository->returnQtyToProductInventory($childOrderItem, $finalQty); $this->orderItemRepository->collectTotals($childOrderItem); } } else { - $this->refundItemRepository->returnQtyToProductInventory($orderItem, $qty); + if ($orderItem->getTypeInstance()->isStockable() || $orderItem->getTypeInstance()->showQuantityBox()) + $this->refundItemRepository->returnQtyToProductInventory($orderItem, $qty); } $this->orderItemRepository->collectTotals($orderItem);