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 ICAEW qualified 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.

6700, Depreciation
Laptops, office furniture, equipment. Use the Annual Investment Allowance to claim 100% relief in the year of purchase on most assets up to £1m.

That is it. Eight overhead accounts. You can add more if your agency has unusual costs, but start here and only add accounts when you genuinely need to track a specific cost category.

Balance Sheet Accounts: What to Add

Your balance sheet accounts matter less for day-to-day management but matter hugely for year-end and corporation tax returns. Make sure these exist:

1100, Trade Debtors
Money owed to you by clients. This should reconcile to your aged debtors report every month.

1200, Work in Progress
Time and costs incurred on projects not yet invoiced. If you do fixed-price projects, you need this account to show the true value of your balance sheet.

2100, Trade Creditors
Money you owe to suppliers. Freelancers, software vendors, Google Ads accounts.

2300, VAT Liability
VAT collected but not yet paid to HMRC. If you use the Flat Rate Scheme, this account should match your quarterly return.

2400, Corporation Tax Liability
Corporation tax accrued but not yet paid. Your accountant will post journals here at year-end.

2500, Directors' Loan Account
If you take money from the company that is not salary or dividends, it goes here. Keep this account clean. Loans over £10k or not repaid within 9 months of year-end trigger a 33.75% S455 tax charge.

3000, Retained Earnings
Accumulated profits from previous years. This is where your P&L profit lands at year-end.

3100, Profit and Loss Account
Current year profit or loss. This account resets to zero at year-end when the balance moves to retained earnings.

Putting It All Together: A Worked Example

Let me show you how this works with a real agency scenario.

Brighton Digital Co is a 15-person agency turning over £1.2m per year. They have 12 retainer clients paying between £3,000 and £8,000 per month, and they take on 4 to 6 projects per year at £25,000 to £60,000 each.

In January 2025, they invoice £48,000 in retainers (billed on the 1st for the month ahead) and receive a £20,000 stage payment on a website project that is 40% complete.

With a proper chart of accounts, the January entries look like this:

  • Debit: Bank £68,000
  • Credit: Deferred Revenue (Retainers) £48,000
  • Credit: Deferred Revenue (Projects) £20,000

As the month progresses, they release the retainer revenue. By 31 January, they have delivered 100% of the retainer work, so they post a journal:

  • Debit: Deferred Revenue (Retainers) £48,000
  • Credit: Retainer Income £48,000

The project is only 40% complete, so they release £8,000 of the £20,000 stage payment to Project Income. The remaining £12,000 stays in Deferred Revenue (Projects) on the balance sheet.

On the cost side, they have £22,000 of direct labour for retainer delivery, £6,000 of freelancer costs on the project, and £4,000 of ad spend pass-through. Their gross margin for the month is:

  • Retainer work: (£48,000 - £22,000) / £48,000 = 54.2%
  • Project work: (£8,000 - £6,000) / £8,000 = 25%
  • Overall: (£56,000 - £32,000) / £56,000 = 42.9%

Without separate revenue and cost accounts, the 42.9% blended margin would hide the fact that project work is running at 25%. That is a problem. With a proper chart of accounts, the founder sees it immediately and can investigate why the project margin is so low. Scope creep, poor estimation, or under-pricing.

How to Set This Up in Xero or QuickBooks

If you are setting this up from scratch, here is the process:

In Xero:

  • Go to Accounting > Chart of Accounts
  • Add new accounts using the codes above
  • Set the tax rate for each account (standard VAT for most, exempt for some)
  • Use the "Tracking" feature to track by service line or client type if needed

In QuickBooks:

  • Go to Settings > Chart of Accounts
  • Add new accounts using the codes above
  • Set the account type correctly (Income, Cost of Sales, Expense, Current Liability for deferred revenue)
  • Use Classes or Locations to track by service line if needed

If you already have a chart of accounts but it is a mess, do not try to fix it all at once. Start by adding the deferred revenue accounts and the separate revenue accounts. Migrate your existing transactions over a quarter-end or year-end when the numbers are clean. Your accountant can help with the journals.

Common Mistakes to Avoid

I see the same errors repeatedly when reviewing agency charts of accounts. Here are the ones to watch for:

Mixing retainer and project income in one account. This is the most common and the most damaging. You cannot manage what you cannot measure. Separate them.

No deferred revenue account. Your P&L will show revenue before it is earned. That overstates profit and understates liabilities. Fix it.

Putting all staff costs in one account. If your SEO manager is in the same account as your finance director, you cannot calculate gross margin properly. Allocate direct labour to cost of sales and overhead staff to overheads.

Too many overhead accounts. You do not need "Tea and Coffee" as a separate account. Put it in office costs. Keep it simple.

Ignoring the balance sheet. Many agency founders only look at the P&L. Your balance sheet tells you if you are collecting debts, managing deferred revenue, and staying within your directors' loan account limits. Look at it monthly.

When to Review Your Chart of Accounts

Review your chart of accounts at least once per year, ideally before your year-end. If your agency has changed its service mix, added a new revenue stream, or grown significantly, your