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:
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.
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.
Why this is worth an owner’s attention
Not because the accounting police are coming. Three better reasons.
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.
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.