Analistable

Multi-client reporting and reconciliation: a guide for agencies

By the Analistable team · Updated · 2 min read

Agency spreadsheet work repeats per client: the same report built from the same exports, plus internal checks that hours, ad spend and invoices match what was agreed. The join keys are client, account and month. Analistable answers questions across those files in your browser, so client data is not copied to another server.

The multi-sheet jobs agencies actually do

Where an in-house marketer has one set of accounts, an agency has twenty, and each needs reporting plus the commercial checks that keep the agency profitable.

  • Client report roll-up: combine per-client monthly reports into one portfolio view to spot accounts that are slipping.
  • Hours vs retainer: join timesheets to project budgets to see which clients are over-serviced.
  • Media spend vs invoices: check that spend billed to each client matches the ad platform exports.
  • Cross-account benchmarks: compare cost per lead or conversion rate across clients in the same sector.
  • Multi-property GA4 and Search Console: blend several client properties for a portfolio or a group of sites.
Typical files and the key that joins them
FileTypical sourceJoin key
Monthly client reportOne workbook per clientClient + month
Timesheet exportTime trackerClient or project code
Retainer and project budgetsFinance sheetProject code
Ad spend by accountAd platformsAccount ID → client
Client invoicesAccounting systemClient + month

Keep one client mapping sheet that links every account ID, project code and invoice name to a single client key. It is the join table behind almost every agency question.

How Analistable helps

Load the per-client files and the mapping sheet, then ask "which clients used more than their retainer hours this quarter?" or "which accounts billed spend that does not match the platform export?". Queries are read-only, files are never modified, and rows are processed in your browser rather than stored with us, which keeps client confidentiality simpler to explain.

Start here

Frequently asked questions

Can I keep each client's data separate?
Yes. Build one model per client for client-facing questions, and a separate internal model for portfolio and profitability checks.
How do I tell which client a row came from after stacking?
Add a source or client column when combining. If the client is only in the file name, keep the file name as a column and map it to the client key.
Do clients need an Analistable account?
No. You can share the resulting tables or export them into your usual reporting format.