How Contracts Work
The two contract screens and what each is for, how renewals now transition automatically, and how the real SLA engine plugs into a support agreement.
Two contract screens, two jobs
| Where | What it is for |
|---|---|
| ERP β Contracts | The commercial agreement β client, value, term, billing cycle, the services it covers. This is where a managed-service or retainer contract lives. |
| Ticketing β Contracts | The support entitlement β a bank of hours a client has bought, drawn down by time logged on their tickets, with an overage rate once the bank runs out. |
A client often has both, and they are separate records. Creating one does not create the other.
Creating a commercial contract
ERP β Contracts β New Contract:
- Client β the CRM company (required)
- Contract Number β auto-generated if you leave it blank
- Type and Category
- Contract Value (Β£)
- Start Date (required) and End Date
- Billing Type, and for recurring contracts a Billing Cycle and Billing Amount (Β£) β leave the amount blank to bill the total of the linked services instead
- Auto-Renew
- Notes
Open the saved contract to link services from the catalogue, Generate Invoice for the current period, or Analyze it. The top of the list carries Total Contracts, Active Contract Value, Monthly Recurring, and Expiring Soon (within 90 days).
Renewals
Renewal status is now maintained for you. A daily job checks every contract's
end date against today and moves its status through Active β Expiring β
Expired on its own β a contract enters Expiring 90 days before its end date,
and Expired once that date has passed. Every automatic transition also fires a
contract-updated event, which is exactly what activates the "Contract expiring
soon" and "Contract renewal due" templates in the automation rule library β add
one of those (or build your own on the contract trigger) to get an email or
notification a set number of days out, rather than relying on catching it on
the Expiring Soon count on the contracts list.
Set Auto-Renew on a contract you expect to roll rather than close out β it doesn't change the automatic status transitions above, but it's the flag your own renewal workflow should be checking.
Support contracts and hours banks
Ticketing β Contracts β New Contract takes a Contract #, Value (Β£), Hours Bank, Start Date, End Date, and Overage Rate (Β£/hr). Use Log Time on the contract β Duration (minutes) and a Description β to draw the bank down. The Utilization tab shows how much of each bank has been consumed.
What SLA does today
A support contract still displays the SLA tier it's on, but the SLA policy itself is no longer read-only theatre β it's a real, enforced engine. Response and resolution deadlines are calculated and stamped on every ticket, however it was raised (portal, dashboard, or email-to-ticket), by matching the company's SLA tier and the ticket's priority against an active policy. A background sweep checks those deadlines every five minutes and flags a breach the moment one is missed, which can in turn trigger an automation rule. See Configure SLA Policies for how to set policies up.
Treat the SLA policy as the operational half of an agreement and the hours bank as the commercial half β both are now enforced, and they answer different questions: is this ticket late, and has this client run out of paid hours.
How contracts connect to the rest of the platform
CRM: every contract belongs to a CRM company, and the company record shows its contracts.
Accounting: a recurring contract can generate its invoice from the linked services with Generate Invoice.
Ticketing: time logged against a support contract draws down its hours bank; past the bank, the overage rate applies. The SLA tier on the contract is what tickets from that company are matched against.
Automation: contract created and updated events β including the ones
raised automatically by the daily renewal transition β can trigger rules:
notify an account manager, raise a task, email the client.
Where to go next
Was this article helpful?