Bookkeeping

How to Do Your Bookkeeping with Claude Code (and When to Use a Dedicated Tool)

A practical guide to using Claude Code and Claude Desktop for UK business bookkeeping. Real setup steps, MCP integration, and where the manual approach hits its limits.

P
Paul Gosnell
Founder & CEO
5 June 202622 min read
Share
A

Quick Answer

Claude Code and Claude Desktop can query your accounting data, categorise transactions, and answer questions about your books if connected to a real accounting backend via MCP. On their own, they have no ledger, no bank feed, and no filing capability. Connect them to AccountsOS via MCP for a working setup.

Dump your receipts and forget them. Finn does this for you, automatically.Try free

Claude is the best reasoning model most people have ever used. If you run a business and you are already living inside Claude Code or Claude Desktop for your daily work, the question eventually comes up: can I just do my bookkeeping here too?

The short answer is yes, but only if Claude is connected to something that actually holds your accounting data. On its own, Claude has no ledger, no bank feed, no VAT calculation engine, and no way to file anything with HMRC or Companies House. It is a conversation, not an accounting system.

Connected to a real accounting backend via MCP (the Model Context Protocol), Claude becomes genuinely useful for bookkeeping. You can query your bank balance, categorise transactions, check your VAT position, search receipts, and ask questions about your numbers, all from the same terminal or chat window you already use for everything else.

This guide walks through exactly how to set that up, what you can realistically do once connected, and where the approach works well versus where a dedicated accounting platform handles things better on its own.

What can Claude actually do for bookkeeping on its own?

Without any integrations, Claude can do the following accounting-related tasks:

Useful things Claude does well without a backend:

  • Explain UK tax rules (corporation tax rates, VAT thresholds, allowable expenses, IR35 rules)
  • Help you understand HMRC guidance in plain English
  • Draft expense policies or internal accounting procedures
  • Walk you through how to record a specific type of transaction
  • Explain double-entry bookkeeping concepts
  • Help you decide whether something is a capital expense or revenue expense
  • Calculate simple tax scenarios ("If my company profit is GBP 80,000, what's the corporation tax bill?")

Things Claude cannot do without a backend:

  • See your actual bank transactions
  • Know your real account balance
  • Track or calculate your VAT position across a quarter
  • Store receipts or invoices
  • Maintain a general ledger
  • Reconcile bank statements
  • File anything with HMRC or Companies House
  • Remember your financial data between conversations (unless you paste it in every time)
  • Give you a P&L or balance sheet based on your real numbers

This distinction matters. If you ask Claude "How much did I spend on software this year?", it will either hallucinate an answer or tell you it does not have access to your data. It needs a data source.

Why MCP changes everything

The Model Context Protocol (MCP) is an open standard that lets AI models like Claude connect to external tools and data sources. Instead of Claude operating in isolation, MCP gives it the ability to call functions: query a database, create a record, search documents, pull live data.

For accounting, this means Claude can connect to your actual books and operate on real financial data. It stops being a general knowledge chatbot and starts being something closer to an AI accountant that knows your specific business.

The connection works like this:

  1. You run an MCP server that sits between Claude and your accounting data
  2. The MCP server exposes "tools" that Claude can call (get_transactions, get_balance, create_transaction, etc.)
  3. When you ask Claude a question about your finances, it calls the relevant tool, gets real data, and reasons about it
  4. Claude's response is grounded in your actual numbers, not guesswork

This is fundamentally different from pasting a CSV into a chat window. The tools are structured, the data is live, and Claude can chain multiple tool calls together to answer complex questions.

What accounting tools does the MCP server expose?

The AccountsOS MCP server gives Claude access to 10 tools and 4 resources. Here is the full list.

Read tools (query your data)

