Timesheets and billable hours for Gulf agencies, consultancies and law firms (Mindcat Hours)

UAE

Extras agreed on WhatsApp are eating the retainer: what your retainer agreement should say

By Shivanath DevinarayananPublished 8 min read
Written forCOO or operations lead whose work crosses teams, partners and systems“Your team chases every decision across WhatsApp, email and Excel.”

The short answer

Our agency retainer says 40 hours a month, and the client keeps asking for quick extras on WhatsApp. What should the retainer agreement say, and should the client see the hours?

Write three lines into the retainer: what the hours cover, one rule for unused hours (no rollover, capped rollover or expiry), and that extras are priced and agreed in writing first. Show the client the hours once extras are agreed in chats or an account runs over twice. At Mindcat, we set that up first.

An hourglass running low on an agency desk at dusk, a phone beside it lit with four chat bubbles: 40 hours, four extras

Takeaways

  1. 01A retainer agreement needs three lines: what the hours cover, what happens to unused hours, and how extras are priced and agreed.
  2. 02Pick one rule for unused hours before the first quiet month: no rollover, capped rollover or expiry.
  3. 03Every extra is flagged, priced and agreed in writing before work starts, then logged under its own tag.
  4. 04Show the client the hours once extras arrive by chat or an account overruns twice. Until then the clause is enough.
  5. 05Mindcat Hours records and reports the hours. It has no approval step, no locked months and no automatic alert.

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.

Same fee, more hours: 40 hours priced, 40 hours plus extras delivered. Write the hours down when you price
The fee stays put. The hours do not.

The fix starts in the agreement, before anyone opens a timesheet.

If your retainers run over and nobody sees it until the year ends, Mindcat Hours logs every extra under its own tag and shows the hours used against each retainer.

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.

  1. 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.
  2. 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."
  3. 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.
Three lines in the retainer: what the hours cover, unused hours (no rollover, capped rollover or expiry), extras agreed first
Write these before the first extra arrives.

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.

  1. 01The client asks, usually on WhatsApp. The account lead replies that it is outside the retainer.
  2. 02The account lead sends the price or the hours it will take, in writing.
  3. 03The client says yes in writing. The account lead copies that yes, with its date, into the description of the Extra entry.
  4. 04The team logs the hours for it under an Extra tag, apart from the retainer's own hours.
One extra, four steps: client asks on WhatsApp, account lead flags it, price and yes in writing, hours logged as Extra
The same four steps for every extra, however small.

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.

An agency account lead at a Dubai studio desk at dusk, reading client messages on a phone beside a laptop and mood boards
Where most extras are agreed: a phone, after hours.

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.

Should the client see the hours? The clause is enough if they never query a month; add a report link if extras or overruns
Two signs it is time to show the hours.

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.

Mindcat Hours time list with sample data: a running timer for a call on launch extras and the week's entries tagged by scope
A real Hours screen with sample data: each entry carries its client, task and tag.

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.

Filed under

Timesheets and billable hours for Gulf agencies, consultancies and law firms (Mindcat Hours)retainer agreement templateretainer rollover hoursout of scope work retaineragency retainer hours
Useful to someone on your team?

FAQ

Questions teams ask next

What should an agency retainer agreement include about hours?
The hours included each month and what they cover, what happens to unused hours, and how out-of-scope work is flagged, priced and approved. Timelint's retainer template (February 2026) asks you to pick one of no rollover, capped rollover or expiry, and states that no out-of-contract work proceeds without written approval. Have a lawyer write the final wording for your contract.
Should unused retainer hours roll over?
That is a commercial choice, and any of the three works if it is written down before the first quiet month. ACE's retainer template on DEV Community (May 2026) defaults to 25 percent rollover that expires after one month, with a no-rollover variant, and says underused hours do not reduce the fee.
How do you stop small extras eating a retainer?
Give each extra the same three steps every time: flag it, price it and get a yes in writing, then log its hours under an Extra tag. ACE warns that a process used inconsistently teaches the client the boundary is performative. Margin, an agency-finance blog, adds that unscoped work logged under its own code becomes a number you can put in front of the client.
Can a client see retainer hours without logging in to Mindcat Hours?
Yes. Save a report for that client and send the link. They open it on a laptop or phone with no login, and you choose whether it shows amounts. Links can expire. The client reviews the report; there is no approval step in Hours today.
What does Mindcat Hours cost for a 20-person agency?
AED or SAR 39 per user a month for users 1 to 20, so 20 users come to AED 780 a month. The shared plan has a minimum of AED/SAR 690 a month, which covers up to 17 users. The quick start is a fixed AED/SAR 2,500 for up to 50 users. Clients who open a report link are free. Prices exclude 5 percent UAE VAT and 15 percent Saudi VAT.

Sources

  1. 01Timelint: Retainer hours and out-of-contract policy template (a vendor's template, 2 February 2026)Accessed 11 Nov 2026
  2. 02ACE on DEV Community: The retainer agreement clause that prevents 'while you're at it' from eating your monthly hours (10 May 2026)Accessed 11 Nov 2026
  3. 03Margin: Scope creep is a measurement problem before it's a process problem (an agency-finance blog, August 2026)Accessed 11 Nov 2026
  4. 04Waco3: Freelance retainer agreement, Reddit advice worth keeping (a roundup of Reddit threads, 28 May 2026)Accessed 11 Nov 2026
  5. 05Mindcat Hours: prices and what is ready today (live page)Accessed 11 Nov 2026
Shivanath Devinarayanan, founder of Mindcat

Written by

Shivanath Devinarayanan

Founder, Mindcat Consulting · Salesforce MVP Hall of Fame

Builds and runs AI agents in production. Reads every brief that comes in and signs the work that goes out.

About Shivanath

Mindcat Hours · the written assessment

We work in real estate and right now, leads go cold before anyone replies.

Industry
Problem

Brief: Real estate. Leads from portals and WhatsApp. Follow-up has no owner. An agent on a named process. A reviewer on the exceptions. From: /blog/retainer-agreement-whatsapp-extras.