If the extras your account lead agrees on WhatsApp never reach the retainer's hours, this is for you. It is not for an agency whose clients pay a fixed fee per deliverable and never ask about hours.
Where do the retainer's hours go?
The retainer agreement says 40 hours a month. In the second week the client sends a message: could you also cut a 15-second version of the teaser? The account lead says yes, because it is small and the client is good. Then Arabic subtitles. Then someone at Thursday's launch. Then one more round on the deck. Four extras, each too small to raise, none of them in the contract.
Nobody did anything wrong, and the fee did not move. The hours did. Margin, a blog about agency finance, puts it this way: scope creep "shows up first as hours climbing against a fixed fee, months before anyone identifies a specific out-of-scope request." Its worked example is one account over a year. The fee stays at USD 36,000 a quarter, the hours climb from 204 to 331, and the effective hourly rate falls from USD 176 to USD 109.

The fix starts in the agreement, before anyone opens a timesheet.
Which three lines should the retainer agreement have?
Most retainer templates name the fee and the services. The ones written by people who have lost money on retainers add three lines, and both templates we read agree on them.
- What the hours cover, and what they do not. Timelint's template (February 2026, from a company that sells retainer tracking) splits scope into "This retainer covers" and "This retainer does not cover", with new features and major redesigns on the second list.
- What happens to unused hours. Timelint asks you to "Pick one": no rollover, capped rollover, or expiry after a set number of months. ACE's template on DEV Community (May 2026) defaults to 25 percent rollover that expires after one month, and adds that "underutilization does not reduce the fee."
- How an extra is agreed. Timelint: "No work proceeds out of contract without written approval." ACE's mechanism has three steps: either side flags the request, the agency confirms it in writing, and the client approves before work starts. Email is enough. ACE prices that work at 1.25 to 1.5 times the retainer's implied hourly rate.

The rollover line matters more than it looks. ACE describes the fight it prevents: the client uses 12 of 20 hours in month one, 24 in month two, and says the unused 8 rolled over. Any of the three rules works. Leaving it unwritten does not.
These are the shapes of the clauses, not the wording. Have a lawyer write the final text for your contract, and for a client in Saudi Arabia, check which law the agreement is under.
How should one extra move from the chat to the invoice?
The clause only works if the team uses it every time. ACE's warning: a process "used inconsistently" teaches the client "that the boundary is performative." So every extra, however small, gets the same four steps.
- 01The client asks, usually on WhatsApp. The account lead replies that it is outside the retainer.
- 02The account lead sends the price or the hours it will take, in writing.
- 03The client says yes in writing. The account lead copies that yes, with its date, into the description of the Extra entry.
- 04The team logs the hours for it under an Extra tag, apart from the retainer's own hours.

The first reply is the hard one, so give your account leads the words. Something like: "Happy to do the 15-second cut. It sits outside this month's retainer: about three hours, AED 1,350. Shall we go ahead?" The amount is a sample; use your own rate. What matters is the shape: what it is, a number, a question. The client can say yes in the same chat.
The fourth step is the one most agencies skip. Margin's advice is to give unscoped work its own code: logged under the client's main project, extras are invisible; "Logged separately, they are a number you can put in front of the client." The same post says to write down the hours you assumed when you priced the retainer, because without that number there is nothing to measure the drift against.

When should the client also see the hours?
A good clause is often enough. If the client has never queried a month and the account sits inside its hours, the agreement and a monthly summary will do.
Show the client the hours themselves when either of these is true:
- Extras are being agreed in a chat. A yes on WhatsApp is easy to forget by month end, on both sides. A report that lists the extras by name settles it.
- One account has run over twice. Then the next conversation is about the fee, and it goes better with the hours on the table.
Waco3's roundup of Reddit retainer threads (May 2026) reports one freelancer who "showed the client weekly hours used. They switched from 'do whatever' to 'let's be strategic about these hours' because they saw the finite budget." Margin makes the same point from the agency side: with the hours data, asking for more money stops being a negotiation and becomes a report of a fact.

In Mindcat Hours, each retainer gets an hour estimate, and the project list shows the hours used against it, with a bar that turns red past 100 percent. Entries carry a tag such as "In scope" or "Extra". At month end you save a report for the client and send the link; they open it on a phone with no login, and you choose whether it shows amounts. The screen below is from our page, with sample data for a sample Dubai agency.

We covered the earlier choice, a spreadsheet or software at all, in our post on timesheet templates for Dubai agencies.
What will Mindcat Hours not do?
It records and reports the hours. It does not enforce the clause for you:
- There is no approval step. The client reviews the report link; hours can still be edited after the report goes out, and there are no locked months.
- There is no automatic alert when a retainer passes its estimate. The red bar is on the project list for the account lead to see.
- It does not raise invoices. During managed setup, priced hours go to Mindcat Accounts for the VAT invoice, or out as an export for your accounting system.
- The screens are in English. Your team can type entries, clients and projects in Arabic.
- It takes no screenshots and scores nobody. It records the time your team logs.
Hours is for time billed to clients. Plans and dates belong in Mindcat Projects, and attendance and payroll for your own staff in Mindcat People.
What does it cost a 20-person agency?
From the Hours pricing: AED or SAR 39 per user a month for users 1 to 20, on the shared plan, with a minimum of AED/SAR 690 a month that covers up to 17 users. So a 20-person agency pays 20 × 39 = AED 780 a month on the bands, above the minimum. A team of 10 pays the AED 690 minimum, not 10 seats. Clients who open a report link are free.
Up to 50 users, the quick start is a fixed AED/SAR 2,500: we set up your organisation and import your clients, projects and rates. Above 50 users, setup is managed: AED/SAR 9,900 for 51 to 200. Annual prepay takes 15 percent off the part above the minimum. Prices exclude 5 percent UAE VAT and 15 percent Saudi VAT.
How do we decide?
Our method is called Log it, price it, show it. Before setup we ask for one retainer: what it covers, the hours it was priced on, and last month's extras. We set the hour estimate and the Extra tag on that retainer, and we tell you whether the clause alone will hold or whether that client should get a report link from the first month. More on the agencies we work with is on our digital agencies page.
This is not for you if your clients pay a fixed fee per deliverable and never ask about hours. Tell us how many people log time, how you bill clients and what you track time in today. We reply with the setup plan and the monthly price per user, in AED or SAR.

