Skip to main content

UK capital gains tax calculator for Schwab and Trading212 accounts

Project description

UK capital gains calculator

CI PyPI version

Calculate capital gains tax by transaction history exported from Schwab/Trading212 and generate PDF report with calculations.

Automatically convert all prices to GBP and apply HMRC rules to calculate capital gains tax: "same day" rule, "bed and breakfast" rule, section 104 holding.

Report example

calculations_example.pdf

Installation

Install it with pipx (or regular pip):

pipx install cgt-calc

pdflatex is required to generate the report.

MacOS

brew install --cask mactex-no-gui

Debian based

apt install texlive-latex-base

Windows

Install MiKTeX.

Usage

  • schwab_transactions.csv: the exported transaction history from Schwab since the beginning. Or at least since you first acquired the shares, which you were holding during the tax year. You can probably convert transactions from other brokers to Schwab format.
  • trading212/: the exported transaction history from Trading212 since the beginning. Or at least since you first acquired the shares, which you were holding during the tax year. You can put several files here since Trading212 limit the statements to 1 year periods.
  • GBP_USD_monthly_history.csv: monthly GBP/USD prices from gov.uk.
  • initial_prices.csv: stock prices in USD at the moment of vesting, split, etc.
  • Run cgt-calc --tax_year 2020 --schwab schwab_transactions.csv --trading212 trading212/ (you can omit the brokers you don't use)
  • Use cgt-calc --help for more details/options.

Disclaimer

Please be aware that I'm not a tax adviser so use this data at your own risk.

Contribute

All contributions are highly welcomed. If you notice any bugs please open an issue or send a PR to fix it.

Feel free to add parsers to support transaction history from more brokers.

Testing

This project uses Poetry for managing dependencies.

  • To test it locally you need to install it.
  • After that run poetry install to install all dependencies.
  • Then activate pre-commit hook: poetry run pre-commit install

You can also run all linters and tests manually with this command:

poetry run pre-commit run --all-files

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cgt-calc-0.1.1.tar.gz (18.3 kB view hashes)

Uploaded Source

Built Distribution

cgt_calc-0.1.1-py3-none-any.whl (21.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page