Export from your broker
Download your transaction history as CSV — the same file your broker already offers for your own records.
In development
GainPool is a desktop application for macOS and Windows that works out UK Capital Gains Tax from the transaction files your broker already gives you — applying HMRC's matching rules in full and showing the working behind every figure.
Your trading history is read and computed on your own machine.
How it works
There is no sign-up, no upload and no waiting on a server. You open the application, point it at your files, and read the result.
Download your transaction history as CSV — the same file your broker already offers for your own records.
Taxable accounts, ISAs and SIPPs go into separate slots, so tax-free wrappers never get pooled in with taxable holdings.
See the estimated Capital Gains position, whether you have to report to HMRC, and how much more gain you could realise before the allowance runs out.
The matching rules
Which purchase a sale is matched against decides the gain. HMRC prescribes the order, and getting it wrong is the most common way a self-calculated return goes astray.
Showing the working
The design test for the whole application is whether you can hand the output to an accountant and have them nod — which means no number appears without the evidence that produced it.
What it handles
Most of the difficulty in a real return is not the arithmetic. It is the transactions that do not fit the tidy example.
Built-in profiles cover Trading 212, Freetrade, Hargreaves Lansdown, AJ Bell, interactive investor, Vanguard UK, DEGIRO, Interactive Brokers and Coinbase.
Anything else goes through a column-mapping step that can save itself as a reusable profile, so an unsupported broker is a few minutes of work rather than a dead end.
Gains inside these wrappers are not chargeable. GainPool recognises those exports and keeps them out of the computation, while still reporting what it saw, so a mis-filed export is visible rather than silently taxed.
Trades priced in a foreign currency but settled in sterling are handled explicitly rather than being converted on a guess.
Opening holdings from before your export begins, omitted reorganisations, excess reportable income, rights and scrip issues, and negligible-value claims can all be entered — so a fixable gap becomes a correct return instead of an abandoned one.
The rate change of 30 October 2024 is applied by disposal date, and your taxable income sizes the basic-rate band so gains are split across bands correctly. Leave income blank and the higher rate is assumed — a deliberate over-estimate rather than an optimistic one.
Losses are tracked by the year they arose, carried forward, and flagged against the four-year window in which a claim has to be made.
Looking forward
How much of the annual exempt amount is left, and how much further gain you could realise before crossing into the higher rate.
Supply current prices and see the gain sitting in each holding at today's value, against its pooled average cost.
Where a recent repurchase means a sale you are considering would be matched against it rather than against the pool.
Your data
The input is your entire trading history, so it stays where you put it. Files are read from disk and computed locally. There are no accounts, no telemetry, and no server of ours that receives your transactions. Saved sessions are encrypted at rest using Argon2id key derivation and AES-256-GCM, so a working file left on a laptop is not a readable list of your holdings.
One honest qualification: the application is built on the operating system's own web view component, and that component contacts its vendor on its own account, as it does for any application that embeds it. That traffic carries none of your data, but it is not nothing, and we would rather state it than claim the machine goes silent.
Scope and limits
A narrow scope that is right beats a broad one that is subtly wrong. These limits are stated in the application itself, before any figures appear, and in the exported pack.
GainPool is in development and is not yet available to buy. It produces an estimated Capital Gains position from the records you give it. The estimate is only as good as those records: if an export is incomplete, or a holding predates it and no opening position is supplied, the figures will be wrong in ways the application cannot always detect.
Filing deadlines and allowances are set by HMRC and change. Check the current position at gov.uk/capital-gains-tax.
Availability
The tax engine is built and under automated test. The remaining work before a public release is the apparatus around it: code signing, automatic updates, licensing and support.
Broker profiles are being validated against real exports ahead of launch. If you file your own Capital Gains and would be willing to run an early build against your own broker files, we would like to hear from you — that testing is worth more to the product than any amount of internal sample data.