Pricing Models

Each bundle picks one of three pricing models via the parent product’s PricingModel__c field (or the configurator settings default). The model decides how the parent total relates to the child line totals.

Standard

The parent has its own list price. Children persist with UnitPrice = $0 and TotalPrice = $0 — they’re present for configuration tracking but carry no dollars. No magic — the bundle is essentially a convenience wrapper around the parent product’s price.

When to use: “fixed-price bundle, options are decorative.” The parent always costs the same; the option choice doesn’t affect the total.

Roll-Up

The parent’s price is the sum of the child line totals, then divided by the parent quantity. Children carry the line totals; the parent shows the rolled-up unit price.

Worked example. Parent quantity = 1, children total $1,200 across three options. Parent unit price = $1,200. Parent quantity = 4, same children but each scaled by the effective-qty rule above producing $4,800 in child totals. Parent unit price = $4,800 / 4 = $1,200.

When to use: “bundle price is determined by what’s in it.” A customer’s hardware-and-services bundle where the rep picks options and the parent total reflects what was picked.

Itemized

Each child carries its own line total independently, and the parent shows a rolled-up total that equals the sum of children. The difference from Roll-Up: the children are the canonical lines, and the parent is a header. Itemized bundles show every option as its own row on the quote PDF, each with its price, and the bundle row prints the bundle subtotal (the sum of its option rows). Roll-Up and Standard bundles print the price on the bundle row and mark their option rows Included.

When to use: “the customer cares about the line-by-line breakdown.” Multi-year subscription bundles, professional-services bundles where each line is invoiced separately, etc.

How the quote document prints a subscription bundle

The generated quote reads the persisted line items, never a private recalculation, so what it prints is what the deal rolled up. A subscription line’s persisted quantity spans the contract term (two bundles over three years bill as six bundle-years), and the document prints that as units × term, 2 × 3 yr, so quantity × term × unit price ties to the line total on the page. Options follow the bundle’s term: a Component prints 2 × 3 yr, a static Accessory 1 × 3 yr, and a Discount option, which is never term-scaled, prints 1. A one-time product prints its plain quantity. The template’s line-item table can add a dedicated Term column; the Quantity column then prints the bare unit count. See Quote Templates.