Sandbox mode. No payment processor is connected, so checkout runs against a built-in simulator. Nothing on this site can charge a card right now.

Residential HVAC contractors

What belongs in an agreement renewal tracker

Most contractors have a list of agreements. Very few have a list that tells someone who to call this morning.

The difference is three formula columns.

The static columns

Customer, phone, email, tier, equipment, annual value, start date, expiry date. This is your agreement file.

Necessary, and completely inert on its own.

The columns that create action

Visits owed, status, attempts, last contact, next contact due, days to expiry, due now, priority and objection.

Visits owed is the one contractors skip and the one that changes renewal rates most, because it identifies the customers who have every right to say no.

  • Visits owed — dollar value of included visits not yet delivered
  • Status — fixed dropdown, never free text
  • Attempts — counter driving the cadence interval
  • Next contact due — formula: 90 days before expiry, then tightening intervals
  • Days to expiry — expiry date minus today
  • Due now — flags DUE, and that filter is your call list
  • Priority — anything expiring within 90 days is A regardless of value

The report to run monthly

Count objections. If most say price, your increase was not explained before it appeared on an invoice. If most say they never got their visits, you have a delivery problem being misdiagnosed as a renewal problem.

Contractors who skip this column spend a season improving the wrong thing.

Common questions

Excel or Google Sheets?

Either. The formulas work unchanged in both.

What if agreements renew on different cycles?

The formulas key off the expiry date on each row, so mixed annual, biennial and monthly agreements all work in the same sheet.

Related