AI at Work

Case studies · Tax and accounting practice, Ireland

Building a local VAT processing tool with Claude

A tax and accounting practice in Ireland processed its clients' Revenue tax data through spreadsheets and macros every VAT cycle, for more than a hundred clients. We used Claude to write and test a tool that runs in the web browser on the practice manager's own computer: the Revenue download goes in, and a journal file ready to import into Xero and the client's VAT pack come out, with anything unusual held back for review. Claude built the tool, but no AI touches client data when it runs, and it works with the internet switched off. It is in regular use every VAT cycle, and we estimate it saves more than 100 hours a year.

In regular use In use every VAT cycle.

Client identity withheld to respect confidentiality.

The starting point

Many of the practice's clients are paid with tax already deducted at source. Revenue records each of those payments, and every one needs a journal in the client's books in Xero, which has no built-in way to handle it.

So every VAT cycle the practice manager downloaded each client's payments from Revenue, reformatted them in Excel, ran them through a macro, imported the result into Xero, and then corrected the dates that Excel had switched to American format. It took over ten minutes per client, for more than a hundred clients. Each client's VAT pack was then assembled by hand.

What we implemented

We recorded the job being done, so that the tool would follow the steps actually taken rather than a description of them.

Claude wrote the tool as a single file that opens in a web browser. It reads the Revenue download and, if available, an export of the journals already posted in Xero, so nothing is posted twice. Each payment is matched by its own reference, so a late one that arrives out of order is still picked up.

It writes the Xero import file with day/month/year dates and reads them back before releasing the file. That removes the date correction entirely.

A second step assembles the client's VAT pack, plus a short summary to send the client.

Anything the tool should not post on its own is held back with a reason: payments that are not active, tax that does not match the expected rate, and payments that were partly refunded.

Before handover, tests written with Claude checked the tool's arithmetic against thousands of generated cases.

Using it, step by step

  1. 1What the person supplies

    The client's Revenue download and, if available, an export of the journals already posted in Xero.

  2. 2What happens next

    The tool checks the file, matches each payment and produces the Xero journal file and the VAT pack. Anything unusual is listed separately with its reason.

  3. 3What they check before using it

    A person decides each held-back item. The journals go into Xero as drafts and are posted only after checking.

Example output

  1. Revenue download
  2. Processed in the browser on one computer
  3. Xero-ready journal file and VAT pack
  4. Exceptions held back for review

One client's run. The Revenue download goes in; a journal file and a VAT pack come out; one partly refunded payment is held back for a person to decide.

Processing flow for a fictional client. In: a Revenue download with three payments, showing notification reference, date paid, gross amount and tax withheld. Out: a Xero journal import with day/month/year dates for debtors, tax withheld and bank, and a VAT pack spreadsheet. One payment, partly refunded, is held back for a person to decide before posting.
Illustrative example using fictional data. A Revenue download going in, and the journal file, VAT pack and one held-back payment coming out.

Human checks

  • Journals go into Xero as drafts. A person posts them.
  • Held-back items are decided by the practice manager. The tool never guesses.
  • Six checks run on every file, and the download stays locked while any of them fails. Each run is logged.
  • Client data stays on that computer. The tool has no login, makes no network calls and works with the wifi off.

Results

In regular use In use every VAT cycle.

  • Measured

    10 to 14 minutes per client under the old routine, timed from a recording of the job being done.

  • Measured

    100+ clients processed through the tool every VAT cycle.

  • Estimate

    100+ hours a year saved: the old time per client, for more than a hundred clients, over six VAT cycles, less a minute or two per client for the tool itself. Not timed.

  • Observed

    No AI at run time Claude built the tool. No AI model is involved when the practice uses it, and client data does not leave the computer.

Measured: counted or timed. Estimate: worked out from the old routine, not timed. Target: what the client is aiming for. Observed: seen in use, not a number.

Limitations

  • One kind of payment, where the Revenue file does not show how the amount is split, is still handled by hand. A version that lets staff enter the split has been built but is not yet in use.
  • A planned check of posted journals against Revenue's records is not finished.
  • Revenue does not publish the layout of its download. If the layout changes, the tool has to be updated.
  • The time saving is an estimate, not a measured result.

Which Claude product did what

Software built with Claude
Claude wrote and tested the tool. It runs on its own: no AI model is involved when the practice uses it. An ordinary program that Claude wrote and tested. Once it is built it runs on its own, so no AI is involved when staff use it.
Claude Team
Not used. The practice does not use Claude itself. Anthropic's business plan for Claude. Staff use Claude in a browser or the desktop app, share projects, and connect it to systems such as Microsoft 365. The workspace and its data belong to the business.

How Claude Team, Claude Code and software built with Claude differ

Interested in VAT processing for your business?

Tell us how the work is done now and who does it. We'll suggest a time for a short call. See also ways to start.