Tool What it does
get_transactions Query transactions with filters: date range, category, amount range, text search. Returns up to 100 results.
get_balance Current account balance, with breakdown by bank account if you have multiple.
get_deadlines Upcoming tax and filing deadlines: VAT returns, corporation tax, confirmation statements.
get_vat_summary VAT summary for any quarter. Output tax (charged), input tax (reclaimable), and the net amount due.
search_documents Search uploaded receipts and invoices by content, vendor name, or document type.
list_categories All available transaction categories, UK GAAP compliant. Filter by type (income, expense, asset, liability, equity).

Write tools (create and update records)

Tool What it does
create_transaction Create a new transaction with automatic AI categorisation if no category is specified.
update_transaction Update a transaction's category, notes, or reconciliation status.
categorize_transaction Get an AI-suggested category for a transaction. Returns the category, confidence score, and reasoning.
create_deadline Create a new tax or filing deadline reminder.

Resources (pre-loaded context)

Resource URI What it provides
accountsos://company Your company details and settings
accountsos://transactions Your most recent 50 transactions
accountsos://documents Your uploaded documents
accountsos://deadlines Your upcoming deadlines

Resources load automatically when Claude starts a session, giving it immediate context about your business without needing to make explicit tool calls.

Step by step: setting up Claude Desktop with AccountsOS MCP

This takes about five minutes.

1. Get your AccountsOS API key

Sign up at accounts-os.com/signup if you have not already. Then go to Settings and generate an API key. It will look something like sk_live_abc123....

2. Install the MCP server

Open your terminal and install the package globally:

npm install -g @thriveventurelabs/accountsos-mcp

3. Add the server to Claude Desktop's config

Open the Claude Desktop configuration file. The location depends on your operating system.

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json

Add the AccountsOS server to the mcpServers section. If the file does not exist, create it. If it already has other MCP servers configured, add AccountsOS alongside them.

{
  "mcpServers": {
    "accountsos": {
      "command": "accountsos-mcp",
      "args": [],
      "env": {
        "ACCOUNTSOS_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

If you prefer not to install the package globally, you can use npx instead:

{
  "mcpServers": {
    "accountsos": {
      "command": "npx",
      "args": ["--yes", "@thriveventurelabs/accountsos-mcp@latest"],
      "env": {
        "ACCOUNTSOS_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

4. Restart Claude Desktop

Close and reopen Claude Desktop. You should see the AccountsOS tools appear in the tools list (the hammer icon at the bottom of the chat input). If you see "accountsos" with 10 tools listed, you are connected.

5. Test the connection

Ask Claude something like:

"What's my current bank balance?"

Claude will call the get_balance tool, retrieve your real balance from AccountsOS, and respond with actual numbers. If it works, you are done.

Troubleshooting

If the server does not connect, check the logs at:

~/Library/Logs/Claude/mcp-server-accountsos.log

The most common issues are:

  • Wrong API key: double check the key in your config matches the one from AccountsOS settings
  • Node.js not installed: the MCP server requires Node.js. Install from nodejs.org
  • npx caching issues: if using the npx approach and getting stale versions, switch to the global install method

Step by step: setting up Claude Code with AccountsOS MCP

If you work primarily in the terminal via Claude Code (Anthropic's CLI agent), you can add AccountsOS as an MCP server there too.

Option 1: Using the CLI command

claude mcp add accountsos --command "npx --yes @thriveventurelabs/accountsos-mcp@latest" --env ACCOUNTSOS_API_KEY=sk_live_your_key_here

This adds the server to your Claude Code configuration. You can verify it is registered by running:

claude mcp list

Option 2: Editing the settings file directly

Open ~/.claude/settings.json and add the server configuration:

{
  "mcpServers": {
    "accountsos": {
      "command": "npx",
      "args": ["--yes", "@thriveventurelabs/accountsos-mcp@latest"],
      "env": {
        "ACCOUNTSOS_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Option 3: Project-level configuration

If you only want the accounting tools available in a specific project (e.g., your company's finance repo), add the config to .claude/settings.json inside that project directory rather than your global settings.

Verify the connection

Start a new Claude Code session and ask:

What are my upcoming deadlines?

Claude will call get_deadlines and return your real filing dates. If you see actual data, the setup is complete.

What you can do once connected: real prompt examples

These are real prompts you can use once Claude has MCP access to your AccountsOS data, along with what Claude does under the hood.

Query your finances

Prompt: "How much did I spend on software subscriptions in the last 3 months?"

Claude calls get_transactions with a date range and category filter, sums the amounts, and gives you a total with a breakdown by vendor.

Prompt: "What's my VAT position for Q1 2026?"

Claude calls get_vat_summary with the quarter specified. You get output tax, input tax, and the net amount due or reclaimable.

Prompt: "Show me all transactions over GBP 1,000 from this month"

Claude calls get_transactions with min_amount: 1000 and a date filter. Returns a table of high-value transactions with dates, descriptions, and categories.

Prompt: "Do I have a receipt for the Hetzner payment on 15 May?"

Claude calls search_documents with "Hetzner" as the query, then cross-references with your transactions to confirm whether a matching document exists.

Create and manage transactions

Prompt: "Log a transaction: lunch with a potential client at The Ivy, GBP 87.50, yesterday"

Claude calls create_transaction with the date, description, amount, and direction (out). The system auto-categorises it as "entertaining" and Claude confirms the details.

Prompt: "That Adobe payment from last week should be categorised as Computer Software, not Office Supplies"

Claude calls get_transactions to find the Adobe transaction, then calls update_transaction to change the category. Confirms the update.

Prompt: "Mark all the Revolut top-ups from April as reconciled"

Claude calls get_transactions to find the relevant entries, then calls update_transaction on each one to set reconciled: true.

Ask Finn-level questions

Since AccountsOS has its own AI agent (Finn) built into the platform, you might wonder how the MCP experience compares. The MCP route gives you access to the same underlying data, but Finn has additional capabilities:

  • Finn has 20+ tools (the MCP server exposes 10)
  • Finn has access to the full skills library covering 21 countries
  • Finn can generate invoices, manage bills, process expense claims, and handle document intelligence
  • Finn remembers your business context via the Company Memory Wiki
  • Finn can file VAT returns via HMRC MTD (once your production credentials are approved)

The MCP server is designed for developers and power users who want accounting data accessible from their existing Claude workflow. For the full accounting experience, use Finn directly inside AccountsOS.

Chain complex queries

This is where Claude's reasoning ability combined with real data gets genuinely useful.

Prompt: "Compare my expenses this month to the same month last year. Flag anything that increased by more than 30%."

Claude makes multiple get_transactions calls across different date ranges, aggregates by category, calculates the percentage change, and presents a comparison table with flagged increases.

Prompt: "I need to know my rough corporation tax liability so far this tax year. What's my income minus allowable expenses?"

Claude pulls transactions, separates income from expenses, applies the current corporation tax rates, and gives you an estimate. It will caveat that this is indicative, not a formal calculation.

Prompt: "Find all uncategorised transactions from the past 60 days and suggest categories for each one."

Claude calls get_transactions to find uncategorised entries, then iterates through them calling categorize_transaction on each. Returns a list of suggestions with confidence scores.

Can ChatGPT users do this too?

MCP is currently a Claude-specific protocol. ChatGPT does not natively support MCP servers. However, AccountsOS also provides a CLI tool that works from any terminal, which means it is accessible from ChatGPT with code execution, or from any workflow that can run shell commands.

Install the CLI:

curl -fsSL https://accounts-os.com/install.sh | bash

Authenticate:

accountsos auth --key sk_live_your_key_here

Then query your data:

accountsos transactions --from 2026-01-01 --to 2026-06-01
accountsos balance
accountsos deadlines
accountsos vat-summary --quarter "Q1 2026"

The CLI returns structured JSON, which any AI tool can parse and reason about. It is not as seamless as the MCP integration (Claude has to explicitly run commands rather than having tools built in), but it works.

Full setup instructions are on the developers page.

When to use Claude for bookkeeping vs a dedicated app vs an accountant

This is the honest comparison. Each approach has a specific sweet spot.

Claude via MCP is best when:

  • You already live in Claude Code or Claude Desktop for your work
  • You want to query your accounts without switching apps
  • You need to chain accounting questions with other business analysis
  • You want ad hoc financial questions answered in natural language
  • You are a developer who prefers working in a terminal
  • You want to build custom automations that combine accounting data with other tools

A dedicated accounting app (like AccountsOS) is better when:

  • You need bank feed integration that automatically imports transactions
  • You need to send invoices and track payments
  • You need to manage expense claims with receipt matching
  • You need VAT return filing via MTD
  • You need a general ledger with proper double-entry bookkeeping
  • You need financial reports (P&L, balance sheet) that update automatically
  • You want proactive alerts about deadlines, anomalies, and optimisation opportunities
  • You need an audit trail for compliance

A traditional accountant is still necessary when:

  • You are doing formal year-end accounts for Companies House
  • You need strategic tax planning (salary vs dividends, pension contributions, R&D tax credits)
  • You are going through an HMRC investigation
  • You are setting up a new company structure (holding company, group accounts)
  • You are dealing with share schemes, EMI options, or investor reporting
  • You need someone with professional indemnity insurance to sign off accounts

The reality for most small businesses is that you need a combination. The accounting platform handles the daily bookkeeping (transactions, receipts, reconciliation, VAT). Claude via MCP gives you a conversational layer on top. And an accountant handles the strategic and compliance work that requires professional judgement.

AccountsOS is designed to be all three layers. Finn (the built-in AI) handles the conversational queries, the platform handles the bookkeeping and filing, and the country-specific skills library covers tax rules across 21 jurisdictions. The MCP server extends this to Claude for users who want accounting data in their existing AI workflow.

Can Claude handle multi-currency bookkeeping?

If your accounting backend supports multi-currency, then yes. AccountsOS handles multi-currency transactions with automatic FX conversion, and the MCP server passes through the full transaction data including original currency and converted amounts.

In practice, asking Claude "How much did I pay that German supplier in euros last quarter?" works if your transactions are stored with their original currency. Claude reads the data from the MCP server and can present amounts in both the original currency and your reporting currency (GBP for UK companies).

For pure Claude-only bookkeeping without a backend, multi-currency is essentially impossible. There is no persistent state to track FX rates, no way to apply the correct rate on the correct date, and no way to calculate exchange gains or losses.

Is it safe to give Claude access to my financial data?

This is a reasonable concern. Here is how it works in practice.

What Claude sees: When you connect via MCP, Claude can see the data that the MCP server's tools return. This includes transaction amounts, descriptions, categories, balances, and document metadata. The API key scopes access to your specific company.

What Claude cannot do: The MCP server only exposes the tools listed above. Claude cannot access your bank credentials, cannot initiate payments, cannot modify your company settings, and cannot delete records. Write operations are limited to creating and updating individual transactions and deadlines.

Where the data goes: When you use Claude Desktop or Claude Code, the conversation and tool results are processed by Anthropic's infrastructure under their data handling terms. Your accounting data sent to Claude is subject to Anthropic's usage policies. If you are on Anthropic's team or enterprise plan, your data is not used for model training.

Practical advice: Use a read-only API key if you only want to query data and do not need to create or update transactions. AccountsOS settings let you scope API key permissions.

If the idea of sending financial data to an AI model is a concern for your business, use the AccountsOS web interface directly. Finn (the built-in agent) processes everything server-side via Anthropic's API, with the same data handling, but without an additional MCP hop.

How does this compare to using Xero or QuickBooks with ChatGPT?

Neither Xero nor QuickBooks has an official MCP server. There are community-built plugins and Zapier-based workarounds, but nothing that gives Claude (or ChatGPT) native, tool-calling access to your books in the way AccountsOS's MCP server does.

The typical workaround people use:

  1. Export a CSV from Xero or QuickBooks
  2. Upload it to Claude or ChatGPT
  3. Ask questions about the data

This works for one-off analysis, but it has serious limitations:

  • The data is stale the moment you export it
  • There is no write-back (you cannot update categories or create transactions)
  • Large exports may exceed context limits
  • You have to re-upload every time you want fresh data
  • There is no tool structure, so the AI is pattern-matching on a raw CSV rather than calling typed, validated functions

The MCP approach is fundamentally different. The data is live, the tools are structured, and Claude can both read and write.

The spreadsheet trap: why "Claude plus a Google Sheet" does not scale

Some founders try to use Claude Code with a Google Sheet as their accounting system. The thinking is: transactions in a spreadsheet, Claude to query and analyse them, save the cost of accounting software.

This works for the first month. Then these problems emerge:

No bank feed. You are manually entering every transaction, or copy-pasting from your bank's export. The moment you skip a week, you are behind.

No double-entry. A spreadsheet can track income and expenses, but it cannot maintain a proper general ledger. Without double-entry bookkeeping, your balance sheet is a fiction.

No VAT calculation. UK VAT has multiple rates (20%, 5%, 0%, exempt, reverse charge, flat-rate scheme). Manually tracking which transactions include VAT at which rate across a quarter is error-prone and time-consuming.

No filing capability. Even if your spreadsheet is perfect, you still need to file CT600, annual accounts, confirmation statements, and (if VAT registered) MTD-compliant VAT returns. A spreadsheet does not connect to HMRC or Companies House.

No audit trail. If HMRC investigates, they want to see when a transaction was recorded, who recorded it, and what changes were made. A spreadsheet's version history is not a proper audit trail.

No deduplication. Enter the same transaction twice and a spreadsheet will not warn you. A proper accounting system uses content hashing and reference matching to catch duplicates.

Claude is brilliant at reasoning about data, but it needs real data in a real system. The spreadsheet is the bottleneck, not Claude.

What about using Claude to build your own accounting system?

If you are a developer, you might be tempted to ask Claude Code to build you a simple bookkeeping system from scratch. This is a known rabbit hole.

Building a toy accounting system takes a weekend. Building one that handles VAT correctly, maintains a double-entry ledger, reconciles bank transactions, generates accurate P&L and balance sheets, supports multiple currencies, integrates with HMRC MTD, and keeps proper records for six years takes months. Accounting software is not technically difficult. It is regulatorily and structurally complex.

Every founder who has tried this (including me, at the start of the AccountsOS journey) discovers the same thing: the first 80% is easy, the last 20% is where all the edge cases live. Partial payments. Refunds that span VAT periods. Foreign currency exchange gains and losses. Flat-rate VAT scheme transitions. Year-end accruals and prepayments.

Claude Code can help you build anything, but the question is whether building your own accounting system is the best use of your time. For most founders, the answer is no. Use a system that already handles the regulatory complexity, and use Claude's MCP integration to get a conversational interface to it.

Setting up a daily bookkeeping workflow with Claude

If you do decide to use Claude with AccountsOS MCP for your regular bookkeeping, here is a practical daily workflow.

Morning check-in (2 minutes)

Open Claude and ask:

"Quick morning update: what's my bank balance, any deadlines in the next 7 days, and are there uncategorised transactions from yesterday?"

Claude makes three tool calls (balance, deadlines, filtered transactions) and gives you a summary. If everything is clean, you are done.

Weekly review (10 minutes)

Once a week, go deeper:

"Show me a summary of this week's expenses by category, compared to last week. Highlight anything unusual."

Claude aggregates transactions, compares periods, and flags anomalies. If a category has spiked (e.g., you bought new equipment), Claude will point it out.

Month-end (30 minutes)

At month end:

"Give me a month-end checklist. Are all transactions categorised? Are there any unreconciled items? What's my VAT position for this quarter so far?"

Claude runs through the checks and gives you a status. In AccountsOS, the month-end close feature automates this further, with a close confidence score and exception sweep.

Ad hoc queries (whenever)

The real power is for questions that come up during the day:

"Can I expense this GBP 800 monitor as a business expense?"

"What's the total I've invoiced this quarter?"

"How much have I paid to AWS this year?"

Claude answers from real data, instantly. No app switching, no running reports, no waiting.

Will this approach work for my country?

AccountsOS supports 21 countries: GB, AE, IE, BG, HK, US, AU, TR, IM, GG, DE, DK, SG, NL, SE, IN, CH, CA, AT, NO, and NZ. The MCP server connects to whatever company you have set up in AccountsOS, so if your company is registered in any of those jurisdictions, the tools work.

Country-specific features like VAT rules, tax rates, and filing deadlines are handled by AccountsOS's skills system. When you ask Claude "When is my next VAT return due?", the MCP server returns the deadline specific to your country's tax calendar.

For countries not yet supported, the MCP tools still work for basic bookkeeping (transactions, balances, documents), but country-specific tax features will not be available.

FAQ

Can Claude replace my accounting software entirely?

No. Claude has no persistent storage, no bank feed integration, no filing capability, and no general ledger. It is an AI reasoning layer, not an accounting system. Connected to a backend like AccountsOS via MCP, it becomes a powerful query and analysis tool for your existing books. But it cannot replace the system that holds and processes the data.

Is the AccountsOS MCP server free?

The MCP server npm package is free and open source. You need an AccountsOS account to use it, because the server connects to your AccountsOS data via API. AccountsOS offers a free trial, and paid plans start at GBP 9 per month for early adopters.

Can I use the MCP server with other AI models besides Claude?

MCP is an open protocol. Any AI client that supports MCP can connect to the AccountsOS MCP server. Currently, Claude Desktop and Claude Code have the most mature MCP support. Other tools that support MCP (like Cursor, Windsurf, or custom agents built with the MCP SDK) can also use the server.

Does Claude remember my accounting data between sessions?

In Claude Desktop, conversation history persists across sessions within the same chat, but Claude does not remember data from previous chats. In Claude Code, context resets between sessions. Each time you start a new conversation, Claude loads resources from the MCP server (recent transactions, deadlines, company details) to get up to speed. For persistent memory, use Finn inside AccountsOS, which maintains a Company Memory Wiki that builds up context about your business over time.

Can I use Claude to file my VAT return?

Not directly through the MCP server. The MCP server provides a get_vat_summary tool that shows your VAT position, but it does not include a filing tool. VAT filing via MTD requires a secure HMRC gateway connection. AccountsOS handles this through its built-in HMRC MTD integration. Use Claude to check your VAT numbers, then file through the AccountsOS interface or ask Finn to handle it.

Is it safe to put my API key in the Claude Desktop config file?

The config file is stored locally on your machine and is not shared with Anthropic. The API key is only used by the MCP server process running on your computer to authenticate with AccountsOS. Treat it like any other credential: do not commit it to git, do not share it in screenshots, and regenerate it if you suspect it has been compromised.

Can multiple people connect to the same company's data?

Yes. Each team member generates their own API key from AccountsOS settings. API keys are scoped to the company, so multiple people can query the same data. Permissions are determined by the user's role in AccountsOS (owner, admin, member). The MCP server respects these permissions.

How does this compare to using the Xero MCP server?

There is no official Xero MCP server. Community-built alternatives exist, but they are unofficial and may not cover the full API surface. The AccountsOS MCP server is first-party, maintained alongside the platform, and covers both read and write operations with 10 tools and 4 resources. It is designed specifically for the use case of AI agents interacting with accounting data.

claudeclaude-codeclaude-desktopmcpai-bookkeepinguk-limited-company
Found this useful? Share it with other directors.
Share
Disclaimer: This article provides general information only and does not constitute financial or legal advice. Tax rules change frequently. For advice specific to your situation, consult a qualified accountant or contact HMRC directly.
P
Paul Gosnell
Founder & CEO

Entrepreneur and technologist building AI-powered tools for UK small businesses.

Dump your receipts and forget them

Finn reads every receipt, statement and invoice, categorises it, and keeps your books reconciled. You check in when you want to.

Start free