Multi-tier pricing (good, better, best)

Offer three packages on one proposal, keep each package's scope straight, export a single-tier PDF, and let the homeowner choose and sign.

Multi-tier pricing

One proposal, three prices. A homeowner comparing "the roof" against "the roof
with a membrane" decides faster than a homeowner deciding whether to get a second
bid.

Turning it on

Quote builder → Good / Better / Best Packages has the switch, the three
package names (rename them to Bronze / Silver / Gold if you prefer — the API keys
stay good, better, best), and the wording for each package. The wording is
seeded from the quote's dominant trade and editable per tier; anything you do not
edit keeps following the template.

Tagging lines

Every line carries a package tag:

Tag In which packages
All Every one — the default, and what an un-tiered quote's lines are
Good Good only (plus All lines)
Better Better only (plus All lines)
Best Best only (plus All lines)

Important: the packages are three separate selections, not a ladder. A line
tagged Better is not in Best. If you want the middle package to build on
the base, tag the shared work All and only the upgrade Better — that is
what the seeded templates assume.

Desktop has a Tier column; on a phone each line card has a four-way pill
selector. Both write the same field, so a change made in the truck shows up at
the desk.

What the client sees

The public proposal renders the three packages as cards with the price difference
against the base package, the three highlights, and an "At a Glance" comparison
table (lifespan, protection, maintenance, warranty) that follows whichever
package they are looking at. The scope below it filters to that package, and
package-specific lines are badged [ Upgrade ].

The clause above the signature names the package and the amount, and signing
records which package was chosen — the quote is then re-priced on that
package, so nobody is billed for a package they did not sign.

PDFs

  • Unsigned: the PDF compares all three packages and prints every line, badged.
  • Signed: the PDF prints only the signed package's scope, names it as
    Selected Option, and totals the package the client agreed to.
  • Previewing one package: append ?tier=good|better|best to any PDF download
    URL. A signed quote ignores it — a URL cannot rewrite what a client signed.

Closing

Found something out of date? The guides live in the repository's docs/ directory — fixing the guide is part of fixing the feature.