Skip to main content
Plugin map · bundles

Moving Product Bundles and Composite Products to Shopify.

A bundle is a product made of other products, and the two WooCommerce extensions that build them store more than a product export shows: components, quantity rules, per-item prices, conditional scenarios and a parent-and-children order structure. Shopify's own Bundles app covers more of this than it did a year ago, with hard limits worth knowing before you promise a customer their kit builder survives the move.

$0Shopify Bundles, the app made by Shopify, for fixed and dynamic bundlesShopify App Store6
30 / 150components in a fixed bundle and in a dynamic bundleShopify Help Center4
100variants and 3 options per bundle at mostShopify Help Center4
Nobundles with selling plans: no subscriptions, pre-orders or try-before-you-buyShopify developer docs5

In brief

  • Composite Products defines components with options drawn from products or categories, a default option, optional components, minimum and maximum quantities, a base price or per-item pricing with discounts, four layouts, assembled or unassembled shipping, and scenarios that hide components or options conditionally.1
  • Product Bundles bundles simple, variable and subscription products, allows several instances of the same product, sets minimum and maximum quantities per item and for the whole bundle, and supports bulk quantity discounts.3
  • Shopify's free Bundles app builds fixed bundles of up to 30 components and dynamic bundles of up to 150 components, with a maximum of 3 options and 100 variants per bundle, up to 2,000 units per component, on the Online Store and headless storefronts only; bundle prices are fixed and do not follow component price changes.46
  • Bundles cannot be sold with selling plans such as subscriptions, pre-orders or try-before-you-buy; customised bundles beyond the app use the Cart Transform Function or a bundle builder app such as Easy Bundles.57
  • In WooCommerce a composite order is a parent line item with child line items linked by composite_parent and composite_children; on Shopify the component SKUs appear on the order, so historical orders are imported at the line level that carried the price.24

What the two extensions store

Composite Products

A composite is a set of components, each with component options chosen either by selecting products or by selecting categories; only simple products, variable products and product bundles can be options.1 Each component can have a default option, can be optional, and has a minimum and maximum quantity. Pricing is either a base price for the whole composite or "priced individually", which preserves the option prices and can apply a percentage discount per component; the documentation notes that a base price alone means the configuration has no effect on price.1 Four layouts (stacked, progressive, stepped, componentized), assembled or unassembled shipping with "shipped individually" per component, and scenarios that conditionally hide components or options complete the model.1

The REST API exposes all of it: composite_components with title, query_type, query_ids, quantity_min, quantity_max, priced_individually and optional; composite_layout; and composite_scenarios. In an order the composite is a parent line item with child line items, linked through composite_parent and composite_children.2

Product Bundles

Bundles group simple, variable and subscription products, can include several instances of the same product, limit which variations are available, set a minimum and maximum quantity per bundled item or for the combined quantity, control the visibility of individual items, and offer bulk quantity discounts.3 The order structure is the same idea: a bundle line with bundled item lines beneath it.

Bundles on Shopify

Shopify requires a bundles app to sell bundles and ships one of its own.46 Shopify Bundles is free, creates fixed bundles and multipacks from the admin, lets customers pick options such as size or colour for bundled products, and updates inventory in real time.6 The help centre sets the limits: fixed bundles up to 30 components, dynamic bundles up to 150 components, a maximum of 3 options and 100 variants per bundle, up to 2,000 units per component, and Online Store or headless storefronts only.4 Bundle inventory is tracked by overall stock rather than by location, and component SKUs appear in orders rather than a bundle SKU. The bundle price is fixed: when a component's price changes, the bundle price does not follow and has to be updated by hand.4

Beyond the app, Shopify's developer documentation splits bundles into fixed bundles and customised bundles built with the Cart Transform Function for "more complex composition of products, such as mix-and-match bundles"; either way, bundles cannot be sold with selling plans such as subscriptions, pre-orders and try-before-you-buy.5 Bundle builder apps package that capability: Easy Bundles offers mix-and-match, build-your-own-box and gift box flows with tiered pricing, free up to $500 of bundle sales a month and $29 to $99 per month above that.7

How the concepts map

WooCommerceShopify Bundles appBundle builder app
Bundle with fixed itemsFixed bundle, up to 30 components4Fixed bundle
Component with a choice of optionsDynamic bundle, up to 150 components4Mix-and-match section
Options drawn from a categoryProducts chosen explicitlyCollection-based sections
Optional componentModelled as a choice that includes "none"Optional section
Min and max quantity per componentUnits per component, up to 2,0004Section quantity rules
Priced individually with per-component discountFixed bundle price only4Dynamic pricing and tiered discounts7
Base price for the whole compositeFixed priceFixed price
Scenarios (conditional hiding)Not availableRules vary by app; often simplified
Assembled vs shipped individuallyComponents ship as their own SKUsSame
Subscription products inside a bundleNo selling plans on bundles5Subscription boxes in some apps7
Variable products as optionsWithin 3 options and 100 variants per bundle4Usually unlimited by the app, still bound by the product's variants

