Case Studies2026-10-05
Three AI Agents, One Virtual FD Practice, 61% More Advisory Clients Served
A four-person Guildford virtual FD practice was losing 29 hours a week to management accounts drafting, board packs, and month-end commentary. Three AI agents changed the maths — 61% more clients served, 25 hours recovered weekly, £85/month to run.
<p class="lead">A four-person Guildford virtual FD practice was losing 29 hours every week to management accounts drafting, board pack preparation, and month-end commentary. That admin was capping the firm at 14 retained clients — while a pipeline of UK SMEs needing fractional finance leadership sat unserved. Three AI agents changed the maths: 61% more clients served, 25 hours recovered weekly, £85 a month to run.</p>
<h2>The Admin Trap Inside a UK Virtual FD Practice</h2>
<figure>
<img src="https://images.unsplash.com/photo-1554224155-8d04cb21cd6c?w=1200&q=80" alt="Virtual FD practice losing 29 hours a week to management accounts drafting, board pack preparation and month-end commentary — the admin trap capping client capacity at 14 retained clients" width="1200" height="800" loading="lazy" />
</figure>
<p>The firm — a four-person virtual FD practice based in Guildford — provided fractional finance director services to UK SMEs: typically owner-managed businesses turning over £1m–£8m that needed board-level financial leadership without a full-time FD salary. Clients ranged from SaaS founders and professional services directors to construction group owners and e-commerce brands. Each retained client paid a fixed monthly fee in exchange for management accounts, board pack preparation, cash flow modelling, and strategic financial advice.</p>
<p>The model worked well. The FDs were genuinely good at their jobs — strategic, trusted, commercially sharp. The problem was the layer of structured, repeatable work surrounding every client engagement. Every month, without exception, the same sequence repeated across all 14 clients:</p>
<ul>
<li>Pull and reconcile data from Xero, QuickBooks, or Sage, depending on the client's system</li>
<li>Draft management accounts: P&L, balance sheet, cash flow statement, and the month-end variance commentary</li>
<li>Assemble the board pack: pull in the financial data, format the KPI dashboard, write the executive summary, and carry over the prior month's action items</li>
<li>Update the rolling 13-week cash flow model with actuals and revised assumptions</li>
<li>Prepare talking points and financial narrative for the monthly board call</li>
</ul>
<p>For a single client, that monthly cycle took seven to nine hours. Across 14 retained clients, it was consuming the entire practice. The four FDs were spending roughly 29 of their available 40 billable hours each week on structured production work — drafting, formatting, reconciling, updating. The remaining eleven hours were the actual financial advisory work their clients were paying for.</p>
<blockquote><p>We were running the firm on eleven hours of real advice per week across four people. Everything else was financial document production. We knew how to fix it — we just couldn't find the time to build the fix while also serving the clients we already had.</p><cite>— Managing Director, Guildford Virtual FD Practice</cite></blockquote>
<p>Making Tax Digital for ITSA, which introduced quarterly digital submissions for self-employed clients from April 2026, added another layer of structured compliance work on top of the existing monthly cycle. The practice needed to either hire or automate — and the economics of hiring another FD before having the capacity to onboard new clients made the decision straightforward.</p>
<h2>The Three Agents They Built</h2>
<figure>
<img src="https://images.unsplash.com/photo-1518770660439-4636190af475?w=1200&q=80" alt="Three AI agents built for a virtual FD practice: Management Accounts Agent, Board Pack Agent, and Client Financial Monitoring Agent connected in an n8n AI operating system" width="1200" height="800" loading="lazy" />
</figure>
<p>The build took six weeks from scoping to all three agents running in production. The infrastructure: n8n self-hosted on a VPS, Claude as the LLM for all document generation tasks, and direct API integrations with Xero and QuickBooks via OAuth. All three agents share a single client data registry — a structured JSON configuration per client that stores their accounting system credentials, board pack template, KPI definitions, budget figures, and commentary preferences.</p>
<p><strong>Agent 1: The Management Accounts Agent.</strong> On the 1st working day of every month, this agent pulls the prior month's trial balance and transaction data from each client's accounting system via API. It runs an automated reconciliation check — comparing current month actuals against both the prior year equivalent period and the client's budget, flagging variances above defined thresholds. It then generates a complete draft management accounts pack: P&L, balance sheet, cash flow statement, and the month-end commentary narrative. The commentary follows the practice's house style — confident, plain-language, focused on what changed and why. Sections where an unusual variance needs the FD's professional judgement are marked with a review flag. Draft saved to the client folder in Google Drive and a Slack notification sent to the lead FD within twelve minutes of the data pull. Previously: four to five consultant hours per client per month.</p>
<p><strong>Agent 2: The Board Pack Agent.</strong> When the FD approves the management accounts draft — a single Slack button click — the Board Pack Agent triggers automatically. It reads the approved management accounts, the client's current KPI definitions and targets, the prior month's board pack, and any open action items from the last board meeting. It generates a complete board pack: executive financial summary, KPI dashboard with RAG status, variance analysis narrative, rolling cash flow update, and current-month recommendations. Everything formats into the client's board pack template in Google Slides. Where recommendations require judgement on commercial strategy, the agent drafts a placeholder and flags it for FD input. Total generation time: under six minutes. Human review and edit: twenty to thirty minutes per client. Previously: three to four hours.</p>
<p><strong>Agent 3: The Client Financial Monitoring Agent.</strong> This agent runs every weekday morning across all 14 clients. It pulls the latest bookkeeping data from each client's accounting system and checks a set of financial health indicators: debtor days, cash runway, overdue invoices, large unreconciled transactions, and any significant movement in the bank balance. When a threshold is breached — a client's debtor days exceeding their agreed limit, or a large unexpected outgoing — the agent generates a one-paragraph alert and routes it to the responsible FD via Slack: what triggered it, what the numbers show, and the suggested action. Time previously spent on manual client health monitoring: three to four hours per week across the team. Now: two minutes to read the morning alerts that actually need attention.</p>
<h2>What Each Agent Actually Does, Step by Step</h2>
<figure>
<img src="https://images.unsplash.com/photo-1461749280684-dccba630e2f6?w=1200&q=80" alt="n8n workflow architecture for the virtual FD practice AI operating system — Management Accounts Agent, Board Pack Agent, and Client Monitoring Agent running as separate n8n workflows with Xero, QuickBooks, Google Drive, and Slack integrations" width="1200" height="800" loading="lazy" />
</figure>
<p>All three agents run inside a single n8n instance. The Management Accounts Agent is the most data-intensive: it calls the Xero or QuickBooks API to retrieve the trial balance, P&L, and balance sheet for the target period, then runs a structured Claude prompt against each data set. The prompt includes the client's budget figures (loaded from the client registry), prior year comparatives, and commentary guidelines specific to that client's sector and reporting preferences.</p>
<p>The reconciliation check is a separate workflow step before the commentary generation: it calculates percentage variances for each P&L line and flags lines where the absolute variance exceeds £5,000 or the percentage variance exceeds 15%. These flagged lines are passed to the commentary generator as a priority list — ensuring the drafted narrative leads with what actually matters, not what happens to appear first in the chart of accounts.</p>
<p>The Board Pack Agent uses a Google Slides API integration to read the client's existing board pack template, populate each slide with the current month's data, and update the KPI dashboard charts. For clients without a Google Slides template, the agent generates the board pack as a formatted Google Doc. The action items section is populated by reading the prior month's board pack and extracting any items marked "action" — a simple but reliable mechanism that means action items never fall through the gap between one month's board pack and the next.</p>
<p>The Client Monitoring Agent is the simplest architecturally but the highest-frequency: it runs 20 times every working month per client, adding up to over 280 data pulls across the practice each month. The key engineering decision was building in a debounce logic — if a threshold was already triggered yesterday and hasn't been resolved, the agent suppresses the repeat alert unless the metric has deteriorated further. Without this, the practice would have been overwhelmed by repeated notifications about the same open issue. For a deeper look at threshold-based monitoring, the <a href="/blog/build-ai-client-health-monitor">AI client health monitor guide</a> covers the same pattern applied to retainer client churn signals.</p>
<p>The primary integration challenge during the build was the Xero OAuth connection — specifically handling token refresh across 14 separate client authorisations reliably, and ensuring each data pull ran against the correct accounting period. The n8n Xero node handles most of this, but multi-client token management required a custom lookup table in the client registry. For the production engineering approach to multi-client agent architectures, the <a href="/blog/ai-agent-deployment-patterns-production">agent deployment patterns post</a> covers the configuration-as-code approach that makes it maintainable as client count grows.</p>
<h2>The Results After 90 Days</h2>
<figure>
<img src="https://images.unsplash.com/photo-1611974789855-9c2a0a7236a3?w=1200&q=80" alt="Virtual FD practice AI results scorecard after 90 days: 61% more clients served (14 to 22), 25 hours recovered per week, 90% reduction in management accounts time per client, £85 per month running cost" width="1200" height="800" loading="lazy" />
</figure>
<p>Three months after all three agents went live, the numbers were clear:</p>
<ul>
<li><strong>Client capacity: 14 → 22 retained clients.</strong> A 61% increase with the same four-person team. The additional eight clients came from the waiting list the practice had previously been unable to serve — enquiries that had been politely deferred because the production workload left no room to onboard them.</li>
<li><strong>25 hours recovered per week.</strong> Across the team, the management accounts drafting, board pack preparation, and client monitoring that previously consumed 29 hours now requires four hours of human oversight — reviewing and approving agent drafts, handling flagged judgement calls, and editing sections that need FD-level input.</li>
<li><strong>Management accounts cycle: 4–5 hours per client → 35 minutes.</strong> The agent handles the data pull, reconciliation, and draft in twelve minutes. The FD's review and final approval takes twenty to twenty-five minutes. That's a 90% reduction in time per client for the monthly accounts cycle.</li>
<li><strong>Zero missed client alerts in three months.</strong> Previously, the practice relied on FDs remembering to check on clients between monthly cycles. Two clients in the prior six months had reached cash positions requiring urgent intervention — caught late. Since the Monitoring Agent went live, every threshold breach has been flagged within 24 hours of the data showing it.</li>
</ul>
<p>The eight additional retained clients, at an average monthly fee of £1,800, added £14,400 of monthly recurring revenue. Against a running cost of £85 a month for the agent infrastructure, the return makes the investment period essentially invisible. The practice is actively discussing a fifth hire — not to absorb the production work the agents now handle, but to deepen the strategic advisory relationships the recovered time has made possible. That's the right reason to hire: for the work that genuinely needs a person.</p>
<h2>What It Actually Cost</h2>
<p>The build was completed over six weeks. The running cost breaks down as follows:</p>
<ul>
<li>n8n self-hosted (VPS): £12/month</li>
<li>Anthropic API (Claude) for accounts commentary, board pack narratives, and monitoring summaries: £48–£60/month at current volume</li>
<li>Google Workspace (existing subscription, no additional cost)</li>
<li>Xero and QuickBooks API access (included in existing client platform subscriptions)</li>
<li><strong>Total monthly running cost: approximately £85/month</strong></li>
</ul>
<p>The payback period on the build cost was under four weeks. The agents have run with minimal maintenance since launch — the client registry is updated when a new client onboards, and the commentary system prompt is reviewed each quarter to stay aligned with the practice's evolving house style. For the approach to keeping API costs flat as client volume grows, the <a href="/blog/ai-agent-cost-optimisation-uk">AI agent cost optimisation guide</a> covers the caching and routing strategies that keep LLM spend from scaling linearly with throughput. For the testing approach used before going live with real client deliverables, the <a href="/blog/ai-agent-evaluation-framework">evaluation framework post</a> covers the golden-dataset method — running the Management Accounts Agent against twelve completed historical accounts before deploying it on live client work.</p>
<p>If you run a virtual FD, outsourced finance, or professional advisory practice — and your best people are spending the majority of their client hours on structured document production rather than the strategic work their clients are actually paying for — <a href="/contact">book a free 30-minute call</a>. We'll map your current process, identify where agents can recover the production hours, and give you a clear picture of what the build would cost and what it would return.</p>