Product Bundles

How bundles are structured in Salesbuildr, how they sync with Autotask, ConnectWise, HaloPSA, and Dynamics 365, and what happens at post-sale.

Written By Victor Raessen

Last updated 6 days ago

Salesbuildr bundles let you sell multiple products as one package on a quote. A bundle is a Salesbuildr concept — parent line plus child products, with pricing built from the children. How that structure appears in your PSA depends on which integration you use, but the same pattern applies everywhere: the bundle parent never syncs outbound; only the child component lines do.

How bundles work in Salesbuildr

A bundle is a catalogue product that groups other products together. You create one by setting the product type to Bundle on the product detail page, then adding child products with quantities in the bundle section. See Product Detail for the full product editor walkthrough.

Parent line and child products

On a quote, a bundle appears as:

  • One parent line — the bundle itself. This is the line your customer sees as the package name on the proposal (unless you choose to show bundle contents — see Quote Editor).

  • Child lines — each product inside the bundle, nested under the parent. Each child keeps its own product type (hardware, service, labour, and so on), pricing, and billing term.

The bundle parent is a grouping row. It does not carry its own billing term or PSA catalogue record — only the child products do.

Pricing comes from the children

Bundle pricing is built from the child products you add:

  • Each child has its own cost and sell price (from the catalogue, distributor feeds, or manual overrides).

  • The bundle card in the catalogue shows totals grouped by billing term — for example, one-time hardware plus monthly service on the same bundle.

  • The bundle parent does not have a separate price field. What the customer pays is the sum of the enabled child lines.

Quantities multiply

Each child has a quantity per bundle (set when you build the bundle in the catalogue). When you add the bundle to a quote and set a bundle quantity, Salesbuildr multiplies:

Final child quantity = bundle quantity × child quantity per bundle

Example: a bundle contains 2× laptops and 1× docking station. If you quote 3 bundles, the quote syncs 6 laptops and 3 docking stations to your PSA.

How bundles sync to your PSA

Salesbuildr bundles are a quote and catalogue feature. No PSA receives a grouped bundle header when a quote syncs — only the individual child products appear on the opportunity or quote in your PSA.

BehaviourAll supported PSAs

Bundle parent on a Salesbuildr quote

Not synced — the wrapper row stays in Salesbuildr only

Child products inside the bundle

Synced individually — each enabled child becomes its own PSA line

Quantities on PSA lines

Reflect the bundle multiplier (bundle qty × child qty per bundle)

Salesbuildr bundle catalogue products

Not pushed to the PSA catalogue — rebuild packages in Salesbuildr or quote components separately

Optional add-ons on a bundle

Sync when selected on the quote, following the same flattening rules

The sections below cover PSA-specific import behaviour and post-sale handoff.

ConnectWise Manage

Catalogue import

When Salesbuildr imports your ConnectWise product catalogue, each ConnectWise catalogue row becomes one Salesbuildr product. The import does not expand ConnectWise bundle definitions into Salesbuildr bundle children.

What you have in ConnectWiseWhat appears in Salesbuildr

A bundle catalogue item with component products

A single flat product — no child products are created automatically

Individual component products in the catalogue

Each imports as its own separate product (if category mapping allows)

Practical impact: If you rely on ConnectWise bundle structures today, rebuild those packages in Salesbuildr — create a Salesbuildr bundle product and add the component products manually — or quote the components as separate lines.

For general ConnectWise product import settings, see Importing Products and ConnectWise Manage Setup.

Quote and opportunity sync

When a quote with bundles syncs to a ConnectWise opportunity, Salesbuildr flattens the bundle:

Salesbuildr quote lineSynced to ConnectWise opportunity?

Bundle parent line

No

Each enabled child product inside the bundle

Yes — each appears as its own opportunity product line

Optional add-ons on the bundle (if selected)

Yes — add-ons and their bundle children follow the same flattening rules

On the ConnectWise opportunity Products tab you see individual catalogue products, not a grouped bundle header. If a bundle child fails to sync, check that component product — not the bundle parent.

Post-sale: Create ticket

After a quote is approved, Create ticket hands work off to ConnectWise as a service ticket — not as a ConnectWise project, project phase, or phase task.

  • The line picker lists bundle components as separate selectable lines, not the bundle parent.

  • Product and labour children are selectable; service children are not shown (they remain on the opportunity for contract or agreement workflows).

  • ConnectWise receives a service ticket with product line items converted from the selected opportunity products.

  • No ConnectWise project, phase, or task is created from bundle structure.

See Fulfillment Tickets for the full post-sale workflow.

Autotask

Catalogue import

Salesbuildr syncs individual products and services from Autotask. Autotask Service Bundles are not imported — neither as Salesbuildr bundles nor as grouped PSA records. If recurring services are configured as service bundles in Autotask, recreate them in Salesbuildr as individual products or build a Salesbuildr bundle manually.

Salesbuildr bundle products are also not pushed back to Autotask as catalogue items.

See Autotask Configuration for sync limitations.

Quote sync

When a quote with bundles syncs to Autotask, the bundle parent row is skipped. Each enabled child product, service, or labour line syncs as its own Autotask quote item with the multiplied quantity.

Post-sale: Create ticket

Create ticket on an approved quote creates an Autotask service ticket with ticket charges for the lines you select.

  • Bundle components appear as separate selectable lines in the picker — not the bundle parent.

  • Only product and labour lines are selectable; service lines are excluded from the create-ticket dialog (same pattern as ConnectWise).

  • You can split bundle components across multiple tickets from one quote.

HaloPSA

Catalogue sync

Bundles created in Salesbuildr do not sync to HaloPSA as bundles. Only standard product, service, and labour catalogue rows push to Halo. If you need matching bundle items in Halo, create them manually in the Halo item catalogue.

See HaloPSA Setup for troubleshooting bundle sync.

Quote sync

When a quote syncs to HaloPSA, bundle children appear as individual quotation lines — the bundle parent is not included. Quantities and pricing on each line reflect the child row on the Salesbuildr quote, including the bundle quantity multiplier.

Post-sale: Create sales order

HaloPSA uses Create Sales Order instead of Create ticket. The behaviour differs from ConnectWise and Autotask in one important way:

  • Bundle components appear as separate selectable lines — not the bundle parent.

  • Product, service, and labour lines are all selectable (Halo includes services in the sales order dialog).

  • Halo receives a sales order with the selected lines — not a grouped bundle record.

See Fulfillment Tickets for the Halo sales order workflow.

Dynamics 365

If you use the Dynamics 365 integration, the same flattening rules apply:

  • Salesbuildr bundle catalogue products are not pushed to Dynamics.

  • On quote sync, the bundle parent is not included — only enabled child lines appear as quote detail rows.

  • Post-sale ticket creation is not available for Dynamics in Salesbuildr today; bundle structure does not map to Dynamics project phases or tasks.

Quick reference

TopicSalesbuildrConnectWiseAutotaskHaloPSA

PSA catalogue bundles on import

N/A

One flat product per row; no component expansion

Service Bundles not imported

Individual items only

Bundle on Salesbuildr quote

Parent + child lines

Child lines only on opportunity

Child lines only on Autotask quote

Child lines only on Halo quotation

Outbound catalogue sync

Bundle type not pushed

Not pushed as CW bundle

Not pushed

Not pushed as Halo bundle

Post-sale handoff

Pick flattened child lines

Service ticket + product lines

Service ticket + ticket charges

Sales order

Service children in post-sale picker

N/A

Not selectable

Not selectable

Selectable

Project phases / tasks

Not created

Not created

Not created

Not created

See also