Multi-option quotes with per-option comparison totals

Featurekamo-shared-library
Shipped
August 3, 2026 at 8:43 PM UTC
Author
Kamo
Commit
fb8989e

A quote can now present several mutually-exclusive ways to buy — monthly, annual, three-year — instead of forcing three separate documents that drift apart the moment the seat count changes. - QuoteOption owns its own line items and totals; siblings are never summed. - QuoteOptionTotals normalises each option to a monthly equivalent, which is the only basis on which different billing terms can be compared, plus a contract total and savings against the flagged baseline. - Billing term and commitment length stay separate: paying annually is not the same commitment as a three-year term billed annually. - Quote.quantity is a shared driver; a line opting in with usesQuoteQuantity reprices across every option at once. QuoteTotals honours it identically on flat sheets so a line cannot price differently inside and outside an option. - Accepting a multi-option quote requires naming the option; siblings close as NOT_SELECTED and acceptedOptionUid records the choice. QuoteTotalsTest 15, QuoteOptionTotalsTest 11, QuoteShareTokenTest 9 — all pass.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing