Fraud Blocker

How should I record retainers vs. project fees?

Written by Jonathan Burns

10 hours ago Under 4min read

Short Answer

Record retainers as deferred revenue (a liability) when received, then recognize as earned revenue as you deliver services. Project fees follow the same principle—recognize revenue when work is completed or milestones are achieved. This matching approach keeps your books accurate and aligns with CRA expectations for accrual-basis reporting.

The Rule

Marketing agencies typically receive two types of client payments: ongoing retainers and one-time project fees. How you record each depends on when you actually earn the money—not when the cash hits your bank account.

  • Retainer payments: When a client pays you $5,000/month for ongoing marketing services, record the full amount as “Deferred Revenue” (a liability account) when received. As you deliver services throughout the month, move portions to your revenue account.
  • Project fees: For a $20,000 website redesign, record payment as deferred revenue upon receipt. Recognize revenue based on project milestones (e.g., 25% at wireframes, 50% at design approval, 25% at launch) or upon final delivery.
  • Accrual basis requirement: Most agencies operate on accrual accounting, which means revenue is recognized when earned, not when received.
  • Consistency matters: Whatever method you choose for recognizing revenue—milestone-based, time-based, or completion-based—apply it consistently across all clients and projects.

Why It Matters

Getting retainer and project fee accounting right protects your agency and gives you visibility into your actual financial health.

  • Accurate profitability: If you recognize a $60,000 annual retainer as revenue the day you receive it, your Q1 financials look incredible—but wildly misleading. Proper deferral shows what you’ve actually earned.
  • Cash flow vs. profit clarity: Your bank balance might look healthy with advance payments sitting there, but that money isn’t profit until you’ve done the work. Mixing these up leads to overspending.
  • CRA compliance: The CRA expects businesses to match revenue with the period in which goods or services were provided. Recognizing unearned retainers as income can increase your taxable income.
  • Client relationship clarity: If a retainer client cancels mid-contract, you need to know exactly how much is theirs to refund vs. how much you’ve legitimately earned. Poor tracking creates disputes.
  • Better forecasting: When you separate deferred revenue from earned revenue, you can project future income more reliably and plan resource allocation.

Best Practices

Set up your chart of accounts and processes to handle retainer and project revenue cleanly from day one.

  • Create a dedicated liability account: Add “Deferred Revenue” or “Unearned Revenue” to your chart of accounts. Every retainer payment and project deposit goes here first.
  • Use tracking categories: In Xero or QuickBooks Online, set up tracking categories (Xero) or classes (QBO) for each client or project. This lets you see deferred and earned revenue by engagement.
  • Establish recognition triggers: Define when revenue transfers from deferred to earned. For retainers, this might be monthly on the first business day. For projects, tie it to signed-off deliverables or milestone approvals.
  • Reconcile monthly: At month-end, review your deferred revenue balance. Does it match what you actually owe clients in future services? If not, investigate.
  • Document your policy: Write down your revenue recognition approach so anyone on your team (or your bookkeeper) handles it consistently.
  • Match expenses to revenue: When you recognize project revenue, also recognize the related contractor costs and expenses in the same period. This gives you true project profitability.
  • Treat change orders like revenue events. If scope expands, document it and bill it separately so revenue recognition stays clean.
  • Record sales tax (GST/HST) when revenue is recognized. Sales tax should not be recorded at the time of receiving a retainer, instead it should be recorded at the time of revenue recognition.

Examples

Monthly Retainer Example

A Toronto marketing agency signs a new client for a $6,000/month retainer covering social media management, content creation, and monthly reporting. On January 3rd, the client pays the full quarter upfront ($18,000). The bookkeeper records $18,000 to Deferred Revenue. On January 31st, after completing January’s deliverables, $6,000 moves from Deferred Revenue to Service Revenue. The same happens on February 28th and March 31st. The agency’s January income statement shows $6,000 in revenue—not $18,000—accurately reflecting work completed.

Project Fee Example

The same agency lands a $30,000 brand identity project with three milestones: discovery ($7,500), design development ($15,000), and final delivery ($7,500). The client pays 50% upfront ($15,000), which the bookkeeper records as Deferred Revenue. Upon completing discovery and getting client sign-off, $7,500 moves to revenue. The remaining $7,500 in deferred revenue stays on the balance sheet until design development is approved. At project completion, the final payment arrives and the remaining deferred balance clears as earned revenue.

Hybrid Engagement Example

A Vancouver agency provides a client with both a $3,500/month retainer for ongoing SEO work and a one-time $12,000 website audit project. The bookkeeper tracks these separately—retainer revenue recognized monthly as services are delivered, audit revenue recognized upon final report delivery. Using client tracking categories, the agency can see total revenue per client while maintaining proper timing for each engagement type.

Tools

  • Xero – for setting up deferred revenue liability accounts and tracking categories by client or project
  • QuickBooks Online – for agencies that prefer QBO‘s classes and projects features to track retainer vs. project revenue
  • Harvest – for tracking time against retainers and projects, providing data for revenue recognition decisions
  • Syft Analytics – for dashboards that separate cash received from revenue earned.
  • Dext or Hubdoc – for attaching signed SOWs, change orders, and invoice backup to the right client/project.

Sources

Pro Tip

Set up a “Revenue Recognition” recurring task at month-end. Review every client’s deferred revenue balance and ask: “Did we deliver what we said we’d deliver this month?” If yes, move it to earned. If a project stalled waiting on client feedback, that revenue stays deferred—even if your team put in hours. Tying recognition to delivered (not just worked) keeps your financials honest and defensible.

Need Help?

If your agency’s revenue tracking feels like guesswork, or you’re not sure how much of your bank balance is actually yours, we can help. Back Office Stars sets up clean deferred revenue tracking for marketing agencies using Xero or QuickBooks Online. You’ll see exactly what you’ve earned, what’s still owed, and what’s coming next month. Book a 20-minute call to talk about your agency’s bookkeeping.

Looking for a better bookkeeping and payroll experience?

Read More Related Articles