Retainer vs. Project Revenue: How to Track Both in QuickBooks

You have two clients who paid you $30,000 in March. One is on a $10,000 monthly retainer and you collected three months upfront. The other paid the full $30,000 for a project that will deliver over the next 90 days.

On your P&L, those two transactions look identical. They have the same revenue line, are hitting in the same month, and are showing the same $30,000 of income.

But they're nothing alike. The retainer client is paying for ongoing work and that revenue belongs to March, April, and May at $10,000 per month. The project client is paying for work that will be delivered over three months and the revenue belongs to those same three months. Recording all $60,000 as March revenue is wrong on both, and the consequences cascade into every report you produce: monthly P&Ls swing artificially, quarterly tax estimates get distorted, delivery margin calculations break, and your real growth trajectory becomes invisible.

This is one of the most common bookkeeping problems in agency accounting, and it's also one of the most solvable. This post walks through how to set up retainer revenue and project revenue correctly in QuickBooks Online, how to handle deferred revenue, and how to produce monthly reports that separate the two cleanly.

For the broader picture of agency P&L structure, see Why Your Agency P&L Is Lying to You. For the foundational chart of accounts setup that this post builds on, see How to Build Your Agency Chart of Accounts in QuickBooks Online.

Why retainer and project revenue need to be tracked separately

Retainer revenue is recurring. A client agrees to pay X per month for ongoing services delivered indefinitely. The revenue should be recognized in the month the work happens, regardless of when the cash arrives.

Project revenue is one-time. A client agrees to pay X for a defined scope with a clear end date. The revenue should be recognized over the period the work is delivered, regardless of when the cash arrives.

Both follow the same accounting principle (recognize when earned, not when collected), but they behave very differently for the business.

Retainer revenue is predictable. You can build a forecast around it, hire against it, and use it to set your overhead capacity. Project revenue is lumpy. A great month might be followed by a slow month. Treating them as the same revenue line buries this difference and makes capacity planning impossible.

Retainer revenue typically has different margins than project revenue. Retainers usually run at higher margins because the relationship is ongoing and operational efficiency improves over time. Project work often has higher revenue per engagement but lower margins because of the discovery, scoping, and ramp-up cost of each new project. Without separation, you can't see which side of your business is actually more profitable.

Retainer and project work have different cash cycles. Retainers usually invoice monthly with net-15 or net-30 terms. Projects often involve large upfront deposits, milestone payments, and final invoices that may not collect for 60-90 days. Blending the two on the P&L hides the cash flow patterns of each.

How to set up the accounts in QuickBooks Online

Open your chart of accounts. You should already have Retainer Revenue and Project Revenue as separate income accounts if you've followed our chart of accounts setup post. If not, set them up now:

Click "New" in the chart of accounts. Account type: Income. Detail type: Service/Fee Income. Name: "Retainer Revenue." Repeat for "Project Revenue."

You also need a deferred revenue account, which is a liability, not income. Click "New." Account type: Other Current Liabilities. Detail type: Deferred Revenue. Name: "Unearned Revenue" (or "Deferred Revenue" — either works).

This is the account that holds prepaid client money until you've earned it. Every upfront retainer payment, every project deposit, every milestone payment received before the work is delivered initially lands in Unearned Revenue, then gets moved to Retainer Revenue or Project Revenue as the work happens.

How to record a retainer payment

A client pays you $10,000 for a one-month retainer. The cleanest approach is to invoice them monthly and record the payment against that invoice when it arrives. The full $10,000 hits Retainer Revenue in the month invoiced, which aligns with when the work happens.

A client pays you $30,000 upfront for a three-month retainer. Now you need to handle the unearned portion correctly.

Option 1: Use a sales receipt or deposit against Unearned Revenue.

In QuickBooks, create a sales receipt for $30,000 with the income account set to Unearned Revenue (not Retainer Revenue). The cash hits your bank account but the revenue sits in the liability account until earned.

At the end of each month, create a journal entry: debit Unearned Revenue $10,000, credit Retainer Revenue $10,000. This moves $10,000 from the liability account into actual revenue.

After three monthly journal entries, the full $30,000 has been recognized and the Unearned Revenue balance for that client returns to zero.

Option 2: Use monthly invoices that draw down from the deposit.

In QuickBooks, record the $30,000 as a customer deposit (using the Receive Payment screen, applied as a credit). Then invoice the client $10,000 monthly. Apply the customer credit to each monthly invoice. The invoices land in Retainer Revenue monthly, and the credit applies until exhausted.

Both options produce the same end result. Option 1 is cleaner accounting; Option 2 is easier to see in QuickBooks reports.

How to record project revenue

A client pays you $30,000 for a 90-day project. The project will deliver over three months.

The cleanest approach is recognizing revenue in proportion to the work completed. If the work is roughly evenly distributed across the three months, that's $10,000 per month.

