Retainers break when the boundary is fuzzy. A good policy makes the boundary legible early.
This template is written for agencies running support retainers with ticket-based time tracking.


The template
Scope
This retainer covers:
- support requests submitted through the portal
- bug fixes and small improvements within the agreed scope
This retainer does not cover:
- new features / roadmap work (unless agreed)
- major redesigns or re-platforming
- third-party vendor support delays outside our control
Monthly hours
- Included hours per month: [X]
- Start date: [date]
- Billing cadence: monthly
Rollover
Pick one. Keep it simple.
- Option A (no rollover): unused hours expire at month-end.
- Option B (capped rollover): unused hours roll over up to [cap] hours.
- Option C (expiry): rolled-over hours expire after [N] months.
Time tracking rules
We track time per ticket. Each time entry includes:
- duration
- date
- a short note describing the work
We review remaining hours weekly. If remaining hours are low, we raise it early.
What counts as “out of contract”
A ticket is out of contract when:
- it falls outside scope, or
- it requires more time than the remaining retainer balance, or
- it should be handled as a project (not support)
Out-of-contract workflow
When a ticket is out of contract:
- Mark it out of contract.
- Record the reason in plain language.
- Provide one of:
- an estimate and approval step, or
- a quote/change request, or
- a recommendation to defer.
No work proceeds out of contract without written approval.
Communication
Clients should not have to ask “where is this?”. In your updates, include:
- ticket status updates in the portal
- a weekly summary (if requested)
- a clear list of decisions needed
Notes
- Retainers fail from surprise, not from intent. Keep remaining time visible.
- If you need to argue about time logs, your notes are not clear enough.
If you want retainer tracking tied to tickets (and a service desk inside projects), see Support retainer hours tracking.