MPH WMS
Items

Bundles

Create bundle items (paketartiklar) that automatically break down into components

Bundles (paketartiklar) let you sell a group of items as a single product. When a bundle is ordered, MPH WMS automatically expands it into its component items for picking and stock management.

How bundles work

A bundle is an item with the bundle flag enabled. It has no stock of its own - instead, its availability is calculated from the component items.

For example, a "Starter Kit" bundle with:

  • 1× T-shirt
  • 2× Sticker pack
  • 1× Tote bag

When a customer orders 3 Starter Kits, MPH WMS creates pick lines for:

  • 3× T-shirt
  • 6× Sticker pack
  • 3× Tote bag

Creating a bundle

  1. Go to Items
  2. Click Create item
  3. Toggle Bundle / kit on under Status
  4. Fill in the bundle's name, SKU, and price
  5. Add components:
    • Search for items by name or SKU
    • Set the quantity of each component per bundle
    • Drag the handle at the left of a row to change the order (or focus the handle and use the arrow keys). This is the order the components are shown in on the item and on orders
  6. Click Save

Bundle availability

Bundle availability is calculated automatically:

Available bundles = minimum of (component available ÷ component quantity) across all components

For example, if your bundle contains 2× Item A and 1× Item B:

  • Item A has 10 available → 10 ÷ 2 = 5 possible bundles
  • Item B has 3 available → 3 ÷ 1 = 3 possible bundles
  • Bundle available = 3 (limited by Item B)

This prevents overselling when any component is low on stock.

Order line expansion

When an order containing a bundle is created:

  1. The bundle line appears as the parent with the full price and tax
  2. Component sub-lines are generated automatically:
    • Each sub-line links back to the parent bundle line
    • Quantities are multiplied (order qty × component qty)
    • Sub-lines have zero price (the price lives on the parent)
    • Sub-lines appear in the order you arranged the components in the bundle
  3. Fulfillment pick lists show the component items, not the bundle. Pick views sort by pick location rather than by component order, so the picker walks the shortest route

Stock and valuation

  • Bundles do not have their own stock level - stock is tracked on the component items
  • Stock movements happen on the components when a bundle order is fulfilled
  • Valuation follows the components, FIFO per batch, exactly as it would if they had been sold separately

Changing a bundle that is already selling

Editing the components of a bundle that sits on open orders raises an impact dialog first, listing the orders that will be re-expanded. Confirming re-syncs those orders to the new composition. Orders that are already picked or shipped are left alone.

Only changing the order of the components is not a composition change. It never raises the dialog - open orders simply pick up the new order of their existing sub-lines when you save. Fulfilled and cancelled orders keep the order they had.

Bundles and Shopify

To the sales channel, a bundle is one line. The components exist only in the WMS.

  • Outbound - when the bundle ships, MPH reports the bundle line as fulfilled so the customer sees the product they actually bought.
  • Inbound - a "fulfilled" echo coming back from the channel will not complete a bundle that the WMS is in the middle of shipping. If any component sub-line has already shipped, the inbound update is skipped rather than closing the order early.

An order that mixes a bundle with ordinary items and is shipped in more than one parcel can report more fulfilled quantity to the channel than the channel expected. This is deliberate - it keeps the bundle showing as sent - but it is worth knowing before you split such an order.

Importing bundles via CSV

You can import bundle definitions using CSV:

Bundle SKU, Component SKU, Quantity
STARTER-KIT, TSHIRT-BLK-M, 1
STARTER-KIT, STICKER-PACK, 2
STARTER-KIT, TOTE-BAG, 1

Rules:

  • Quantity must be a positive integer
  • A bundle SKU cannot reference itself as a component
  • Both the bundle SKU and component SKU must exist as items
  • The row order within a bundle becomes the component order. Exporting bundles writes the rows in that order, so an export/import round-trip keeps it

Best practices

  • Set prices on the bundle, not the components - component sub-lines always have zero price
  • Monitor component stock - a bundle becomes unavailable as soon as any component runs out
  • Use tags to group bundle components for easy filtering
  • Give the bundle a weight if the assembled parcel weighs less than its parts, or let the warehouse setting add up the component weights instead. See Warehouses
  • Check availability before running promotions on bundles to ensure component stock covers demand

On this page