TaxChad Technical Architecture · September 2026
TaxChad · How the platform is built · September 2026

A ledger is a promise about arithmetic.

This is the engineering documentation for TaxChad. Every number here was read from the live database and the repository, not estimated. Five minutes gets you the shape of it. The five pages at the bottom go as deep as you want.

233
Database tables, security policy on every one
338k
Lines of TypeScript
4,110
Automated tests on every change
16
Jobs running while nobody is watching
Architecture01 / 05
02 The map

One application, five layers, two ways in.

Everything is either code in one repository or a named service with a data processing agreement behind it. There is no second system and nothing undocumented between a bank line and a filed return.

There are two ways into the database and no third. The app reads your own rows straight from PostgreSQL, and row level security is what filters every one of them. Anything that needs a secret, touches HMRC or moves money goes through a server function instead, which is the only place a credential exists.

High-level architecture. Select the slide to inspect the detail.
High-level architecture
100%
TaxChad high-level architecture

One reporting engine, both sides

The only code that turns journal lines into a trial balance, a profit and loss or a VAT box. The screen your accountant reads and the return that goes to HMRC cannot show different numbers, because they are not two calculations.

a build gate fails if the two sides ever disagree

And the data has a shape too.

A database of 233 tables sounds like something nobody can hold in their head. It is not, because almost every link in it points at one of two places.

The tenant spine

firms › clients › client_members › users
188links point here

The ledger

journals › journal_lines › chart_of_accounts
49links point here

Two places hold the whole schema together. That is what lets a database this size stay something a person can reason about, and it is why one client's books cannot quietly become visible inside another's. The route between them does not exist.

Schema read from the live database · 20 September 2026
Always on

16 scheduled jobs

Encrypted backup, ledger sweep, exchange rates, HMRC token expiry, Companies House, reminders, recurring invoices, receipt matching. Four of them exist purely to notice when nothing is happening.

Every change

13 gates before release

Typecheck, lint ratchets, production build, the ledger invariants, real client books replayed, and two database tenant isolation suites. A skipped gate fails the build rather than passing quietly.

Every night

Encrypted off-site backup

Every table, the login records and all documents, encrypted with a key whose private half has never existed inside the platform, into a separate cloud account.

The map02 / 05
03 The path a pound takes

Bank line to filed return, in six moves.

01
It arrives

Feed, CSV, OFX or PDF. Documents are read by text extraction and always shown to a person before anything posts.

02
A rule fires

Your rules, in a fixed order, first full match wins. Nothing is guessed. No match means it stays visible, not invented.

03
VAT splits once

Tax rounded once, net is the remainder. Net plus VAT equals gross, to the penny, every time.

04
A journal posts

Double entry. The database refuses anything that does not balance, in both currencies, at the moment of saving.

05
A human reviews

Your accountant starts at the trial balance, not the shoebox, and signs what goes out.

06
HMRC receives it

Filed through the Making Tax Digital API with the required fraud prevention headers. Every call logged.

Lifecycle03 / 05
04 Where the line is

Built, building, and not built.

Built and running
Double-entry ledger with integrity enforced by the database, deterministic rules engine, multi-currency, invoicing, bank import from feeds, CSV, OFX and PDF, VAT returns filed to HMRC, Corporation Tax, Self Assessment across trade, property, CIS, capital gains and foreign income, fixed assets, practice management, audit and data access logs, nightly off-site encrypted backups
In build
HMRC production credentials and recognition, open banking feeds moving to live customers, Pay by Bank collection, quarterly Making Tax Digital updates for Self Assessment
Sole trader and landlord at scale, direct accounts production integration, an external penetration test, and additional engineering capacity if the platform roadmap requires it

Said plainly, and what closes it.

Five things are not true yet. Each is named here rather than left for you to find, next to the work that closes it. Four of the five are in progress now, and the fifth is sequenced on purpose.

Not true yet
What closes it
TaxChad is not HMRC recognised and does not claim to be.
In progress. The application for production credentials and recognition is already with HMRC. Filing to HMRC works today through the Making Tax Digital API, with the required fraud prevention headers and every call logged. Until HMRC completes it we say we are not recognised, because we are not.
There has been no third-party penetration test.
Sequenced, not skipped. Two penetration testing firms are lined up and the test runs before commercial launch, against a finished product rather than a moving one. What holds in the meantime is row level security on all 233 tables, two database isolation suites that run as real users, and a build that fails rather than skips them.
Bank feeds are built but not yet carrying live volume.
The remaining step is regulatory, not technical. The importers, the webhook path and the reconciliation are written and tested. TaxChad's registration as an agent under Finexer's permission is with the FCA, and volume follows that approval rather than more engineering.
Backups are proven nightly, but a full restore into a clean database has not been rehearsed.
In progress. A migration manifest covering both schema streams, then a timed restore into an empty database. A backup nobody has restored is a hope rather than a backup, and we would rather write that down than imply otherwise.
It was built by one person inside a working practice, which is a real concentration risk.
Vas Rabani joined as Chief Technology Officer and Chief Information Security Officer in September 2026, at 25 per cent of his time, and owns platform architecture, security and code review. James Power remains the primary build resource, so the concentration is real and we say so. What reduces it today is that the knowledge is written down rather than carried: these pages, guarantees enforced by the database rather than held in someone's head, and a build that refuses changes which break them.

Each of these is written up in full on the pages below rather than summarised away.

Status04 / 05
05 Go deeper

Five pages, each one a different question.

01

Can the numbers be wrong?

The nine things the database refuses to let anyone write, why some rules are deliberately warnings instead, multi-currency, and one chart of accounts across every entity type.

02

Can someone else see my books?

The two boundaries, what our isolation tests actually assert, what they do not catch, every audit trail, and the gaps we have not closed.

03

Does it guess?

Five match types, a fixed order down to the tie-break, and the hard line between reading a document and making an accounting judgement.

04

What does it talk to?

HMRC and the fraud prevention header problem, open banking, payments, Companies House, exchange rates, and what happens when one of them breaks.

05

What happens when it changes?

Thirteen gates on every push, real client books frozen and replayed, the change ledger, and how a backup is restored.

00

The short version

The plain-English security page: what we hold, what has been audited, what has not, and how to report a problem.

Contents05 / 05
TaxChad is built and operated by TaxChad Ltd, company number 17346680, registered in England and Wales. This page describes the platform as built on 19 September 2026. Counts of tables, migrations, tests and lines of code were read from the live database and the repository on that date and move as the product does. Anything described as in build or planned is a statement of intent rather than a commitment. Regulated accountancy services are provided by PowerStone Accountants Ltd, a separate company, under its own licence and insurance. Nothing here is tax, legal or investment advice.