The Agency Owner's Guide to Revenue Recognition
(No CFO Required)

Your agency finished 30% of a website build last month. The invoice doesn't go out until launch. So last month's P&L says the project earned you nothing, your team's busiest month of the quarter looks like a slow one, and you're making hiring decisions off a report that just told you a lie.

That's revenue recognition, the Tuesday-afternoon version of it anyway. And if you run an agency that bills retainers, milestones, and pass-through ad spend, it's quietly shaping every number you look at.

This guide is for agency owners and operators, not CFOs. Most agencies with 2 to 50 people don't have a CFO, and almost everything written about this topic assumes you do. You don't need one to get the core right. You need about fifteen minutes.

One note before we start: this is a practical guide, not accounting advice. Your accountant knows your situation; run changes past them.

The two clocks

Every agency runs on two clocks that almost never agree.

The billing clock

is when money moves: the retainer invoice on the 1st, the 50% deposit, the final invoice at launch.

The revenue clock

is when you actually earn it: as the work gets delivered.

Cash-basis bookkeeping reads only the billing clock. That works fine when you’re three people invoicing monthly for last month’s work, because the clocks roughly agree. It falls apart the day you take your first deposit or bill your first milestone, because now money arrives before the work, or work happens before the money, and every report you run inherits the gap.

Revenue recognition is just the discipline of reading the revenue clock: counting revenue in the month you earned it, whatever the invoices did. Two situations come out of it, and a typical agency has both at once.

You got paid before you did the work. A client pays their January retainer on January 1. On the morning of January 1, you haven’t earned a dollar of it. Accountants call it deferred revenue, and it sits on your balance sheet as a liability, because until you deliver the month’s work, that money is a promise, and you’d owe it back if you walked away. It becomes revenue as the month’s work gets done.

You did the work before you got paid. That 30%-complete website. The work is real, the client is contractually on the hook for it, and no invoice exists yet. Agency people call it WIP. Accountants call it unbilled or accrued revenue. It’s an asset: earned money that hasn’t reached an invoice yet.

Same agency, same month, both clocks running. The retainers are paid-but-not-yet-earned. The projects are earned-but-not-yet-billed. If your books only track invoices, both numbers are invisible, and “how did we actually do last month?” becomes a guess.

What “earned” means, without the jargon

The accounting standard behind all of this is called ASC 606. It runs on a five-step framework that we can compress into one sentence: figure out what you promised, what you’ll be paid for it, and count the revenue as you deliver each promise.

For agency services, “as you deliver” works one of two ways:

Over time. The client gets the benefit continuously as you work. Almost all retainers work this way, and most custom project work qualifies too, with one catch worth knowing: for projects, the over-time treatment generally depends on your contract giving you an enforceable right to be paid for work completed if the client cancels. That’s what a kill fee clause does, and it earns double duty: it protects the deal, and it lets you count partial work as earned revenue. If your SOWs don’t have one, that’s the first thing to fix. It takes a contract edit, not an accounting project.

At a point in time. You deliver the thing, revenue counts on delivery. This applies when the over-time tests fail, and it’s the fallback for project work without that enforceable right to payment.

Here’s how the common agency revenue types map:

How you billWhen revenue counts
Monthly retainerOver the month, as work is delivered. A retainer paid upfront starts as deferred revenue.
Fixed-fee project
(website, rebrand)
Over time by percent complete, if your contract has the right-to-payment language. Otherwise, at delivery.
Hourly / time and materialsAs hours are worked. Easiest case: what you can bill, you’ve earned.
Performance bonusNot until the outcome is reasonably certain. A bonus that depends on results outside your control waits.
Pass-through ad spendUsually not your revenue at all. More below.

One honest wrinkle on percent complete: hours burned and progress made are not the same thing. If you’ve used half the budgeted hours to get a quarter of the way, the extra hours are a write-off, not revenue. Percent complete measures the work, not the effort.

The retainer trap and the project trap

The two clocks create two specific traps, and most agencies are standing in at least one.

Trap 01

The retainer trap

Spending money you haven’t earned.

A prepaid retainer feels like income the day it lands. It isn’t yet. Agencies that book retainers as instant revenue overstate every month’s performance and understate their obligations, and the distortion compounds if you offer rollover hours, because every unused hour extends a liability forward into months that will have their own work to do. This is also one of the first things a lender, investor, or buyer recalculates, and the restatement never moves in the seller’s favor.

Trap 02

The project trap

Earning money nobody can see.

Milestone billing means your team can produce for weeks while the P&L reports silence, then an invoice lands and one month looks heroic. Neither month is telling the truth. The formula that fixes the picture is short enough to memorize:

The unbilled revenue formula

Earned but unbilled = (total fee × percent complete) − amount invoiced so far

Project fee, 60% complete

$30,000

Invoiced so far

$12,000

Earned, but invisible

$6,000

Multiply that across every active project and you get a number that changes how last month actually looked, and it’s the reason a “quiet” month sometimes triggers a panic that the delivery calendar says makes no sense.

The pass-through question: is ad spend your revenue?

If you run paid media, one more distinction sits upstream of everything: when $50,000 of client money flows through you to Meta and Google, was that your revenue?

