Todays Ask Sell with WP question is from Pete:

I’m selling products that can be sold individually, in a pack of 4, or in a pack of 12, which is done in the variables dropdown. The problem is for stock it only shows in the back end as 1 unit sold no matter what people choose rather than selling 4 units for the pack of 4, or selling 12 unit for the pack of 12.

Say I have 500 items in stock, can I set it so when the 4 pack or 12 pack is sold, it reduces from the single stock? So if I sell 2 single items, stock goes down to 498, then selling a pack of 4 reduces stock to 494 (not 497 like it does now)?


Sure thing Pete! To sell WooCommerce product packages like this, you’re looking for a Product Bundle. This will let us use a single product as the inventory source, and we can create a bundle for that to sell the packs.

To clarify Pete’s problem, here’s what happens now:

Product A has 3 variations: 1 unit, 4-pack, 12-pack. The stock for these is calculated separately. The stock for each 4-pack purchase deducts "1" from the 4-pack stock, not the overall unit stock.

To get an overall unit stock, and to have packages deduct from this stock, we need to bundle the items instead of selling them as separate products (even though variations are tied together by a parent product, they’re still unique products / SKUs).

The WooCommerce Product Bundles extension ($49) is exactly what we need for this. It’s a great plugin from a great developer (SomewhereWarm), so I definitely recommend it for situations like this.

Here are the steps we need to take to set up these products.

1. Create the Single Unit Product

First we need to create the product by which our inventory will be measured. For the sake of this question, this will be our single unit / item product. I’m going to sell these as light bulbs for demonstration.

This will be a simple product without any bells and whistles really — just set the price for a unit of one, and be sure to track all stock for the item here.

WooCommerce Product Bundle: Main product inventory

This will be how we sell our individual product, and we’ll bundle this to sell it in packs of 4 or 12. I’ll make this product page fancier in a bit, but one product down, two to go!

WooCommerce Product Bundle: Main product

2. Create the Bundle Products

Now that I have my single product done, I’ll create two bundle products — one for the 4-pack, and one for the 12-pack.

Since you only care about the stock on the individual item, you do not need to manage stock for the bundle. You only need to manage stock here if you need to track bundle stock separately from the item stock.

Let’s set the product type to “Product bundle”, and then set the price of the entire bundle for the product.

WooCommerce Product Bundles: Create Bundle

Set bundle price

Now add your single product under the “Bundled Products” tab. When doing so, you’ll set the min quantity = maximum quantity = your quantity for the bundle (4 or 12 in this case).

WooCommerce Product Bundles: bundle products

Add Bundled Products

That’s all we need for now! I’ll have a bundled product that’s tied to 4 of my individual light bulb product.

WooCommerce Product Bundles: Bundle product

Once you do the same thing for a 12-pack, you’re done! You have 3 WooCommerce product packages that are sold individually for different prices, but all deducting from the same inventory / SKU.

I’m going to take this just a bit further to cross-promote bundles. This way if someone finds my single product, they’re aware that there are other purchasing options.

3. Cross Promote Bundles

To cross-promote my bundles, I’m going to use the product IDs shortcode built into WooCommerce. This gives you a way to show thumbnail views of multiple products at once.

I’m going to add the thumbnails for my 2 bundles on my individually-sold lightbulb to promote these as purchasing options.

WooCommerce Product Bundles: show other bundles

WooCommerce Product Bundles: cross promotion

Cross-promotion via shortcode

Now my product page will provide all 3 purchasing options for my visitors so they can choose the quantity that fits their needs.

Once a bundle is in the cart, customers will see that they’re paying for the bundle, but it’s made up of 4 (or 12) individual bulbs.

WooCommerce Product Bundles: Cart View

Once purchased, the quantity in the bundle will deduct inventory from your main or individually-sold product.

WooCommerce Product Bundles: stock reduction

Bundle reducing individual stock

Selling WooCommerce Product Packages

That’s it, Pete! Hope that points you in the right direction.

If you wanted to take this further to show all bundle choices on a page, you could look to use Product Bundles alongside of Composite Products, as shown in this tutorial. This would give you a way to show all bundles like a variation if desired on a single page.


Cover Photo Credit: Stefan Baudy (CC BY 2.0 license)
Note: This post may contain affiliate links, which means we get a commission from the plugin, theme, or service provider if you choose to purchase. Regardless of this, we are committed to providing high quality, unbiased resources. Have more questions? See our affiliate policy. You can use the plain links below if you prefer that we not receive a referral commission:

Articles you may also like:

Posted by Beka Rice

Beka Rice manages the direction of Sell with WP content and writes or edits most of our articles to share her interests in eCommerce. Or she just writes as an excuse to spend more time jamming out to anything from The Clash to Lady Gaga. Who knows.

7 Comments

  1. Thank you Beka! Your posts are always so helpful… this plugin sounds like it would almost fit my needs, but not quite. After struggling for the solution I need, I’ve come to realize just how daunting a task it is to design a shopping cart system that accommodates all the possible needs out there.

    For instance, I would like to provide bundles of a given product, but allow the customer to decide (within a range) exactly how many they would like in the bundle. So I’d like to start with maybe 6 and let them choose any number up to 12. I’ve been searching for days but haven’t found the plugin or code that does exactly this.

    The following code posted on the Woo site does exactly what I’d like, but it applies to all products instead of a specific product. I’m completely new to all this and learning as fast as I can, but I’m unsure how to have this filter affect a single, specific product:

    [code removed]

    I looked at the Min/Max Quantities extension, but it seems cart-based and I'd prefer this happen on the single product page before placing the item in the cart. Using error messages at the cart stage seems like a rather negative approach (error messages to the customer are not a positive experience IMO).

    Any ideas?

    Thank you thank you thank you!

    Reply

  2. Beka thank you!

    Yes I saw this… but my understanding of the way the Min/Max works is that if a minimum of, say, 6 is specified, the amount shown on the product page is still 1 and the customer may not realize they need to bump it to 6 until they receive an error message in the shopping cart.

    If this isn’t the case, I apologize… I read it in a comment thread somewhere.

    What I would like (and yes it’s crazy specific) is the ability to set a minimum or 6 and a maximum of 12, and have the amount shown on the product page be 6, but still be able to be bumped to 12 and no higher.

    The code I included in my first comment (forgive me if that was bad style) does this exact thing very simply, but unfortunately it does it to all products.

    Is there some way to get this to happen with selected products?

    Thanks again, and hope I’m not being too irritating with this followup question 🙂

    Reply

    1. It will show the quantity input on the bundle page if you have a min / max set — here’s what it looks like if I use the built-in setting with 6 / 12 for the min and max: http://cloud.skyver.ge/0C1F230P3410

      Reply

  3. Ahh that’s it! Thank you for taking the time to show this… you are truly incredible 🙂

    Reply

  4. What about appointable products? I have several “kits”, each comprised of several products. I want to be able to rent out a kit, and have the individual products in that kit taken out of inventory for the date of the appointment. Is that doable?

    Thanks.

    Reply

    1. Hey Rick, I’d look into WooCommerce Bookings for this sort of thing instead. I’m not 100% sure if it can manage inventory like this, but it would be a better starting point.

      Reply

Leave a reply

Your email address will not be published. Required fields are marked *