> For the complete documentation index, see [llms.txt](https://docs.bluepro.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bluepro.ai/estimates-and-price-book/options-add-ons-and-modifiers-pricing-that-sells.md).

# Options, Add-Ons & Modifiers: Pricing That Sells

Three price book tools help you present the right price to the right customer: **Option Groups** let a customer choose a tier (Good/Better/Best), **Add-ons** let them add optional extras, and **Modifiers** apply an automatic adjustment (like an after-hours fee or a membership discount). This guide covers setting up and using all three.

> 🎥 **VIDEO —** Hero (90s): create an After Hours modifier, build a Good/Better/Best option group, add an add-on, then apply all three on an estimate. Top of page.

#### Video how-to on how to create a Good, Better, Best group option and how to create a modifier.

{% file src="/files/QBpfkRYADmWphRvfj4qt" %}

### Modifiers

A **modifier** is a price adjustment you apply to a whole estimate or invoice — for example, a 10% after-hours fee, or a flat-dollar loyalty discount.

**Setting one up:** Price Book → **Modifiers** tab → **Add Modifier**:

* **Name** — e.g. "After Hours"
* **Adjustment Type** — **Percentage (%)** or **Flat amount ($)**
* **Value**
* **Applies To** — **Services only**, **Materials only**, or **Services & Materials**
* **Customer Display** — **Show label on line items** (the customer sees "After Hours +10%") or **Adjust price only — no label shown to customer**
* **Active** toggle

> 📸 **IMAGE —** The Modifiers tab with the Add Modifier form open.

<figure><img src="/files/4mhnv8DjEJFSoeGYUJbA" alt=""><figcaption></figcaption></figure>

**Applying one:** In the estimate or invoice builder's pricing summary, a **Modifier** dropdown lists your active modifiers as "{name} ({adjustment})" — e.g. "After Hours (+10%)." Pick one and it recalculates line item prices instantly, showing a small badge underneath (e.g. *"+10% applied to services · not shown to customer"*).

> 📸 **IMAGE —** The Modifier dropdown in the pricing summary, with a modifier selected and its badge visible.

> ⚠️ **Note — Only one modifier at a time.** Modifiers don't stack. Selecting a new one replaces whatever was applied before.

### Membership-Linked Modifiers (Auto-Discounts)

If you sell memberships or service plans, you can link a modifier to a **Subscription Plan** so it applies **automatically** whenever you build an estimate or invoice for a member.

Set it up on the **Subscription Plan** itself: a **Linked modifier** dropdown lets you pick which modifier applies to that plan's members. The app's own description: *"Auto-applied to estimates and invoices for contacts with an active subscription on this plan. Still removable in the builder."*

When you start building for a contact with an active subscription, their linked modifier is pre-selected for you — but it's just a starting point in the same **Modifier** dropdown above, so you (or a manual modifier choice) can still change or remove it.

<figure><img src="/files/DkveiaEGUIoGxXrEOoLT" alt=""><figcaption></figcaption></figure>

> 💡 **Tip — Manual choice always wins.** If a job also happens to qualify for a manual modifier (like After Hours), picking that manually replaces the auto-applied membership modifier rather than stacking with it — remember only one modifier applies at a time.

> ⚠️ **Note — Web only.** Membership modifiers auto-apply when you build from the web app. There's no equivalent auto-apply on mobile — if a technician starts an estimate from the field for a member, apply the membership modifier yourself from the web before sending, or build it on web to begin with.

### Option Groups (Good / Better / Best)

An **Option Group** lets the customer choose between tiered versions of a service instead of you picking one for them.

**Setting one up:** On a service in the price book — or right in the estimate/invoice line-item editor — configure:

* **Tier Label** — e.g. "Good," "Better," "Best" (or your own wording)
* **Badge** — free text (e.g. "Best Value"), with quick toggles for **Recommended** and **Popular**
* **Included Features** and **Excluded Features** — short bullet lists shown to the customer
* **Default** toggle — which tier is pre-selected

> 📸 **IMAGE —** The Option Group editor showing tier label, badge toggles, and the included/excluded feature lists.

<figure><img src="/files/5hp6MGTgeqnlHs1lJqCQ" alt=""><figcaption></figcaption></figure>

**What the customer sees:** on the estimate, tiers render as side-by-side cards (stacked pills on mobile) — tier name, price (shown as a "+$X" from the selected tier), the feature checklist with ✓/✗ icons, a badge ribbon for Recommended/Popular/custom text, and a **Select** button.

> 📸 **IMAGE —** The customer-facing Good/Better/Best cards on a public estimate.

<figure><img src="/files/920nprgd5IVuOGBq43Ks" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/p4c3YwK4iIPL2RAiabD7" alt=""><figcaption></figcaption></figure>

> 💡 **Tip — Lead with the middle tier's value, not just its price.** Use the feature list to make the jump from "Good" to "Better" obviously worth it — that's usually where customers upgrade.

### Add-Ons

An **add-on** is an optional extra the customer can add to a service — unlike option-group tiers (pick exactly one), a customer can select **any number** of add-ons.

**Setting one up:** In a service's editor, the **Add-ons** section lets you attach existing services or materials as add-ons, either shared across all option-group tiers or specific to one tier. Each shows its name, description, and price (as "+$X").

> 📸 **IMAGE —** The Add-ons section on a service, showing a shared add-on and price.

<figure><img src="/files/3g626zafmEcmc2YsApcY" alt=""><figcaption></figcaption></figure>

**What the customer sees:** an **"Optional Add-ons"** section with a count, each one a checkbox row with an optional photo, name, description, an "Includes" list if it bundles materials, and its price. The customer checks off any they want.

> 📸 **IMAGE —** The customer-facing Optional Add-ons checklist on a public estimate.

<figure><img src="/files/H1KPZuXfw2o1jnukSUzt" alt=""><figcaption></figcaption></figure>

### What Works on Mobile

* **Add-ons** — fully supported. Technicians can present and let customers select add-ons when building or reviewing an estimate on mobile.
* **Modifiers** — display only. If a modifier was already applied on the web, mobile shows it in the cart, but there's no control on mobile to select or change a modifier.
* **Option Groups** — not available to set up or select on mobile; Good/Better/Best tiers are a web feature, and customers experience them through the estimate link (which opens the same web view even when the estimate was sent from a technician's phone).

> 💡 **Tip — Build tiered or discounted estimates on the web when you can.** If a job is complex enough to need Good/Better/Best options or a membership discount, it's worth building the estimate on the web (or from the office) so every tool is available — a technician can still send it and get approval from mobile once it's built.

### FAQ

* **Can I apply two modifiers at once?** No — only one modifier applies at a time; selecting a new one replaces the old.
* **Does a membership discount apply automatically?** Yes, on web, if the modifier is linked to the contact's active subscription plan — and it's still removable in the builder.
* **What's the difference between an option group and an add-on?** An option group is a choice between tiers (pick one); an add-on is an optional extra (pick any number).
* **Can technicians build Good/Better/Best estimates from the field?** They can send and get approval on one built on web, but option groups aren't configurable or selectable on mobile.
* **Will the customer know a modifier was applied?** Only if you set that modifier's Customer Display to "Show label on line items." Otherwise it silently adjusts the price.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bluepro.ai/estimates-and-price-book/options-add-ons-and-modifiers-pricing-that-sells.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
