How do I generate quotes for the whole season at once?
Renewal season shouldn’t mean re-quoting customers one at a time. Season quotes (the Season quotes button on your Quotes page) carries a prior season’s customers into the new season as draft quotes — everyone renewed on their own service at their own last price, uplifted if you choose.
Configure the run
Name the run (“2026/27 renewals”), pick the source and target seasons, and set the renewal price: keep last year’s price, or increase by a flat amount or a percent. By default each customer keeps their own current snow service — or you can renew everyone onto one package.
Offer upgrades with additional options
Add option lets each quote carry a higher-tier choice priced as “Renewal +” a flat or percent bump — renew on Standard, offer Premium alongside. A package’s add-ons come with it, each with its own price and a default-on switch.
Preview pricing and review every row
The review grid shows one row per customer and property from the source season, with the carried-forward price and where it came from (last season’s invoice, accepted quote, or quote). Prices are editable inline; rows with no prior price show “unresolved — needs a base” and stay deselected until you fill one in. Reachability chips warn when a customer has no email or mobile on file.
Generate — drafts, never straight to send
Generate creates draft quotes that land unsent in your Quotes list. Properties already quoted for the target season are skipped automatically, and the summary bar tells you exactly what will generate before you commit.
Send all when you’re ready
From Recent runs, Send all delivers every generated quote as a normal quote with its accept link by email and SMS — every send is logged. You can also open a run to send individual quotes, preview a customer’s accept link, or Send test a copy to yourself first to check how it lands.
If a run goes wrong
Deleting a run archives its generated drafts so those customers can be re-quoted — accepted quotes are kept. That’s the safe do-over.
Each generated quote behaves exactly like one you built by hand — accept, payment, and season binding all work the same. See “What happens when a customer accepts a quote?”.
