Template
The monthly client report template for e-commerce agencies
10 sheets: a portfolio page that fills itself, 6 client reports that each print on 1 page, a filled example with 4 fictional brands, and where each number lives. Opens in Excel, Numbers and Google Sheets.
Clients send Amazon and Shopify exports? The agency client portfolio reads them all at once, ranks every client and writes each report's numbers.
Reporting on one brand of your own? The monthly business review template is the same report for a founder, and the free monthly business review writes one up from the exports.
Part 1
The 6 sections of a client report, in this order
Do this first
- Copy a Client sheet for each brand and fill the brand, your agency and the month.
- Fill sales for every channel the brand sells on, not only the ones you run, and 0 for a channel that didn't sell last year.
- Write the headline last, as one sentence with the number.
- Give every next-month action an owner and a date, the client's actions included.
| Section | What goes in | From the fictional example |
|---|---|---|
| Headline | One sentence on the client's whole business, with the number | Sales across every channel were $79,600 in September, down 2.3% on September 2025, because Amazon fell $10,800 while Shopify grew $7,200 and wholesale grew $1,700. |
| Scorecard | Net revenue by channel and the total, against last month and the same month last year | Every channel the brand sells on, including the ones you don't manage |
| What moved and why | The 2 or 3 rows that moved most, each split into traffic, conversion or order value | Amazon fell on both branches: sessions were down 10.6% on last year and unit session percentage fell from 11.8% to 10.6%. The 3 board-oil SKUs lost the most. |
| What we did this month | Your work, each item with its date | Moved $1,200 a month of Amazon ad budget to Meta prospecting for the Shopify store, from September 8. |
| Next month | Each action with an owner and a date, the client's included | Send the November coupon plan for the 3 board-oil SKUs. Agency, by October 15 |
| Decisions for the client | What only the client can decide, as a question with your recommendation | Keep the $1,200 on Meta for October? Recommendation: yes, since Shopify sessions grew 26% and its order value held. |
- "What we did" sits under the numbers, never above them. A client reads the result first and your work second, and the work is credible when the row it moved is right above it.
- The split behind "what moved" is the Growth Loop: any sales change is traffic, conversion or order value, and each has a different fix.
Part 2
The portfolio page: Brightwick Candles first, though it grew 24.7% on last month
These are 4 fictional brands, built to show the workbook. The Portfolio sheet fills itself from the client sheets and ranks them by the change against the same month last year, worst as 1, because last month misleads in a seasonal category. Brightwick Candles grew 24.7% on August 2026 and fell 11.0% on September 2025.
| Read order | Brand | Status | vs last year | September 2026 | vs last month | Biggest move vs last year |
|---|---|---|---|---|---|---|
| 1 | Brightwick Candles | Call this week | -11.0% | $33,300 | +24.7% | Shopify -$5,500 |
| 2 | Kestrel Kitchen | Watch | -2.3% | $79,600 | +1.8% | Amazon -$10,800 |
| 3 | Nimbus Sleep | On track | +12.5% | $164,400 | -1.7% | Amazon +$9,300 |
| 4 | Alder Pet Co | On track | +30.3% | $75,700 | +8.3% | Amazon +$15,500 |
Swipe the table sideways for every column.
- Status rule: below -10% against last year is "Call this week", below 0 is "Watch", the rest is "On track". The 2 thresholds sit in cells on the Portfolio sheet, so change them if your clients run hotter. A client with a channel filled this month and blank last year reads "Fill last year", since its total would compare different channels. A new client with every channel at 0 last year reads "No sales last year" and gets no read order.
- Kestrel Kitchen reads "Watch" at -2.3%, and its client sheet in the workbook shows why: down 2.3% on September 2025, because Amazon fell $10,800 while Shopify grew $7,200 and wholesale grew $1,700.
Part 3
Getting each client's numbers without their password
Do this first
- Agree a day with each client, such as the 3rd of the month, for last month's numbers.
- Amazon: ask for the Business reports by Date download for the month and the same month last year.1
- Shopify: ask for the Net sales by channel report or the orders export, or a collaborator account if you have a Shopify Partner account.3, 4
- Wholesale: ask for the month's invoices or the Faire orders export.
| Channel | Where the number lives | How you get it |
|---|---|---|
| Amazon | Seller Central, the Reports tab, Business reports by Date. Business reports need the Professional selling plan, and data is generally available for up to 2 years, enough for the same month last year.1 Its sales figure is Ordered Product Sales, the price of order items times units sold, and refunds sit in separate columns.2 | The client downloads it and sends it. |
| Shopify | Analytics, Reports, Net sales by channel. Net sales are gross sales less discounts and sales reversals.3 | The client sends the report. Or, since collaborators are Shopify Partners, an agency with a Partner account asks for the store's 4-digit collaborator request code, and needs 2-step authentication on to log in.4 |
| Walmart, TikTok Shop | Walmart Seller Center sales reports, TikTok Shop's Data Compass | The client's export. |
| Wholesale or Faire | Invoices, or Faire's orders export | The client's export. |
- A collaborator can't be given a Shopify store's Administrator role, and doesn't count toward the store's user limit,4 so asking for one costs the client nothing and gives you only what you ask for.
- Exports beat logins for the report itself. A file the client sent is the number they'll recognize on the call.
Part 4
4 mistakes that make a client report easy to ignore
Do this first
- Add every channel before you report the one you run.
- Read each client against the same month last year first.
- Pick net sales and use it on every channel.
- Put the result above the work.
- Reporting only the channel you manage. In the example, Kestrel Kitchen's Amazon fell and Shopify grew in the same month. An Amazon-only report reads as a crisis, and a report across every channel reads as a shift.
- Comparing only to last month. Brightwick Candles looks like the best month in the book against August 2026 and the worst against September 2025.
- Mixing gross and net. Shopify's gross sales include pending, canceled and unpaid orders,3 and Amazon's Ordered Product Sales count units sold, with refunds in separate columns.2 Use net sales where the channel gives it, and say which figure each row is.
- A list of tasks with no number next to it. "Rewrote 3 listings" means something when the unit session percentage row sits above it.
Or send us one client's exports and we'll build their first month
The template is free and you can run it yourself. Or send us one client's Amazon Business reports by Date download and their Shopify orders export, and we'll build that client's month across every channel, with the causes checked and the actions ranked, the way the sample report is. The first month is free, and we never log in to anyone's accounts.