What PP reports as ‘Capital Gains’ may be wrong for anybody living in the UK

PP reports capital gains using either the FIFO or moving average methods, which I gather are commonly used globally. But the taxman in Blighty imposes a somewhat different approach to calculating capital gains, referred to as ‘Section 104 sharing pooling’. I completely agree with the stance that PP can’t be tailored for every tax situation and what I’m mentioning here is an aspect of UK taxation, but the absence of this method in the software may mean that what it presents as capital gains may differ from what is later calculated for a UK tax submission.

Any thoughts about this?

In some circumstances moving average and ‘Section 104 sharing pooling’ methods are the same but on occasion they produce different results. This is because with the Section 104 pooling the average cost is only updated after new qualifying purchases (i.e., purchases after the sale), whereas the moving average updates the average immediately after every purchase, regardless of whether a sale follows or precedes it. And FIFO sells the earliest lots first, so this (always???) gives different results.

Can you provide an example calculation of an expected result?

Because looking at the code then I would argue that the ‘moving average cost per share’ remains the same with each sale. With the next purchase, that can change.

I guess this could help, but @Rich28 should confirm
20719-cgt-quick-reference-guide-2-section-104-holdings.pdf (613,6 KB)

Thanks for getting back to me @AndreasB , @Rafa

On reflection I now feel it probably doesn’t make sense including this approach to capital gains in PP - I’ll come back to this shortly. Here though is an example calculation relating to a Section 104 pool, as generated by ChatGPT, with a few edits:-

Date	Action	Quantity  Price
01-Jan	Buy	    100	      £95
01-Feb	Buy	    200   	  £105
01-Mar	Buy	    100       £107
15-Mar	Sell	100       £110

a) Section 104 pool before the sale (on 15-Mar)
Includes only:
100 @ £95 = £9,500
200 @ £105 = £21,000
Total: 300 shares, £30,500
Average cost = £101.67

b) Sale on 15-Mar — 100 shares @ £110
Matched to Section 104 pool (since no same-day or 30-day buys)
Cost = 100 × £101.67 = £10,167
Proceeds = 100 × £110 = £11,000
Realised Gain = £11,000 − £10,167 = £833

c) Revised Section 104 pool
Remaining from original pool: 200 shares × £101.67 = £20,333
Add 01-Mar purchase: 100 @ £107 = £10,700
Update Pool:
Total shares = 300
Total cost = £20,333 + £10,700 = £31,033
Hence, new average cost = £103.44

d) Unrealised Gain (Post-Sale)
Remaining shares: 300 shares
Average cost is unchanged: £103.44
Current market value: 300 × £110 = £33,000
(Assuming market price is still @ £110/share, the sale price)
New total cost basis: 300 × £103.44 = £31,033
Unrealised Gain = £33,000 - £31,033= £1,967

So, using Section 104 sharing pooling the realised gain in this case equals £833 and the unrealised gain is £1,967. ChatGPT also informed that, had this exercise been carried out using the moving average method instead, the realised gain would have been £700 and the unrealised gain would amount to £2,100.