Project Nayuki


Canada Tax-Free Savings Account simulator (JavaScript)

The rules regarding TFSA contributions, withdrawals, and penalties can be confusing. Here I provide a neat way to learn using a financial account simulator. (Rules and examples are explained below.)

Program

Chequing Account

Date Transaction Amount Balance

Tax-Free Savings Account

Date Transaction Amount Balance Contribution room Withdrawn

Transaction amount: $

Interest rate for TFSA: % per year (compounded monthly)

Current date:

Show transactions:

Usage

Example scenarios

Alice is millionaire and stuffs her TFSA each year as fully as allowed:

  1. Current date is January 2009.
  2. Interest rate is 3%.
  3. Deposit $1000000.
  4. Transfer in $5000.
  5. Next month ×12.
  6. She has $5152.08 in her TFSA at the beginning of January 2010.
  7. Transfer in $5000.
  8. Next month ×12.
  9. She has $10460.86 in her TFSA at the beginning of January 2011.
  10. Transfer in $5000.
  11. Next month ×12.
  12. She has $15931.12 in her TFSA at the beginning of January 2012.
  13. Transfer in $5000.
  14. Next month ×12.
  15. She has $21567.76 in her TFSA at the beginning of January 2013.
  16. Transfer in $5500.
  17. Next month ×12.
  18. She has $27891.05 in her TFSA at the beginning of January 2014.
  19. Transfer in $5500.
  20. Next month ×12.
  21. She has $34406.69 in her TFSA at the beginning of January 2015.
  22. Note that she contributed $31000 in total to her TFSA; the other $3406.69 was earned as tax-free interest.

Bob saves some money and spends it later:

  1. Current date is January 2009.
  2. Interest rate is 3%.
  3. Deposit $5000.
  4. Transfer in $5000.
  5. Next month ×6.
  6. Transfer out $3000.
  7. Note that the contribution room is still $0. He cannot contribute more without penalty.
  8. Next month ×6.
  9. Now in January 2010, the contribution room rises by $8000: A new $5000 amount plus the $3000 that he withdrew.
  10. Deposit $1000.
  11. Transfer in $4000.
  12. Next month ×3.
  13. Transfer out $4000.
  14. Next month ×3.
  15. Transfer in $4000. (He has enough contribution room.)

Carol makes a mistake of over-contributing and neglects it:

  1. Current date is January 2009.
  2. Interest rate is 3%.
  3. Deposit $10000.
  4. Transfer in $7000.
  5. Next month ×12. Each month she pays 1% tax on the $2000 excess contribution, which is $20 per month.
  6. In January 2010, the excess contribution is absorbed into the new contribution room, so she stops paying penalties.

Dave over-contributes but quickly corrects his mistake:

  1. Current date is January 2009.
  2. Interest rate is 3%.
  3. Deposit $10000.
  4. Transfer in $6000. (Contribution room −$1000.)
  5. Transfer in $500. (Contribution room −$1500.)
  6. Transfer out $1500. (Contribution room $0.)
  7. Next month. He pays 1% tax on the high water mark of January 2009, which is $1500 of excess contribution.
  8. Starting this month (February 2009), as long as things stay the same, he will not pay a penalty tax anymore.

Notes

More info