Skip to main content
All posts
Education · by Sharvari Joshi

Agency Accounting, Project P&L, and Time Billing: A Real Guide

Why your friendly retainer client is secretly losing you $40 an hour, the four metrics every agency owner should know, and how to fix project P&L.

You have a client who is a delight. They pay every invoice within a week. They never argue about scope. They send you holiday cards.

You are also losing about $40 an hour every time your team touches their account. You just do not know it yet.

This is the most common pattern in agency accounting, and almost nobody talks about it honestly. Project P&L for agencies is a mess of three disconnected tools, hours that vanish between Toggl and the invoice, and a year-end chat with the bookkeeper that goes “your books say you made $180K but your bank account says $42K.” If you run a creative shop, dev studio, marketing agency, or consulting firm with 3 to 25 people, this is written for you.

We will walk the four metrics every agency should know, do the math on a real retainer and a real fixed-fee project, then look at what an agency time billing software setup actually needs to do. ERPClaw is the tool we built to solve this, and it is free. But you should understand the problem first.

The friendly client who is bleeding you

Let us name names. Bruce at Wayne Enterprises is your dream client. He pays you a $5,000 monthly retainer for “ongoing creative support.” Predictable revenue. You love Bruce.

Here is what is actually happening inside that retainer. Your senior designer spends 18 hours a month on Wayne work. Your developer spends 12 hours fixing things Bruce broke on staging. Your project manager spends 8 hours a month on check-ins, weekly status calls, and the Friday “quick favor” that turns into half a day. That is 38 hours a month.

Your blended cost (salary, taxes, benefits, software, rent allocated per head) is around $85 an hour. So Bruce costs you 38 times $85, which is $3,230 a month in real cost. You bill him $5,000. Margin looks like $1,770. You feel good.

Except you forgot the subcontractor. Bruce wanted a quick illustration last month and you brought in a 1099 freelancer for $600. That is not in your time tracker. You also forgot the Adobe stock licenses you bought specifically for Wayne work, $140 a month. And the project manager undercounted by 6 hours because she stopped logging the Slack DMs after week two.

Real cost: $3,230 plus $600 plus $140 plus (6 times $85) which is $510. Total: $4,480. Real margin on Bruce: $520 a month. Or in the bad months, negative.

Your “great client” is paying you a 10% margin while you assume 35%. That is a $40 an hour delta on the team that touches his work. Multiply by 38 hours, multiply by 12 months, and Bruce costs your agency about $18,000 a year in invisible loss compared to what your gut thinks he is worth.

This is not Bruce’s fault. He is doing exactly what the contract says. The fault is that your agency accounting setup cannot tell you the truth about him until it is too late.

Hours billed are not hours collected

Here is the agency money problem in one sentence: hours billed are not hours collected, hours collected are not project profit, project profit is not annual margin.

Hours billed vs. hours collected. Your team logs 100 hours. You invoice for 100. The client pays for 87 because 13 got marked as “scope clarification” and you swallowed them to keep the relationship warm. Your time tracker says 100. Your bank says 87. Your accountant says nothing because the invoice software does not talk to the time tracker.

Hours collected vs. project profit. You collected on 87 hours at $150 per hour, so $13,050. Cost of the team for those 87 hours at $85 blended is $7,395. Plus a $1,200 stock asset purchase, plus $800 to a freelance copywriter. Project profit is $3,655, not $13,050. Most agency owners think of revenue and stop there.

Project profit vs. annual margin. That $3,655 looked great. But across the year, half your projects came in 30% over budget, utilization was 58%, overhead grew faster than billings. Annual margin: 11%. You feel like you are working twice as hard for the same take-home. That is because you are.

The way through this is to measure the four numbers an agency runs on. Most agencies measure zero. The good ones measure two. The great ones measure all four every month.

The four metrics every agency owner should know

These are the agency equivalent of “revenue, COGS, gross margin, net margin” for a product business. If you can quote your numbers on these four off the top of your head, you are running a real business.

1. Utilization rate

Of every hour your team is on the clock, how many were billable to a client? A full-time employee has roughly 2,000 work hours a year. If 1,200 were billable, that is 60% utilization. Healthy is 65 to 75 percent for senior staff, 75 to 85 percent for junior staff. Below 50 percent and you are subsidizing payroll. Above 90 percent and your team is about to quit.

2. Realization rate

Of every billable hour you tracked, how many made it onto an invoice the client paid? This is where the “I will eat that scope creep” tax shows up. If you tracked 1,200 billable hours but only collected on 1,020, your realization rate is 85 percent. Below 80 percent and you are giving away serious money. The fix is usually not “bill harder,” it is “stop scoping fixed-fee work that doubles in size.”

3. Collection rate

Of every dollar you invoiced, how many arrived in your bank account within 60 days? Below 92 percent and you have a client filtering problem. Bad clients are not clients, they are unpaid loans.

