Understand agreement billing and renewal
Open Agreements → Renewal Risk in Thermal →
Set up a service agreement covers creating an agreement. This guide covers what happens after: how — and when — it actually turns into money, and what happens when its term ends.
An active agreement does not bill itself
This is the fact that surprises people: creating or activating a service agreement never generates an invoice, and there's no recurring charge that fires automatically during its term. The agreement's Price per Year and Service Cadence only control how often Thermal schedules a preventive-maintenance visit — not how often the customer is billed. Those PM visits are billed the same way any other job is: as a normal work order, following Bill a completed work order.
The one invoice Thermal generates directly from an agreement is the renewal invoice, described below.
Renewal
An agreement moves from Active to Due for Renewal automatically — Thermal checks daily and flips the status once the expiration date is within your shop's renewal window (default 30 days out — Settings reference). If it isn't renewed by the expiration date (plus a grace period, default 0 days), it moves to Expired.
What happens next depends on Auto-renew, the checkbox on the agreement itself:
- Auto-renew on — Thermal extends the term by one cadence period automatically, on the same daily check. This keeps coverage continuous with no invoice generated — renewing this way doesn't bill the customer for you.
- Auto-renew off (the default) — the agreement sits at Due for Renewal or Expired until an Office or Owner user renews it by hand, either from the agreement record or from the renewal-risk queue (below).
Renew and bill in one step
From a Due for Renewal or Expired agreement's detail page, choose Renew + Invoice. This is the only path that both extends the term and creates a draft invoice for the next term's price — a manual action, not something that runs on its own. The invoice is a normal draft invoice ("Service agreement renewal" as its note), so from there it follows the same sending and payment steps as any other invoice.
Does the price change on renewal?
By default, no — a renewal keeps the same Price per Year unless your shop uses a rate card with a renewal escalation rule attached, in which case the new price follows that rule. There's also an org-wide suggested escalation percentage (default 5% — Settings reference), but that number is only ever applied through the Suggested-renewal review below — plain auto-renew and a plain manual renewal never apply it on their own.
The renewal-risk queue
Agreements → Renewal Risk ranks every active, due-for-renewal, or expired agreement by a risk score built from real signals on the account: how close it is to expiring, whether it has past-due invoices, whether auto-renew is off, whether PM visits are overdue or incomplete, and whether the customer has turned down an upsell recently. It's a triage list, not an automation — renewing a row from here does the same plain term-extension as the agreement page's own renew action (no invoice, no price change).
Suggested renewals
If your shop turns on the Agreement renewal module (Settings → Automations), Thermal reviews agreements approaching renewal and drafts a suggested renewal — with a suggested price escalation — for an Owner or Office user to approve before anything actually renews. This module never renews or bills on its own; approval is always required, and there's no "Auto" mode for it.
What isn't built yet
To keep this page accurate to what the product does today: service agreements don't support prorating a mid-term start or cancellation, and there's no deposit charged when an agreement begins. Neither exists in the product yet — don't rely on either when quoting a customer.
Reference
- Agreement statuses — the exact status enum is in Status & domain values.
- Renewal window, grace period, and escalation defaults — in Settings reference.