Under the accounting rules, it depends on whether you control the media buy or just arrange it, and for most independent agencies the honest answer is arrange. That makes you an agent, and only your fee is revenue. The $50,000 is a pass-through.

Operators have their own name for the number that’s left after pass-throughs: AGI, agency gross income, and it’s the only number worth benchmarking with. An agency billing $10M with $7M of media spend is a $3M business. Compute margins, revenue per head, or a valuation against the $10M and every answer comes out flattering and wrong. Healthy agencies commonly run $120,000 to $180,000 of net revenue per full-time employee; measured against gross billings, that benchmark means nothing.

This decision has enough contract nuance (who signs with the vendor, who eats a cancellation, who sets the price) that it deserves its own article, but the short version for this guide: know your AGI, benchmark on it, and don’t let gross billings wander into sentences about how big the agency is.

An agency billing $10M with $7M of media spend is a $3M business.

Know your AGI. Benchmark on it. Never on gross billings.

Why this is worth an owner’s attention

Not because the accounting police are coming. Three better reasons.

Your months become readable

With revenue matched to work, month-over-month trends mean something. You can see which service lines earn their keep, whether delivery costs are creeping against retainers, and whether a slow-looking month was actually slow. Owners routinely pull back on hiring based on a cash-basis month that was, in earned terms, fine.

Your decisions get faster

Utilization, project margin, capacity planning: all of it keys off earned revenue, not invoice timing. This is the financial visibility that separates agencies that scale on purpose from agencies that scale by surprise.

Your agency becomes worth more

Buyers pay commonly cited ranges of roughly 2 to 4 times earnings for project-only shops and 6 to 9 times for retainer-heavy agencies with 60% or more recurring revenue, and disciplined recognition is what proves that quality. Above roughly $1M in earnings, a quality of earnings review rebuilds your books on an accrual basis, and every $100,000 that doesn’t survive it takes $600,000 of price with it in a 6x deal. Clean books protect the multiple.

And you may not get to choose the timing. The first bank loan, the first investor conversation, the first serious acquirer all arrive with the same request: accrual-basis financials, please.

Setting it up without a CFO

The unglamorous truth: for a 2-to-50-person agency, workable revenue recognition is a few decisions and a monthly rhythm, not an enterprise software project.

1

Sort your services into the table above

Most agencies land on two or three patterns: retainers recognized over the month, projects at percent complete or milestones, hourly as worked. Write the mapping down once; apply it to every new SOW.

2

Fix the contract language

Kill fee / right-to-payment clauses in every project SOW. Clear terms on what happens to unused retainer hours. Clarity on who contracts with ad platforms. Your contracts are quietly making accounting decisions either way; make them on purpose.

3

Give the two clocks a home in your books

A deferred revenue liability account for money billed ahead of work, and a WIP or unbilled revenue asset account for work ahead of billing. Your accountant sets these up in QuickBooks or Xero in an afternoon.

4

Adopt a month-end rhythm

Once a month: move earned retainer revenue out of deferred, book unbilled project work into WIP, and reverse it as invoices go out. For the deferred side, this is where your billing platform should be doing the math for you. ChargeOver, for example, builds the recognition schedule for every invoice automatically (daily-prorated, straight-line, installment, or completed-contract, set per product) and its reports hand you the exact recognized-versus-deferred number to journal each month. The WIP side lives in your time-tracking or project data; that’s a spreadsheet or PSA calculation, and no billing platform can see work you haven’t billed yet.

5

Watch three numbers

Deferred revenue balance (your obligation to clients), WIP days (unbilled work ÷ annual revenue × 365; practitioners like to see roughly 10 to 25), and retainer burn (hours delivered against hours scoped, because consistent overdelivery is a rate cut nobody approved: a 40-hour retainer served with 55 hours is 27% off your rate, every month).

That’s the whole system. An owner, an accountant, a billing platform that handles the deferred side, and a monthly hour.

Common Rev Rec Questions

  • Is a retainer payment revenue when it's received?

    No. A retainer paid in advance is deferred revenue, a liability, until the work is delivered. It becomes revenue over the period the work covers.

  • What is unbilled revenue?

    Work you've completed that hasn't been invoiced yet, common with milestone billing. It's earned revenue and an asset. The quick math: total fee × percent complete, minus what you've invoiced.

  • Do small agencies have to follow ASC 606?

    If you produce GAAP financial statements, yes. Many small agencies file taxes on a cash basis and never formally adopt it, and that's between you and your accountant. The practical pressure usually comes from lenders, investors, and buyers, who expect accrual-basis numbers regardless of what the IRS requires.

  • When should an agency switch from cash to accrual accounting?

    The common triggers: taking deposits or prepaid retainers, milestone-billed projects, seeking a loan or investment, or preparing for a sale. Most agencies that switch say the real benefit was finally trusting their monthly numbers.

See how ChargeOver handles deferred revenue automatically

Discover how ChargeOver’s automated recurring billing helps you streamline payments, reduce manual tasks, and boost cash flow. Let us take the complexity out of billing so you can focus on scaling your business.