4. Project margin

Per project: revenue minus all direct cost (team hours at blended rate, plus subs, plus pass-through). Healthy is 50 to 65 percent for creative and dev, 35 to 50 percent for low-touch retainer, 25 percent or below and you are losing money once overhead is added. The trick is calculating it per project, not for the agency overall. The agency-overall number hides the Bruces.

If you measure those four monthly, you will catch a Bruce-shaped problem in eight weeks instead of eight months.

Worked example: Wayne Enterprises plus Stark Industries

Let us run the math on a real month at a hypothetical 8-person agency.

Client A: Wayne Enterprises. $5,000 monthly retainer.

  • Senior designer: 18 hours, developer: 12 hours, PM: 8 hours
  • Subcontractor (illustrator): $600. Stock assets: $140.

Total hours: 38. Labor cost at $85 blended: $3,230. Subs and pass-through: $740. Total cost: $3,970. Revenue: $5,000. Project margin: $1,030, or 21 percent. Below the healthy 35 percent floor for a retainer. Wayne is a watch-list client. One more “quick favor” and he goes red.

Client B: Stark Industries. Fixed-fee project bid at $18,000 for a brand refresh. You estimated 100 hours of senior design plus 20 hours of PM. Estimated cost: 120 times $85 equals $10,200. Estimated margin: 43 percent. Clean.

What actually happened: Tony kept asking for “one more direction.” Pepper signed off then unsigned off. By the time you delivered, you had spent 145 hours of senior design and 20 hours of PM. Plus a brand strategist sub for $2,400 because you needed positioning work you had not scoped.

Real cost: 165 hours times $85 equals $14,025, plus the $2,400 sub equals $16,425. Revenue: $18,000. Project margin: $1,575, or 8.75 percent. You billed Tony for the full $18K. He paid on time. Your bank account smiles. Your project P&L is screaming.

If you knew that number on the day it crossed 25 percent margin (around hour 130), you could have called Tony and renegotiated. You would have had the data to say “we are 30 percent over the original scope, here is the change order.” Instead you found out at the post-mortem, three months too late. This is the difference between agency accounting that runs your business and agency accounting that just files your taxes.

How agencies typically track this badly

Walk into any 10-person agency and ask “what tools do you use for finance and ops?” Here is the answer you get nine times out of ten:

  1. Toggl or Harvest for time tracking. Reports get exported to CSV monthly.
  2. A spreadsheet to map time entries to projects and clients. Lives on the founder’s laptop. Has a tab called “do not delete.”
  3. FreshBooks, Bonsai, or QuickBooks Online for invoicing. Has no idea what hours those invoices represent.
  4. A bookkeeper who reconciles the bank to the invoice software once a quarter. Sends a P&L PDF that nobody reads.

Four tools. Four different sources of truth. Zero of them know what the other three know. The founder spends one Saturday a month duct-taping a CSV from tool 1 into the spreadsheet from tool 2 to figure out what to invoice in tool 3.

Project P&L is theoretically possible in this setup. In practice nobody does it because it would take 6 hours per project per month and the founder has client work to do. So you find out about the Wayne problem in March when you are doing taxes. You find out about the Stark margin compression three months after delivery. You hire a new designer because “we feel busy” without knowing if your team is at 55 percent utilization or 85 percent.

This is not an “agency owners are bad at money” problem. It is a tooling problem. The tools exist to do each piece, but no consumer-grade agency tool puts them in one database where the math works.

What an agency-friendly accounting setup looks like

Forget brand names for a minute. Here is what a sane agency setup does as one connected system:

  1. A team member logs hours against a client and project. One screen. Ten seconds.
  2. Hours roll up to the project automatically. Project page shows hours logged, hours remaining against scope, blended cost, and current margin.
  3. At month end or milestone, an invoice is generated from the hours and any flat fees. The invoice already knows which hours, which project, which client. No copy-pasting.
  4. The client pays via Stripe (or ACH, or wire). Payment lands, invoice marked paid automatically.
  5. The bank deposit reconciles to the invoice automatically. No bookkeeper matching line items.
  6. The P&L updates in real time, per client and per project. Ask “what was my margin on Bruce last month” and get an answer in two seconds.
  7. Subcontractor invoices and pass-through expenses attach to the project. Margin includes them automatically.

That is the whole shape. It is not exotic. It is just that no single $30-a-month tool does all seven connected to each other. You either pay $400 a month for an enterprise system, or you live with the four-tool tape-and-string approach.

How ERPClaw does this in one tool

ERPClaw is an open-source, AI-native ERP we built specifically because the four-tool problem was driving every agency owner we talked to slightly insane. The agency setup is one of the prebuilt configurations on the agency vertical page.