Record the upfront payment to Unearned Revenue as a customer deposit or sales receipt. At the end of each month, create a journal entry moving $10,000 from Unearned Revenue to Project Revenue.

If the project has clear milestones (discovery complete, design approved, launch), you can recognize revenue at each milestone instead of monthly. A common split is 25% at kickoff, 50% at midpoint, 25% at delivery. Adjust the journal entries to match.

For project work that goes month-over-month at a variable pace (a 6-month build where some months are heavier than others), the cleanest approach is percent-complete recognition. At the end of each month, estimate what percentage of the total scope is complete and recognize revenue accordingly. This requires honest assessment of the work, but it produces the most accurate P&L.

How to handle scope changes mid-engagement

Projects often expand. The original $30,000 scope becomes $45,000 after the client adds a new feature in month two. Two ways to handle this:

Issue a change order invoice for $15,000 with revenue recognition tied to the new work. If the additional work happens in months 2-3, recognize the change order revenue across those two months as the work is delivered.

For retainer expansions (client adds a service line, scope expands), invoice the new amount going forward starting from the agreed date and recognize as part of normal retainer revenue.

The key principle is consistency. Whatever recognition approach you use, apply it the same way to every engagement.

How to set up your monthly close routine

Once the accounts and the recognition approach are in place, the monthly close becomes a short routine.

Run the Unearned Revenue account balance at month-end. Every client with a balance is in some stage of deferred revenue.

For each client with a balance, determine how much should be recognized this month (based on the recognition approach you chose for that engagement). Create the journal entry: debit Unearned Revenue, credit Retainer Revenue or Project Revenue as appropriate.

Run the P&L. Confirm that Retainer Revenue and Project Revenue lines reflect what you actually earned that month.

Run the Balance Sheet. Confirm that Unearned Revenue reflects only money you've collected but haven't yet earned.

This routine takes 15-30 minutes per month once the structure is in place. The first month is harder because you may need to reclassify prior transactions; from month two onward, it's a quick discipline.

Reports that finally tell you something useful

Once retainer and project revenue are separated cleanly, your P&L produces signals you couldn't see before.

Retainer revenue as a percentage of total revenue tells you how much of your business is predictable. Most agency owners want this number to grow over time. A target of 60-70% retainer revenue is common for mature agencies because it creates the foundation for everything else (forecasting, hiring, capacity planning).

Project revenue as a percentage of total revenue tells you how dependent you are on new business each month. High project mix means high pressure on sales to keep the funnel full. Lower project mix means you can be more selective about which projects you take.

Month-over-month trend in retainer revenue tells you whether your recurring base is growing, shrinking, or flat. This is the most important growth metric for an agency. Total revenue can be misleading because a big project can mask shrinking retainers. Retainer-only trend reveals the truth.

Average retainer size and total retainer client count tell you whether you're growing through bigger clients or more clients. Both are valid strategies, but they require different operational setups, and you can't choose between them until you can see them.

Common mistakes to avoid

Recording upfront payments as revenue in the month received. This is the single biggest error. The cash hits your bank in March; the revenue belongs to March, April, and May (or whenever the work is delivered).

Mixing retainer and project revenue in the same income account. Without separation, every report calculation that depends on revenue mix is wrong.

Skipping the monthly recognition journal entries. If you set up the Unearned Revenue account but forget to move balances to revenue each month, your liability account will balloon and your revenue lines will be artificially low.

Treating one-time setup fees on retainer engagements as retainer revenue. A $5,000 onboarding fee at the start of a retainer is project revenue, not retainer revenue. Recognize it at onboarding (or over the onboarding period), then start the recurring retainer line separately.

Not handling refunds correctly. If a client cancels and you refund part of a prepaid retainer, the refund needs to reverse the unearned revenue, not the recognized revenue. Otherwise your P&L shows a revenue reduction in a month where no work change happened.

When to bring in a specialist

If your agency is doing $500K or more in annual revenue and your monthly P&L isn't separating retainer and project revenue, the structural work is worth professional help. A bookkeeper who has done agency revenue recognition before can usually have the structure in place in two to three weeks, with monthly close cycles running cleanly within a month.

The wrong move is staying with the existing setup because "the numbers add up." They might add up, but they're not telling you the truth about your business, and decisions made on incorrect revenue data tend to be expensive.

At Prophet Accounting, we work with marketing agencies, creative shops, and coaching businesses across the country. We restructure your chart of accounts to separate retainer and project revenue, set up the deferred revenue handling, and run the monthly close routine that keeps revenue recognition accurate. If your P&L isn't telling you which side of your business is actually growing, schedule a consultation at prophetaccounting.com/agencies. For a quick read on monthly bookkeeping costs, our pricing calculator gives you a ballpark in about two minutes.

Next
Next

HVAC Job Costing in QuickBooks Online