← All posts

Quotes that run out, and leads that go quiet

Bookings rarely die with a “no”. They die quietly. You send the quote, the client says they will talk it over, and then nothing. Two weeks later you cannot remember whether you followed up, and by the time you think of it again they have booked somewhere that emailed them on day four.

Two changes, one for each half of that.

Valid until finally does something

Every quote has always carried a Valid until date. It printed on the client’s copy, it printed on the PDF, and nothing in the app paid it the slightest attention. A client could open a quote from March in September and accept it at March prices.

Once the date passes, the client’s Accept quote button goes and the panel says the quote has lapsed and invites them to ask for a fresh one. Request changes is untouched and becomes the main button, so a client who has finally decided is one click from telling you rather than staring at a dead page. The quote itself, its lines, totals, terms and PDF, all still render. Lapsing is not the same as voiding.

Your side is not blocked. Mark accepted still accepts it, still creates the booking, still seeds the charges, because a client ringing up to say yes on day 32 should not be turned away by a date field. You get a Lapsed badge beside the date instead, so you know the pricing you are about to commit to is older than you meant it to be.

The default lives on Tax & invoicing as Quotes stay open (days), shipping at 30. It is now its own number, separate from payment terms: how long a client has to decide is a different question from how long they have to pay something they already won. Change one quote’s date inline and the client’s existing link works again, Accept button and all.

Lapsed quotes read as lapsed on the quotes list, which you can filter by, and they stop counting on the leads pipeline and the Quotes report as money still in play.

Three automations that watch for nothing happening

Every nightly sweep in 1pm walked events, invoices, appointments or crew. None of them walked leads, which left the one place bookings actually die with nothing watching it.

Three triggers now do, each firing a set number of days after the step before it, if the next step still has not happened:

  • Quote not opened. Usually not a sales problem at all. An unopened quote after three days is far more likely spam foldered, a typo’d address, or a corporate filter eating the attachment, so this one wants a short plain email asking whether it landed.
  • Quote not accepted. The classic chase, and the one to build first if you build only one.
  • Accepted, no payment. The expensive one to leave alone. The client believes the date is held, it is not, and you have both been operating on different understandings for a fortnight.

Each counts from a moment stamped once and never moved, the same moments the pipeline gauge on a lead row lights up. Notably not from the date of the last message, which looks like the obvious column and is a trap: your own automated emails would bump it, and the chase would reset the silence it was watching for.

Each fires once per lead, so stack them at different intervals for a ladder. Three days light, ten days the value email, twenty-one days the polite “shall I release the date?”, which produces more decisions than the other two combined. A chase stops the moment the lead takes the step, and leads you have marked lost, spam or archived are never chased at all.