I have a fund where, over the years, I have made multiple sales in-between multiple purchases. I can't find a worked example on how to assign the purchase costs to each shares sale, for the purpose of calculating capital gains tax, where sales and purchases are interleaved. So I made my own simple example (see table below). Can someone confirm that my calculations are correct?

To keep things simple, assume zero transaction costs, income units (not accumulation units), no dividend reinvestment, no purchases before March 1982, no sales before 6 April 2008, at least 30 days between any sales and another purchase, and ignoring any CGT allowance at this stage.

Purchases in years 2010, 2012 and 2014. Sales made in 2011, 2013, 2015 and 2016.

CGT calculation table

EDIT Improved colouring for better legibility and more columns totals added as per Bob's suggestion.


1 Answer 1


To start, I'd offer some color coding changes:

  • Column F "Purchase cost" should be red since it's a debit
  • Column G "Sale Proceeds" should be blue since it's a credit
  • Column J "Taxable Gain" should be blue for gains and red for losses

In the USA, there are 3 ways to determine cost basis (I don't know if these apply to you in the UK):

  • Average Cost

  • FIFO

  • Lot Identification

Your calculations are correct for the Average Cost method. Make sure that you have this option wherever you hold these securities.

  • Thanks Bob. G25 - F25 = £6900, and also SUM(J18:J24) = £6900. I not sure why you are using J24 instead of J25? What should the calculations for line 21 etc be please? Commented Dec 27, 2019 at 15:42
  • When I read the numbers, I visually transposed J24 into J25 as the total gain. Given that mistake, my answer was incorrect. I have corrected it. Commented Dec 27, 2019 at 18:25
  • I believe since 2008, the calculation is based on average cost to purchase the shares, so hopefully calculation is correct for the UK. Commented Dec 30, 2019 at 13:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .