ExpenseBot

How does ExpenseBot help agencies track client expenses?

ExpenseBot is perfect for PR agencies, marketing firms, and event planners who need to track and rebill client expenses!

ExpenseBot is perfect for PR agencies, marketing firms, and event planners who need to track and rebill client expenses!

🎯 Built for Agency Workflows: βœ… Client expense attribution - Write "Tag: ClientName" on receipts, AI reads and auto-tags βœ… Meeting attendee capture - Write "w/ John, Sarah" and AI captures who was at the meal βœ… Export by client - One-click export of all expenses for a specific client for invoicing βœ… Project tracking - Tag receipts by campaign, event, or project code βœ… Team-wide visibility - See all client expenses across your entire team

πŸ“Έ The Magic of Writing on Receipts: Simply write on your receipt before photographing:

  • "Acme Corp" β†’ Auto-tagged to Acme Corp client
  • "w/ John Smith, Jane Doe" β†’ Captures meeting attendees
  • "Launch Event" β†’ Tagged to that project

πŸ’° Perfect for Rebilling:

  • All client expenses organized automatically
  • Export client-specific reports for invoicing
  • Complete documentation for client transparency
  • Track production, media, and travel expenses separately

πŸ“Š The Agency Per-Client P&L report:

Once you've tagged receipts with Client – <Name> (e.g., Client – Acme Corp) and rebills with the same tag in Income (Beta), the Agency Per-Client P&L report appears in My Reports β†’ Suggested Reports.

It works in two steps β€” preview first, then generate the spreadsheet only if it's worth sharing:

  1. Preview (in-app, instant) β€” pick a tax year, click Preview. You'll see income / expenses / net for the year, plus chips for the top losing clients (red), top earning clients (green), and any passthrough warnings β€” e.g. "Acme β€” paid $4,200 on your behalf, never rebilled" or "Beta β€” under-billed by $1,800."
  2. Generate spreadsheet (Google Sheet) β€” only after the preview shows real data. Use this to share with your accountant or archive at quarter close.

What you'll see in the preview

  • Portfolio totals β€” total income, expenses, and net for the year across all clients
  • Top losing clients (red) β€” biggest negative-margin accounts. Drop or renegotiate.
  • Top earning clients (green) β€” biggest positive-margin accounts. Replicate.
  • Passthrough warnings β€” clients where you paid significant ad spend (Meta, Google, LinkedIn) on their behalf but never rebilled, or rebilled less than you spent. Catches the recurring agency problem of paying $5,000 of ad spend at month-end and forgetting to invoice.

What's in the spreadsheet

The downloadable Sheet has the same data plus a full sortable list of every client (worst-net first), per-client receipt counts, and the country-appropriate tax-form note ("Schedule C basis" for USA, "T2125 basis" for Canada). Negative-margin clients are flagged at the top in yellow so your accountant sees them immediately.

Year-end taxes

The Per-Client P&L isn't a tax form β€” for filing, use the Year-End Tax Report (Schedule C / T2125 / etc.). It already maps your full agency expense bundle to the correct form lines, including the rule that client passthrough is not your advertising deduction.

What gets a Client – tag vs your own overhead

  • Client – β€” anything you'd be willing to invoice the client for, even if you absorbed it: ad spend, contractor fees on their behalf, gift baskets, travel to visit them, freelance writing for their campaign.
  • Your own overhead β€” software you'd pay for whether or not this client existed (Notion, Google Workspace, your CRM), staff salaries, your own training, office rent.

Keeping the distinction sharp is what makes the agency reports useful. If everything gets a Client – tag, the Per-Client P&L is meaningless because it has no overhead floor to compare against.

Client-level vs project-level tagging β€” which to pick

A single expense gets one tag, so you pick the level of granularity that matters most for your billing and budget conversations.

Client-level β€” use Client – Acme Corp

You're treating the whole client as one bucket. Every expense for Acme rolls up into a single line in your reports.

  • βœ… One Per-Client P&L row per client β€” easy to scan for renewal conversations
  • βœ… One Open Balances entry per client (retainer net, cash advances, refunds)
  • βœ… One Bill Client invoice covers everything for that client
  • ⚠️ Can't tell which project ate the budget if Acme has multiple concurrent engagements

Best for: client work that's effectively one ongoing engagement (a monthly retainer, a single campaign, a long-term consulting account).

Project-level β€” use Client – Acme Corp – Launch Event

You're treating each project as its own billable unit. Add the project name after a second en-dash.

  • βœ… Each project gets its own Per-Client P&L row β€” "Did Launch Event actually make money?" answered directly
  • βœ… Each project has its own Open Balances entry (project-specific retainer / passthroughs)
  • βœ… Bill Client per project β€” clean invoicing per engagement
  • βœ… Passthrough warnings fire per project β€” catches "$4,200 of Launch Event ad spend never rebilled"
  • ⚠️ Client-level rollup ("how much did Acme make us this year?") is a manual sum across that client's projects in the report

Best for: agency workflows where you run several concurrent projects per client and need per-project margin.

Mix-and-match is fine. Some clients can be tagged at client-level (Client – Beta Corp) and others at project-level (Client – Acme Corp – Launch Event, Client – Acme Corp – Brand Refresh) in the same workspace. The reports treat each Client – tag independently, so a mixed setup just shows up as separate rows β€” no setup or migration required.

Rule of thumb: if your billing conversations happen at the project level, tag at the project level. If they happen at the client level, tag at the client level.

πŸ”— Learn more: ExpenseBot for Agencies

Share:

Try ExpenseBot Free

AI extracts every receipt into a Google Sheet you own. Gmail scan, mileage, tax reports, profit-by-client. No credit card needed.

No credit card required Β· Setup in 30 seconds