Where the limits bite

  • 100 variants per bundle. A composite of three variable products with 40 variants each cannot be one Shopify bundle. Split by component, or move the choice into a builder app.4
  • No selling plans. A bundle that includes a subscription product, or that is itself sold on a subscription, needs a subscription app that supports boxes, not the Bundles app.5
  • Fixed bundle price. "Priced individually" composites, where the customer's choices set the price, need a builder app or a Cart Transform Function; the Bundles app will not recompute.45
  • Online Store only. Bundles are not sold through other channels, so a bundle that also sold through a marketplace feed on WooCommerce needs a plain product for that channel.4
  • Scenarios. Conditional logic such as "if the customer picks frame A, hide lens B" has no equivalent in the Bundles app; simplify the configuration or accept a builder app's rule set.1

Importing bundled orders without double-counting

A WooCommerce composite order carries the composite as a parent line item and each chosen component as a child line item, linked by composite_parent and composite_children.2 Where the composite was priced individually, the price sits on the children and the parent is a container; where it had a base price, the parent carries the price and the children are zero. Shopify orders show component SKUs.4

The rule: import the line items that carried the price, once. For individually priced composites, import the children and drop the parent; for base-priced composites, import the parent as the bundle product and record the components in line item properties or a note. Importing both layers doubles the order total in every report.

Step by step

  1. Export the composite and bundle definitions through the REST API, not the product CSV, so components, quantities, pricing mode and scenarios come with them.2
  2. Count against the limits: components per bundle, variants per bundle, any subscription products, any priced-individually composites.
  3. Sort each bundle into Shopify Bundles fixed, Shopify Bundles dynamic, or a builder app.
  4. Migrate component products first, then build the bundles on top of them.
  5. Set bundle prices deliberately, knowing they will not follow component price changes.4
  6. Import orders at the priced line level, once.
  7. Test the builder flow as a customer, including an out-of-stock component, before launch.

Bundles are counted against the limits before anyone promises they fit.

  • Components, variants and pricing modes exported through the API
  • Each bundle sorted into fixed, dynamic or builder app
  • Priced-individually composites flagged before they break
  • Orders imported at the priced line, never twice
  • Builder flow tested as a customer
  • Preview before you pay
Scan my store freeThe scan detects Composite Products and Product Bundles automatically.

Frequently asked questions

Does Shopify have native product bundles?

Shopify requires a bundles app and provides one of its own, Shopify Bundles, free. It builds fixed bundles of up to 30 components and dynamic bundles of up to 150 components, with a maximum of 3 options and 100 variants per bundle, sold through the Online Store and headless storefronts.

Can Composite Products move to Shopify?

The structure can: components become bundle components or builder-app sections, optional components become choices, quantity limits become units per component. Scenarios with conditional logic and priced-individually composites go beyond the Shopify Bundles app and need a bundle builder app or a Cart Transform Function.

Can a bundle contain a subscription product on Shopify?

Not with Shopify's bundle model: bundles cannot be sold with selling plans such as subscriptions, pre-orders or try-before-you-buy. Subscription boxes are handled by subscription and bundle builder apps that support them.

Does the bundle price update when a component's price changes?

No. Shopify Bundles uses a fixed bundle price, and the help centre states that the bundle price does not update when a bundled product's price changes; it has to be updated manually.

How should orders with bundles be imported?

At the line that carried the price, once. Individually priced composites import their child line items; base-priced composites import the parent as the bundle product. Importing both the parent and the children doubles the order total.

What is the 100-variant limit?

A Shopify bundle can have at most 3 options and 100 variants in total. A composite built from several variable products with many variants each has to be split by component or moved to a builder app.

Sources

  1. WooCommerce. Composite Products configuration. plugin vendor
  2. WooCommerce. Composite Products REST API reference: composite_components, composite_layout, composite_scenarios, composite_parent and composite_children. plugin vendor
  3. WooCommerce. Product Bundles documentation. plugin vendor
  4. Shopify. Shopify Bundles, Shopify Help Center: component, option and variant limits, channels, pricing and inventory behaviour.
  5. Shopify. Bundles, Shopify developer documentation: fixed and customised bundles, Cart Transform Function, selling plan restriction.
  6. Shopify. Shopify Bundles, Shopify App Store listing: free, fixed bundles and multipacks, real-time inventory.
  7. Skai Lama. Easy Bundles: Bundle Builder, Shopify App Store listing, 19 Sep 2026. vendor-published

Mufatech Studio migrates stores to Shopify. Plan availability, limits and plugin behaviour are quoted from the linked documentation as of September 2026 and can change; check the source before acting on a limit.