Here is what runs in one SQLite database when you install it:

  • Projects module. Each project has a budget (hours and dollars), assigned team, and a live P&L view that updates as hours come in.
  • HR / time tracking. Team members log hours against a project. The hours flow straight into project cost at the configured blended rate.
  • Selling and invoicing. Generate retainer invoices on a schedule, milestone invoices when a project hits a phase, or time-and-materials invoices that pull hours straight from the time tracker. All from the same database.
  • Stripe integration. Client pays the invoice via Stripe. Payment lands, invoice gets marked paid, journal entries hit the accounting books in the same transaction. No manual reconciliation.
  • Accounting and GL. Real double-entry under the hood, so a CPA takes it seriously, but you never have to look at it. You see “client paid you $5,000, here is your updated margin.”
  • Reports. Project margin, client profitability, utilization rate, realization rate, collection rate. The four metrics are built in. Because ERPClaw is AI-native rather than AI-decorated, you ask the assistant “what is my margin on Wayne Enterprises this quarter” in plain English and get the answer, instead of clicking through a reports menu in a tool that bolted a chat sidebar onto a 2010 form UI.

Total cost: $0. Runs on your laptop, a Mac mini in the closet, or a $5 VPS. Data lives in one file you back up to Dropbox. No per-seat pricing because there is no SaaS model. The full feature list is here and the pricing page is short because the answer is “free, forever, all 48 modules included.”

The pitch is not “ERPClaw is fancier than your current tools.” The pitch is “ERPClaw is the single database those four tools were pretending to be.”

When your agency is too small for ERPClaw

I will talk you out of installing it if you do not need it.

If you are a 1 to 3 person consultancy with a handful of retainer clients, no subcontractors, no inventory, and you do not care about per-project margin because every project is basically you, FreshBooks at $19 a month is genuinely fine. So is Bonsai. So is a Notion board plus Stripe Invoicing. The double-entry rigor that ERPClaw provides is overkill for a one-person shop. The FreshBooks comparison walks through where the line is.

You start outgrowing the four-tool setup at roughly: 4+ team members logging hours, 8+ active client engagements, a mix of retainer and project work, meaningful subcontractor spend, or a founder who has stopped sleeping because the spreadsheet is wrong somewhere. Two or more of those and the four-tool tax is costing you more than the migration would.

Outbound reading

Two pieces I send to founders who want to go deeper on the agency profit math: the long-running discussion of utilization and pricing on Smashing Magazine and the Bureau of Digital community writeups. Both more honest than most agency-software vendor blogs.

FAQ

What is the best agency accounting software for a 10-person creative shop?

The test is whether the tool gives you per-project P&L without copy-pasting from a time tracker. If you are willing to pay, Productive and Accelo do this. If you want free and self-hosted, ERPClaw is the open-source option. If you only need invoicing and you do not care about project margin, FreshBooks is enough.

How do you calculate project P&L for an agency?

Per project: revenue collected minus labor cost (hours logged times blended cost rate) minus subcontractor invoices tied to the project minus pass-through expenses (stock assets, ad spend, hosting). The result divided by revenue gives margin percentage. Do this monthly, not at project end.

What is a healthy utilization rate at an agency?

Senior staff: 65 to 75 percent. Junior staff: 75 to 85 percent. Below 50 percent across the team and the agency is unprofitable. Above 90 percent and your team is two months from burning out. Those bands are the rough goalposts in the consulting agency project margin literature.

How is an agency ERP different from project management software?

Project management software (Asana, Monday, ClickUp) tracks tasks and timelines. An agency ERP tracks money: hours, costs, invoices, payments, margin, reconciled to the bank. Most agencies use both. The mistake is using project management as if it were accounting, which is how invoices get sent late and projects come in over budget without anyone noticing.

Can ERPClaw bill both retainers and hourly projects for the same client?

Yes. Most agency tools assume one billing model per client. ERPClaw lets a single client have a retainer, several active hourly projects, and a fixed-fee milestone project at once, all billed from the same chart of accounts. The agency configuration is set up that way out of the box.

What about 1099 subcontractors and year-end forms?

Subcontractor invoices attach to projects, so their cost rolls into project margin automatically. Vendor records track the W-9 info for each 1099 contractor. At year end, ERPClaw generates the totals you need for 1099-NEC filings without a separate tool.

The boring truth

Most agencies are profitable on paper and miserable in practice because the four-tool stack is hiding where the money actually goes. Bruce is not a great client until you have measured him. Tony is not a profitable project until you have priced the change order.

The fix is one tool, one database, four metrics, every month. If you want to do that with FreshBooks and a spreadsheet, you can. If you want one open-source tool that a 10-person agency can actually run, the agency configuration of ERPClaw is free and installs in about ten minutes. Either way, find out what Bruce is really worth before another year goes by.

Tags agencyaccountingproject-pltime-billingconsulting