If you run a digital agency with both retainer clients and project work, your chart of accounts is the foundation of every financial report you look at. Get it wrong and your gross margin figures will be misleading, your deferred revenue will be a mess, and you will not know which clients are actually profitable until it is too late.
Most agency founders inherit a generic chart of accounts from their accountant or their software setup. It has "Sales", "Cost of Sales", and "Overheads". That is not enough. Not for a business that bills some clients monthly, some per project, and needs to track utilisation and scope creep separately.
This guide walks through exactly how to set up a chart of accounts for a digital agency with retainers and project work. It uses real account codes, real numbers, and assumes you use Xero or QuickBooks. If you use FreeAgent or Sage, the principles are identical even if the code structure differs.
Why a Generic Chart of Accounts Fails Agency Founders
A standard chart of accounts from a template file treats all revenue the same. That is fine for a shop or a consultancy that bills the same way every month. It does not work for a digital agency that has:
- Monthly retainers for ongoing SEO, PPC, or content work
- Fixed-price projects for website builds or campaign launches
- Time-and-materials work that overruns scope
- Pass-through costs like ad spend, software licences, and freelancers
Without separate accounts for each revenue type, you cannot calculate gross margin by service line. You cannot see which clients are on retainer vs project billing without digging into individual invoices. And you will not be able to produce reliable management accounts that show deferred revenue or work in progress.
I have seen agency founders look at a P&L showing 60% gross margin and think everything is fine. Then they dig deeper and realise the retainer work is at 72% margin and the project work is at 38%. The blended number hid a problem. A proper chart of accounts prevents that.
The Core Structure: Revenue Accounts
Start with revenue. You need separate accounts for retainer income and project income. Do not lump them together under "Sales".
Here is a typical structure for a digital agency using Xero or QuickBooks, with account codes:
4000, Retainer Income
All recurring monthly fees from retainer clients. SEO retainers, PPC management fees, social media management, ongoing content creation. If you invoice the same amount on the same date each month, it goes here.
4100, Project Income
Fixed-price projects, one-off campaigns, website builds, strategy sessions. Anything where the scope is defined and the fee is agreed upfront.
4200, Time and Materials Income
Work billed by the hour or day, where the final invoice depends on actual time spent. Many agencies use this for scope creep or additional work outside the retainer.
4300, Ad Spend Income (Pass-Through)
If you invoice clients for Google Ads or Meta spend, record it here. This should be separated from your fee income so your gross margin calculation is not distorted by large pass-through amounts.
4400, Other Agency Income
Affiliate commissions, referral fees, speaking fees, anything that is not core service delivery.
If you have multiple service lines, you can extend this. For example, a digital agency offering both SEO and PPC might use 4010 for SEO retainers and 4020 for PPC retainers. The same logic applies to project income: 4110 for website projects, 4120 for campaign projects.
The key rule is this: if the revenue behaves differently, it needs its own account. Retainer income is predictable and recurring. Project income is lumpy and requires careful tracking of deferred revenue. They should never share an account.
Deferred Revenue: The Account Most Agencies Miss
Here is where the chart of accounts for a digital agency with retainer and project work really differs from a generic setup. You need a deferred revenue account.
Deferred revenue (also called unearned revenue) is money you have invoiced but not yet earned. If you invoice a retainer client on the 1st of the month for the month ahead, that revenue is not earned until you deliver the work. If you invoice a project in three stages and stage one is paid upfront, that payment is deferred until you start work.
Without a deferred revenue account, your P&L shows revenue before you have earned it. That inflates your profit in month one and deflates it in month two. It makes your management accounts unreliable.
2200, Deferred Revenue (Retainers)
Use this for retainer fees invoiced in advance. As you deliver the month, you release the revenue from this balance sheet account to your 4000 P&L account.
2210, Deferred Revenue (Projects)
Use this for stage payments or upfront project fees that have not yet been earned. Release to 4100 as you complete each milestone.
In Xero, you can use the "Billable" or "Work in Progress" features to automate this. In QuickBooks, you can use the "Deferred Revenue" account type and run a monthly journal to move amounts to earned revenue. Either way, the account must exist in your chart.
Let me give you a real example. A 12-person digital agency in Bristol Harbourside bills a £6,000 per month retainer for SEO work. They invoice on the 1st for the month ahead. If they did not use deferred revenue, their January P&L would show £6,000 of income earned in January even though the work is delivered across the whole month. By the 15th of January, they have only earned half of it. A deferred revenue account fixes that distortion.
Cost of Sales: Tracking Gross Margin by Service Line
Your cost of sales accounts need to mirror your revenue accounts. If you want to see gross margin by service line, you need separate cost accounts for retainer delivery, project delivery, and pass-through costs.
5000, Direct Labour (Retainers)
Salaries and freelancer costs for staff who deliver retainer work. This includes the SEO manager, the PPC specialist, the content writer. If they split time between retainer and project work, allocate based on timesheets.
5100, Direct Labour (Projects)
Same logic for project delivery. Web developers, designers, project managers on project work.
5200, Freelancers and Subcontractors
External contractors brought in for specific projects or overflow work. Keep this separate from employed staff costs so you can see your reliance on freelancers.
5300, Ad Spend (Pass-Through)
The cost of Google Ads, Meta Ads, LinkedIn Ads that you pay on behalf of clients. This should match your 4300 income account. The net margin on pass-through should be zero or close to it.
5400, Software and Tools
Agency-specific tools: SEMrush, Ahrefs, Canva, Figma, Asana, Monday.com. If you allocate these costs to specific clients or service lines, use sub-accounts.
5500, Other Direct Costs
Stock photography, fonts, licences, printing, domain registrations, hosting. Anything that is directly attributable to a client deliverable.
With this structure, you can run a gross margin report by service line. You will see that your retainer work runs at 72% gross margin while your project work runs at 45%. That tells you where to focus, where to raise prices, and where to improve efficiency.
Overheads: Keep It Simple
Overheads are where most agency founders overcomplicate their chart of accounts. You do not need 50 expense accounts. You need 15 to 20 that actually matter.
6000, Rent and Office Costs
Rent, rates, utilities, cleaning, coffee, snacks. If you are remote-first, this might be a co-working membership or nothing at all.
6100, Staff Costs (Non-Direct)
Salaries for admin, finance, management who are not billable. Also include pension contributions, training, recruitment fees, and staff social events.
6200, Professional Fees
Accountancy, legal, HR consultancy, insurance. This is where your specialist accountants at Agency Founder Finance would appear on your P&L. And yes, we know what we look like on there.
6300, Marketing and Business Development
Your own agency's marketing spend. Website hosting, Google Ads for your own brand, content creation, events, sponsorships. Many agencies underinvest here because they are too busy delivering client work.
6400, Travel and Entertainment
Client meetings, conferences, team nights out. HMRC rules on entertaining are specific: client entertaining is not allowable for corporation tax unless it is staff entertaining. Keep them separate.
6500, IT and Subscriptions
General IT costs not allocated to clients. Broadband, phones, laptops, software for internal use (Office 365, Slack, Notion).
6600, Bank Charges and Interest
Bank fees, FX charges, loan interest, credit card merchant fees.

