Bundle Math — Effective Quantity

When a product has bundle options (Components, Fixed Price Components, or Accessories), Pinion needs to decide how the parent bundle’s quantity relates to each option’s quantity.

The rule

Option typeEffective quantity on the line item
Componentparent quantity × option quantity
Fixed Price Component (FPC)parent quantity × option quantity
Accessoryoption quantity (no parent multiplication)

A child with no option type is treated as an Accessory. On a subscription bundle, every option also carries the contract term; see Subscription bundles and the contract term.

Worked example

This example is a non-subscription bundle, so no term applies. A customer orders 3 units of a “Hardware Bundle” parent. The bundle contains:

  • 1 Component “Power Supply” with option quantity 2
  • 1 Accessory “Cable Kit” with option quantity 2

After Pinion saves the lines:

Line itemQuantity stored on the lineWhy
Hardware Bundle3parent quantity
Power Supply6Component → 3 × 2 = 6
Cable Kit2Accessory → no multiplication

The Product Display tab shows the same effective quantity (6) on the “Power Supply” row. Hover the quantity number to see the breakdown: “Effective quantity = parent quantity (3) × option quantity (2) = 6.”

Subscription bundles and the contract term

On a subscription bundle, Pinion applies the contract term once. The term comes from the bundle parent product (its subscription term unit and proration type) over the bundle’s date window, and it reaches every option whatever the option product’s own Subscription flag or term unit says. The one exception is a discount option, which never has the term applied to it directly.

LineQuantity stored on the line
Bundle parentbundle quantity × term
Component / Fixed Price Componentbundle quantity × option quantity × term
Accessoryoption quantity × term
Discount optionits effective quantity by option type; the term is never applied directly, so a Component-typed one carries it only through the term-baked parent quantity and an Accessory-typed one not at all

A Component inherits the term through the parent’s term-baked quantity, so the term is not applied to it a second time. An Accessory doesn’t scale with the parent, so it takes the term directly: static on the quantity axis, scaled on the term axis.

Take the same bundle as a 3-year subscription whose parent product has a term unit of Year (term = 3):

Line itemQuantity stored on the lineWhy
Hardware Bundle93 × 3
Power Supply18Component → 3 × 2 × 3 = 18
Cable Kit6Accessory → 2 × 3 = 6

A segmented (MDQ) bundle is the exception: it is not multiplied by the term. Each segment’s quantity already carries its own proration, so applying the term as well would count it twice.

Why this matters