Stop offering Business the add-ons it already includes

Fixkamo-internal
Shipped
August 23, 2026 at 5:35 AM UTC
Author
kamo
Commit
bd0e94b

Choosing Business still presented video conferencing, the AI assistant, the HR system and e-signatures as things to buy, even though the plan bundles all four. The catalog has recorded that all along; the console just never read it, so it offered every add-on regardless of plan and quoted a price the bill would then charge — $31/seat/month on top of a seat that already carried them. Included rows are shown, not hidden: they are much of why the Business seat costs what it does, and dropping them off the screen at the moment someone picks Business hides the value they just bought. They render locked and on, labelled "Included with Business" instead of priced, and going back to Starter turns them into purchases again. Add-ons the plan cannot take are dropped from the picker entirely, since the save discards them anyway. buildQuote skips an included add-on outright — no line and no metered footnote — so the estimate agrees with what BillingService bills, and changing plan purges the codes the new plan makes redundant so Save cannot light over a difference the save is unable to produce. Both mail add-ons are included in no plan, so they stay ordinary toggles on every tier. That is pinned by tests rather than left to reading, because it is exactly what a blunter "Business needs no add-ons" shortcut would break. includedInPlanCodes absent means "the server did not say", not "everything is included", so an older BillingService behaves as it does today.

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