Client Report Template: Results, Hours and the Next Decision on One Page

9 min read

A client opens your monthly report looking for two answers. Did the thing they pay you for work? And why is the invoice the number it is? If the first page answers both, the rest of the report gets read as evidence. If it opens with a list of tasks, it gets skimmed, and the questions arrive later by email, usually in the week the retainer is up for renewal.

This client report template is built around those two answers. It's a spreadsheet with six short sections: a headline, results against the targets you agreed, the client's spend and cost per result, the work you did (pulled from a time log), the retainer hours and what to invoice, and next month's plan with the decisions you need from the client. It suits marketing agencies, consultants and bookkeepers on a monthly retainer, and a filled-in example shows every part working.

Download the client report template (.xlsx). It opens in Excel, Google Sheets and Numbers, with no macros, and has a worked example plus a blank copy with the same formulas.

What's in the client report template

The workbook has five sheets: "How to use", an "Example" report with its "Example work log", and "Your report" with "Your work log", which are empty and ready to fill. Yellow cells are inputs. Everything else is a formula, so the totals, statuses and invoice amount can't drift from the figures underneath.

The example is a fictional two-person agency, Signal & Co, reporting September 2026 to a fictional client, Copperline Plumbing. The retainer is $3,000 a month for 30 hours, with extra hours at $110. Here's the page the client sees first:

Filled-in client report for the example agency: headline about 61 booked jobs against a target of 55; measures table with calls from ads 118 vs 100, form leads 42 vs 45 off target, booked jobs 61 vs 55, reviews 9 vs 6, cost per click $7.80 vs $8.00; 4 of 5 on target; 32 of 30 hours used, $220 extra, invoice $3,220
The first page of the example report. One measure missed, and the report says so in the headline.

The six sections, in the order they appear:

  1. Headline. Two or three sentences. You write it last and the client reads it first.
  2. Results against target. Three to six measures the client cares about, with this month, target, last month and a status.
  3. Client spend and cost per result. What the client spent (on ads, materials or whatever your work directs) and what each result cost.
  4. Work this month. Planned and used hours by category, and tasks done and in progress, totalled from the work log.
  5. Retainer. Hours included, used and remaining, extra hours, the amount to invoice and your effective hourly rate.
  6. Next month. Planned work, decisions you need from the client and anything that might not go to plan.

Results against target: measures the client chose

The most useful thing you can do for a client report happens before the first one: agree three to six measures and a target for each. If you choose the measures alone, you'll pick the ones you control (posts published, hours logged). The client cares about the ones that touch their business: calls, bookings, sales, cash. Write the agreed list into section 2 and keep it the same every month, so the report becomes a series rather than a new story each time.

Each measure row has these columns:

  • Better if. Higher or Lower. Most measures are "higher is better"; costs per click, per lead or per job are "lower".
  • This month, Target, Last month. Typed in.
  • vs target = this month ÷ target − 1. Calls from ads: 118 ÷ 100 − 1 = +18%.
  • vs last month = this month ÷ last month − 1. Calls: 118 ÷ 96 − 1 = +22.9%.
  • Status fills itself in: "On target" when this month is at or above target (or at or below it, for a Lower measure), otherwise "Off target". Under the table, a count gives the score: 4 of 5 on target.
  • Note. One short line of context for the client, such as "Call tracking live from 22 Sep".

Be exact about where each number comes from, and say so in the note if it might surprise the client. Google Business Profile's "Calls" metric, for instance, counts clicks on the call button on the profile, not completed phone calls. Google Ads can measure calls from ads and calls from website visits as conversions, counted by rules you set up. Both are useful; neither is the same as a booked job. That's why the example's third measure, booked jobs from marketing, comes from Copperline's own job list. Whenever you can, make at least one measure come from the client's own records. It's the number they trust.

Spend and cost per result

Section 3 holds the client's money: ad spend of $2,900 against a $3,000 budget (96.7% used), and the result it bought. You name the result ("booked jobs") and type the count, and the template works out cost per result: $2,900 ÷ 61 = $47.54, down 13% from $2,850 ÷ 52 = $54.81 last month. This is the line a client's finance person looks for. Put it on the first page.

The work log and the retainer hours

Most agencies and consultants track time somewhere. The template asks for one row per task: date, category, task, hours and status (Done or In progress). The example log has 15 rows. The report then counts:

  • Hours used per category = SUMIFS(log hours, log category = this category).
  • Tasks done and tasks in progress = COUNTIFS on category and status.
  • Difference = hours used − planned hours, so the client sees where the time went against the plan.
