ClickUp retainers: Track hours against what the client paid
To track a retainer in ClickUp, give each client one task per month with the hours they bought in a Number field. Log all the month's time on subtasks under it. Then a Dashboard shows hours used against hours bought, per client, any day you look. No spreadsheet next to it.
Most agencies don't do this. They run delivery in ClickUp and track retainer hours in Excel. One agency owner told us exactly that: retainer hours sat in a spreadsheet, outside the tool, and he couldn't forecast next month because those tasks didn't exist yet. Another founder's partner collected time from every designer and developer by hand, typed it into a sheet, and built the report from that.
Both setups tell you the month went over. Neither tells you while there's still time to do something about it.
The spreadsheet is always behind
Somebody has to copy the hours over, and that somebody is busy. So you find out a client used 34 of their 20 hours on the 31st, when the only choice left is to eat it.
Over-servicing doesn't show up as one big mistake. It's 30 extra minutes here, a "quick" revision there. It only shows if the hours and the limit sit side by side, live.
Step 1: one retainer task per client per month
In each client's Folder, keep a List called Retainer. Add one task a month, named like "Acme November retainer".
Add 2 fields:
Hours bought, a Number field. Use whatever the contract says, like 20 or 40.
Month, a Date field set to the first of the month, so filters can find this month's tasks.
The task is the container. The real work happens in subtasks underneath it, like the 4 social posts and the monthly report. ClickUp rolls subtask time up to the parent, so the retainer task shows the month's total.
Step 2: log time on the work, not on the retainer
Your team tracks time on the subtask they're working on, with ClickUp's timer or a manual entry. Not on the parent. Not in a separate time sheet.
This is the step that decides whether any of it works. If half the team logs time and half doesn't, the Dashboard shows a client at 40 percent who's really at 90. Make it part of the definition of done: no time logged, the task doesn't close. Using ClickUp timesheets covers the timer, manual entries and approvals.
Mark the time billable where your contract cares about the difference. Internal calls about the client often aren't.
Step 3: a Dashboard that shows burn
Build one Dashboard for all retainers. For each client, 2 numbers sit side by side:
A Calculation card set to Sum of Time tracked and filtered to that client's retainer task for this month.
The Hours bought value from the same task.
Now the Monday meeting has a real question in it. Acme is at 16 of 20 hours on the 12th. Do we slow down, or do we call them about more hours?
The limit. ClickUp's Calculation card sums time tracked on the tasks you filter to. It doesn't filter by the date the time was logged. That's why the month lives on the task and not in the filter. If you need time by entry date, the Time Reporting card does that, grouped by person or task. It won't give you one total.
Step 4: decide what happens at 80 percent
ClickUp has no built-in alert when tracked time passes a share of a Number field. Agencies have asked for budgeted against actual hours on ClickUp's feedback board, and it's not there yet.
So pick one of these:
A weekly check. The account lead opens the Dashboard every Monday and flags anyone past 75 percent. It's free. It works if one person owns it.
A time tool on top. Everhour connects to ClickUp, tracks budgets in hours or money, and can notify at 75, 90 and 100 percent. It costs a subscription and a second place to look.
Our take: start with the weekly check. If nobody does it for 3 Mondays in a row, you need the tool, and now you know.
Step 5: create next month before it starts
This is the forecasting problem from the top of the post. You can't plan capacity for work that has no task yet.
Set the retainer task to recur monthly, with its subtasks. ClickUp creates next month's task with the same fields and the same deliverables. Now you can count next month's hours across every client, before the month starts. The ClickUp workload view turns those estimates into each person's capacity.
Unused hours expire or roll over
ClickUp won't decide this for you, and it shouldn't. Write it in the contract first: hours expire, roll over for one month, or roll over with a cap. Then mirror it in ClickUp. If they roll over, add the leftover to next month's Hours bought by hand when you close the month. It takes a minute per client and it keeps the rule visible.
FAQ
Is there a ClickUp retainer template?
ClickUp has general time-tracking templates, but not one built for agency retainers. Build the structure above once, then save the List as a template and apply it to each new client.
Can ClickUp show hours used against hours bought?
Yes, with a Dashboard. A Calculation card sums time tracked on the retainer task, and the Hours bought field sits next to it. ClickUp doesn't compute the percentage for you on a card, so you read the 2 numbers together.
Can clients see their retainer hours?
They can if you share the Dashboard, but think first. A client who sees 3 hours on a task they think took 20 minutes will ask about it. Most agencies share a monthly summary and keep the live hours internal. Our post on the ClickUp client portal covers what to show.
Do I need Everhour or Harvest for retainers?
Not to start. ClickUp's own time tracking and Dashboards handle the basics. Add a tool when you need budget alerts or invoicing from the same data.
What about project-based clients?
Same idea. Put the budget in hours on the project task and the work in subtasks under it. The only difference is the task doesn't recur.
Next
Hours over a retainer are money the agency already earned and gave back. The Agency Blueprint scores it with the rest of your setup in 2 weeks. If you want ClickUp built around your retainers from day one, see how we set up ClickUp for agencies.
