Features How It Works Pricing Free Tools Blog About Contact
Sign in Start free trial

Feature

Pricing packages with a side-by-side compare table

forquotez lets you publish prebuilt pricing packages on any quote form and shows them as cards with a compare table underneath. The rep can present the packages, switch to a fully custom quote mid-call, and the comparison can carry into the saved PDF and the public share page.

By the forquotez team. Last updated October 13, 2026.

What packages are

A package is a prebuilt configuration of a form: a named bundle such as Starter, Professional or Enterprise with its own block selections, quantities and price. It is the standard good-better-best layout, attached to a real quote instead of a static pricing slide.

Each package carries its own copy of the form's blocks. In the package builder you can copy blocks from the parent form, add new ones without touching the parent, edit any block's settings, reorder with drag and drop, and set the selections that drive the headline price: which tier is preselected, which volume package, which cards.

Packages have a draft or published status. Drafts stay hidden. One package can be marked Featured to get a visual highlight as the recommended option.

How packages work on a live call

When a form has at least one published package, the runner shows two tabs: Custom Quote and Prebuilt Packages. You can switch between them at any point in the call.

The packages tab shows one card per package with a price headline, "what's included" bullets and optional add-ons. Add-ons are priced automatically from the block they draw from. When the buyer asks for one and you check it, the card's headline price updates on screen, with one-time add-ons shown as a sub-line.

A common pattern in live presentation mode: open on the three packages to frame the range, then move to the custom tab if the buyer needs something in between.

The compare table

Below the cards sits a comparison table, configured in the form's package settings. It supports two kinds of rows:

Row typeWhere the value comes fromGood for
StaticYou type the value for each packageService levels and other descriptive differences
DynamicBound to a block, showing that block's quantity, computed total or selected label in each packageSeats, usage allowances, selected tiers

Dynamic rows stay correct on their own. If a package raises a quantity, the cell in that package's column shows the new number without anyone retyping it.

A setting called "Include in saved-quote PDFs" controls whether the table is frozen into quotes saved from a package. When it is on, the PDF and the public share page both show the comparison. When it is off, they show only the selected package.

Sample walkthrough: three packages for a fictional agency

This example uses a made-up company, Fernwood Digital, an agency selling social media management. The prices are illustrative.

  1. The owner creates three packages on the retainer form: Launch at $2,000 per month, Growth at $3,500 and Scale at $6,000. Growth is marked Featured.
  2. Each package sets its own quantity on the "managed profiles" block: 2, 5 and 10. The linked included list on each card shows that package's number.
  3. She adds dynamic compare rows for managed profiles and monthly posts, and a static row for reporting cadence.
  4. She gives Scale a package-level discount of 10 percent on recurring lines only, labeled "Partner discount".
  5. She adds paid ads management as a highlighted add-on on all three cards.

On the call, the buyer compares the three columns, picks Growth and asks for the ads add-on. The rep checks it, the headline price updates, and the quote is saved with the compare table included in the PDF.

Package discounts and what packages pair with

Each package can carry its own discount: a percentage or a fixed dollar amount, applied to recurring lines, one-time lines or both. It renders as its own labeled line in the runner totals, the public share page and the PDF, so the buyer sees it as a separate item. A cart-level discount can still be applied on top.

Packages are frozen the same way quotes are. Once a quote is saved from a package, it owns a copy of that package's blocks, selections, discount and comparison rows. Editing or deleting the package later does not change it. You can clone a package to start a new one, and the clone is created as a draft.

If you are still deciding how to shape the tiers, the free pricing tier builder helps you draft them, and the post on using the decoy effect explains how a middle or top option changes how buyers read the others.

Frequently asked questions

Can I mark one package as the recommended option?

Yes. Mark a package as Featured and its card gets a visual highlight in the runner.

Can a rep still build a custom quote if the form has packages?

Yes. The runner shows a Custom Quote tab and a Prebuilt Packages tab, and the rep can switch between them during the call.

Does the compare table appear in the PDF?

It does when the Include in saved-quote PDFs setting is on for the form. The table is then frozen into the saved quote and shown in both the PDF and the public share page.

Do I have to type every compare table value by hand?

No. Dynamic rows are bound to a block and show the quantity, computed total or selected label that each package is configured with. Static rows are there for values you want to type yourself.

What happens to saved quotes if I change a package?

Nothing. A quote saved from a package keeps a frozen copy of the blocks, selections, discount and comparison rows as they were at save time.

Build your first quote and present it on your next call.

Start a free 30-day trial