Skip to content
Last updated

Selling Products in Bundles in Norce Commerce

This page describes the different ways to sell products as bundles, kits, or packages in Norce Commerce. It explains the available approaches, their pros and cons, and implementation details. The goal is to help you choose the best method for your business and technical needs.

Overview: Bundle Selling Approaches

Norce Commerce supports several ways to offer bundled products. Each approach has unique benefits and trade-offs.

  • Bundle Product Types: Create a product that represents a bundle or kit.
  • Related Products: Present related products together and add them to the basket as a group.
  • Promotions: Set up special promotions for products bought together.

You can also sell larger volumes of a single product using:

  • Quantity Breaks: Offer lower prices for higher quantities.
  • Recommended Quantity: Suggest or require specific purchase amounts (fixed or recommended).

Note: Use Fixed Recommended Quantity with care. Many marketplaces require that catalog prices match available purchase options.

Comparison Table: Bundle Selling Methods

The table below summarizes each method, with details, advantages, and disadvantages.

SolutionDetailsProsCons
Bundle Product TypeUse ManagedStructure, ManagedERPPackage, or ManagedERPPackageWithCalc product types.- Real product in catalog
- Pre-calculated prices
- Exportable to marketplaces and channels
- High maintenance if you manage many packages and variants
Product RelationsUse typed product relations to group products.- Flexible
- Less maintenance per package
- Requires more storefront development
- Less visible in admin
- Quantity not supported
PromotionUse "add product" and "select product" effects in promotions.- Feature-rich
- Flexible
- Less maintenance
- Requires most storefront development
- Invisible in admin
- Not reusable between applications
- May require many promotions

Bundle Product Types in Norce Commerce

Norce Commerce provides several product types for creating bundles. Each has a "managed" version (recommended) and an older, less functional version.

ManagedStructure

A ManagedStructure bundle is fully managed in Norce Commerce. External systems (ERP, WMS) do not need to know about the bundle. Norce calculates stock and reservations based on the bundle's children.

When to use:
If your ERP does not support bundles and you have fixed bundles with few or no choices.

Key Actions and Behaviors:

ActionManaged VersionUnmanaged Version
CreateCreated in Norce (Admin UI or import). Prices calculated with Structure Calculation.Same
Product IntegrationNot integrated to ERP, but can be sent to channels.Same
EnrichmentChildren added manually in Admin UI.Same
BasketAdding the bundle adds children automatically. Frontend can choose price display.Acts as ordinary product; use InsertBasketItemWithChildren. Choose price display in implementation.
PaymentManaged Adapters handle amounts. Bundle row has price 0 when sent to PSP if required.No changes to basket when sent to PSP.
Transactional IntegrationBundle row remains on order; recommended to remove bundle row and pass children to ERP for clarity.Passes bundle and children as created in basket.
CaptureInvoice sent to Norce; capture removes bundle row from PSP payment if needed.Same
Omni ConcernsBundles can be sold in other channels; Norce can dress up order with children before integration.Same

Note: Some PSPs may behave differently. See adapter documentation for details.

ManagedERPPackage

A ManagedERPPackage is a bundle recognized by ERP and WMS. Norce does not calculate stock from children; this is handled by ERP/WMS.

When to use:
If your ERP supports bundles and you want to use that functionality.

Key Actions and Behaviors:

ActionManaged VersionUnmanaged Version
CreateCreated in Norce or imported from ERP. Children can be added in UI or integration. Prices can use any method.Same
Product IntegrationIntegrated to ERP and other systems.Same
EnrichmentChildren can be added in UI or integration (optional but recommended).Same
BasketAdding the bundle adds children automatically. Frontend can choose price display.Acts as ordinary product; use InsertBasketItemWithChildren. Prices must be manually adjusted.
PaymentManaged Adapters handle amounts. Bundle row has price 0 when sent to PSP if required.No changes to basket when sent to PSP.
Transactional IntegrationBundle and children remain on order; recommended to remove children and pass only main row to ERP.Passes bundle and children as created in basket.
CaptureInvoice sent to Norce; capture removes children rows from PSP payment if needed.Same
Omni ConcernsBundles can be sold in other channels.n/a

Note: Some PSPs may behave differently. See adapter documentation for details.

ManagedERPPackageWithCalc

This type is similar to ManagedERPPackage, but Norce calculates stock from children and handles reservations.
Use this if your ERP supports bundles but reservations must be managed in Norce Commerce.

Implementation Requirements for Bundle Product Types

To implement bundles using product types in Norce Commerce:

  • Add bundle creation to product integrations (optional).
  • Present bundles in the frontend using ListIncludedProducts to fetch children for product detail views.
  • Map bundles correctly in transactional integrations, following recommended practices for ERP mapping.

Using Product Relations for Bundles

Product relations allow you to create a bundle-like experience in the frontend. This approach requires some UI development but is low-maintenance once set up.

How it works:

  • Define relation types for bundles and a product flag to signal bundle display in the frontend.
  • Use ListProductRelations to fetch related products and display them as a bundle.
  • Optionally, use a promotion rule to apply discounts when certain products are bought together.

When to use:
For simple bundle presentations, such as selling accessories.

ActionDescription
CreateProducts are ordinary; relations can be created via integration, Admin UI, or automation.
Product IntegrationBoth bundle and children are integrated with ERP.
EnrichmentTexts can override defaults on relationships (via Norce Commerce Connect).
BasketUse InsertBasketItemWithChildren to add bundle to basket. No bundle price or quantity on relation.
PaymentSame as ordinary basket.
Transactional IntegrationSame as ordinary basket.
Omni ConcernsOther channels can use the same relationships to sell bundles.

Using Promotions for Bundles

Promotions in Norce Commerce can create configurable bundles with rich UI experiences. This method requires more frontend development but offers maximum flexibility.

How it works:

  • Create a promotion with requirement rules for primary bundle products.
  • Use "add product" and "select products" effects to define bundle logic.
  • Use ListPromotionsByProduct to fetch applicable rules for the frontend.

When to use:
For configurable bundles and advanced UI experiences.

ActionDescription
CreatePromotion created in Admin UI; connect bundle product to children.
Product IntegrationBoth bundle and children are integrated with ERP.
EnrichmentBundle rules set manually in promotion UI.
BasketUse InsertBasketItemWithChildren to add bundle; prices calculated by promotion rules.
PaymentSame as ordinary basket.
Transactional IntegrationSame as ordinary basket.
Omni ConcernsPromotion rules only apply in Norce Commerce basket and checkout; not available in external channels.

Additional Notes

  • Quantity Breaks: Use for volume discounts on single products.
  • Recommended Quantity: Use to suggest or require specific purchase amounts.

Further Reading