Skip to content
we-wp plugins
Menu
WooCommerce stock guide

How to manage stock for WooCommerce product bundles

Advanced Bundles Free checks each included product or variation, then counts all matching demand before checkout.

Download Free v0.1.0 ZIP (opens in new tab)

54 KB · WordPress 6.8+ · WooCommerce 9.9+ · PHP 8.2+ · GPL-2.0-or-later

No account, email address, or plugin telemetry. Installable ZIP from the verified GitHub release.

WooCommerce cart showing a fixed bundle and its native component lines
Bundle cart Each included product remains a native WooCommerce cart line. Open full-size Bundle cart image

The bundle uses component stock.

Set inventory on the products or variations inside the bundle. The bundle container has no separate stock quantity.

Existing product inventory

A simple product uses its own WooCommerce stock. An exact variation uses variation stock when enabled, or shared parent stock.

Combined cart demand

The plugin totals matching products across the full cart, including separate items and duplicate bundles.

No duplicate bundle inventory

The bundle groups the sale. It does not create another stock count that can drift away from component inventory.

Native order lines

Components remain WooCommerce order items so normal stock reduction, cancellation, and refund tools can act on them.

Worked example

Count every unit the cart needs

A Workshop Kit contains 1 notebook and 2 marker sets. A cart with 3 kits plus 1 separate marker set needs 3 notebooks and 7 marker sets.

Stock demand for three Workshop Kits and one separate marker set
Component Quantity in one kit Other cart quantity Total stock needed
Notebook 1 × 3 kits 0 3
Marker set 2 × 3 kits 1 7

If only 6 marker sets are available and backorders are not allowed, the cart cannot proceed with that quantity.

Stock is checked before the order is placed

The same required component quantities are validated more than once because inventory and cart contents can change.

Add to cart

Checks the requested bundle quantity against current component availability.

Projected quantity

Counts the new bundle together with matching products already in the cart.

Whole cart

Combines demand from ordinary products, repeated bundles, and different bundles that share a component.

Checkout

Runs the stock check again before the order is created. A changed or missing component blocks checkout.

Simple products and variations

Check the item that owns the stock

For an exact variation, WooCommerce may store inventory on the variation or share inventory from the parent variable product. Advanced Bundles follows that stock owner.

Simple product
Uses the product stock settings and quantity.
Variation manages stock
Uses the selected variation stock quantity and backorder setting.
Variation shares stock
Uses the parent variable product as the stock owner.
Read the exact-variation guide Understand bundle pricing Add multiple products with one button
WooCommerce bundle editor showing simple products and exact variations with fixed quantities
Bundle editor Choose canonical products or exact variations, then set the required quantity. Open full-size Bundle editor image

Backorders follow WooCommerce settings

The plugin does not replace WooCommerce inventory rules. Configure each stock owner before adding it to a bundle.

Manage stock enabled

WooCommerce uses the numeric quantity and the product or variation backorder setting.

Manage stock disabled

WooCommerce uses the item stock status, such as in stock, out of stock, or on backorder.

Required component unavailable

A fixed bundle cannot be purchased unless every required component can satisfy its WooCommerce stock rules.

Orders keep native component lines

The bundle container has zero value. Component lines carry the price, tax, shipping, fulfilment, stock, and refund effects.

WooCommerce bundle stock behavior across orders, cancellations, and refunds
Action What to verify
Order placedWooCommerce reduces stock on the native component lines according to the order status flow.
Order cancelledConfirm WooCommerce restores the component stock once for the status change used by your store.
Item refundedSelect Restock refunded items when those units should return to inventory, then verify each component quantity.

What Free handles

  • Fixed simple products and exact variations.
  • Fixed component quantities.
  • Combined stock demand across the cart.
  • WooCommerce backorder and stock-owner rules.
  • Checkout revalidation before order creation.

What Free does not add

  • A separate assembled-bundle inventory quantity.
  • A bundle-capacity report or reservation system.
  • Customer-selectable alternatives or quantity ranges.
  • CSV stock tools, external inventory APIs, or ERP integration.
  • Pro features. Pro is not available yet.
Review all known limits

Bundle stock questions

Answers cover fixed bundles in Advanced Bundles Free.

Does a WooCommerce bundle need its own stock quantity?

No. Advanced Bundles Free uses the inventory of the products and exact variations inside the bundle.

What if the same product appears in two bundles?

The plugin combines the required quantity from both bundles and any separate cart line before checkout.

Can a bundle sell when one component is out of stock?

Only if that component's WooCommerce settings allow the requested quantity, such as an enabled backorder.

How is variation stock checked?

The selected variation is checked when it manages stock. Otherwise, WooCommerce can use the parent variable product as the shared stock owner.

Do refunds automatically return bundle stock?

WooCommerce handles native component lines. Choose Restock refunded items when appropriate and test your store's gateway, status, and refund workflow.

Test bundle stock before using it on a live store.

Download Advanced Bundles Free, use the isolated demo, then test stock, checkout, cancellation, and refunds on a staging site.

Download Free v0.1.0 ZIP (opens in new tab)

54 KB · WordPress 6.8+ · WooCommerce 9.9+ · PHP 8.2+ · GPL-2.0-or-later

No account, email address, or plugin telemetry. Installable ZIP from the verified GitHub release.