private function getValidProductNetPriceForItem(CalculableBulkPriceItemInterface $item, $currency)
    {
        $product = $item->getCalcProduct();
        $areGrossPrices = false;

        // Get addon price.
        $addon = $item->getAddon();
        if ($addon) {
            $addonPrice = $this->priceManager->getAddonPriceForCurrency($item->getAddon(), $currency);
            if ($addonPrice) {
                $priceValue = $addonPrice->getPrice();
            } else {
                $priceValue = $this->getPriceOfProduct($addon->getAddon(), $item->getCalcQuantity(), $currency);
            }
            $areGrossPrices = $addon->getAddon()->getAreGrossPrices();
        } elseif ($product) {
            $priceValue = $this->getPriceOfProduct($item->getCalcProduct(), $item->getCalcQuantity(), $currency);
            $areGrossPrices = $product->getAreGrossPrices();

            if ($product->getParent()) {
                $areGrossPrices = $product->getParent()->getAreGrossPrices();
            }
        }

        // If no price is set - return 0.
        if (empty($priceValue)) {
            return 0;
        }

        // Check if product price is gross price and return net price instead.
        if ($areGrossPrices) {
            $tax = $item->getTax();
            if ($tax > 0) {
                $priceValue = ($priceValue / (100 + $tax)) * 100;
            }
        }

        return $priceValue;
    }