Planned vs used retainer hours for the example: ads management 10 planned, 10.5 used; content 10 and 9; SEO 7 and 8; reporting and calls 3 and 4.5; 30 planned and 32 used in total
The plan said 30 hours; the log says 32. The overrun has a reason, and the report gives it.

The retainer section turns those hours into an invoice:

LineFormulaExample
Hours usedTotal from the work log32
Hours remainingMAX(0, included − used)0
Extra hoursMAX(0, used − included)2
Extra hours feeExtra hours × rate2 × $110 = $220
Total to invoiceRetainer fee + extra hours fee$3,000 + $220 = $3,220
Effective hourly rateTotal to invoice ÷ hours used$3,220 ÷ 32 = $100.63

The last line is for you, not the client. If your effective rate keeps falling below your quoted rate because you absorb unbilled hours, the retainer is underpriced, and three months of this column is the evidence you need to reprice it.

Never let the invoice be the first the client hears of extra hours. A simple rule: when the log passes 80% of the included hours (24 of 30 in the example), tell the client what's left and ask before going over. Signal & Co asked on 22 September before setting up call tracking, so the report can say "approved on 22 Sep" and nobody is surprised.

Writing the headline

The headline is the part of a client report most likely to be read in full, and the part most often wasted on enthusiasm. Here's the same month written two ways:

Before and after: a vague opening saying September was a busy month with no numbers, rewritten to say booked jobs rose to 61 against a target of 55, cost per booked job fell 13% to $47.54, form leads missed target by three, 32 of 30 hours were used, and asking for a budget decision
The "after" version takes the same space and answers both of the client's questions.

Four rules produce the second version:

  1. Start with the result they pay for. For Copperline, that's booked jobs, not clicks or posts.
  2. Put the miss in the first paragraph. Clients forgive a missed target; they don't forgive finding it on page three. One sentence is enough: "Form leads missed target by three."
  3. Mention hours whenever they're over or well under. Under is news too: it means you have time for something the client wants.
  4. End with the decision you need. One question, with a number in it: "Raise October's ad budget from $3,000 to $3,300?"

For more ways to open a report, see our executive summary examples.

Adapting it for agencies, consultants and bookkeepers

The structure stays the same; the measures in section 2 change. Some starting points to agree with the client:

You areMeasures to consider"Result" for cost per result
Marketing agencyLeads or calls, booked jobs or sales, cost per lead, new reviewsBooked jobs or sales
Consultant on a project retainerMilestones done vs planned, open issues, decisions waiting on the clientMilestones delivered
BookkeeperWorking days to close the month, transactions waiting to be categorised, receivables over 60 days, cash at month endUsually not needed; leave section 3 empty

For bookkeepers, the client report often goes alongside the month's financial statements. Keep it short and point to what needs the owner's attention, such as the customers who are slowest to pay; our accounts receivable aging report guide covers how to read that list. For marketing clients, the marketing report template adds spend and profit by channel if the client wants that level of detail.

Sending it

Pick a day and keep it, such as the fifth working day of the month. Send the report as a PDF or a link, with a covering email short enough to read on a phone:

What this client report template can't do

  • It doesn't pull numbers from ad platforms, analytics or accounting software. You type them in, so keep a note of where each one came from.
  • It doesn't prove cause and effect. A rise in booked jobs could be your work, the season or a competitor closing. The note column and headline are where you explain, honestly.
  • It holds one client and one month per file. For many clients, copy the file per client and keep the measure list fixed for each.

When copying numbers in takes longer than writing the report

With two or three clients, a client report template in a spreadsheet is fine. With ten, the hour per client spent exporting and pasting is the part to remove. Parity builds a dashboard from each client's data: connect QuickBooks Online, Stripe, Shopify, HubSpot, Square or Google Sheets directly, or upload a CSV or Excel export from anything else. You get headline numbers with their trends, charts, what explains them and a table of what needs attention, and every number is checked against queries on the full dataset before you see it.

Ask it to write the client report from that data and it drafts the monthly report, ready to refine by chat ("lead with booked jobs", "add cost per booked job against last month"). You can share it with the client as a read-only link with an optional password or end date, or export it to PDF or Excel, and save it as a template so next month you only update the file. Our guide to AI reporting for marketing agencies covers how agencies set this up across clients.

Send clients a report built from their own numbers

Connect a client's data or upload an export, and get a checked report you can share as a link. Build a report from your data free

Whichever tool you use, the test of a client report is the reply it gets. "Thanks, yes to the budget" means it worked. "Can we jump on a call to go through this?" usually means the first paragraph didn't answer the two questions.

Want to see what Parity builds from your data?

Build a report