Skip to content

International Support

Scott Green edited this page Mar 21, 2024 · 3 revisions

Although BittyTax is primarily targeted for UK tax rules and prices calculated in UK Pounds (GBP), the code has been designed to support other currencies and the possibility of adding tax rules for other countries.

The number of international users of BittyTax is growing, this page is used to describe those features.

USA

If you would like to beta test the US version of BittyTax which supports IRS tax rules, see here.

Config

local_currency

To use the tools for a different local currency, you should change or add the following config in your bittytax.conf file.

local_currency: 'EUR'

The default local currency is 'GBP' if not specified. See BittyTaxAPI for supported local currencies.

local_timezone

To use the Conversion Tool for a different timezone, you should change the following parameter.

local_timezone: 'Europe/Brussels'

The default local timezone is 'Europe/London' if not specified.

The following Wallets/Explorers export data with a local timestamp, this will be converted to UTC time.

  • Electrum
  • Qt Wallet
  • Trezor Suite
  • Volt
  • Zerion

date_is_day_first

This parameter is used by the Conversion Tool when parsing dates which are in a localised format.

date_is_day_first: False

The default is True if not specified.

It is used by the following parsers:

  • Bitfinex
  • CoinTracking
  • Trezor Suite
  • Volt

Conversion Tool

The conversion tool bittytax_conv has full international support.

  • Any fiat values derived from the exported data files are converted into the local currency
  • The value headers in the output file indicate what currency has been used (i.e. "Buy Value in USD")
  • Timestamps in local time are converted into UTC

Price Tool

The price tool bittytax_price has full international support.

$ bittytax_price latest ETH
1 ETH=0.06787 BTC via CryptoCompare (Ethereum)
1 BTC=50,951.7517 EUR via CoinDesk (Bitcoin)
1 ETH=€3,458.10 EUR

Accounting Tool

The accounting tool currently only supports tax rules for UK individuals and UK companies, but the initial 3 steps of processing are generic so support any local currency.

  1. Import Transaction Records
  2. Audit Transaction Records
  3. Split Transaction Records

Note: The bittytax tool does not validate that the local_currency matches the currency as specified in the header of the imported file. It is important that you check this is correct before processing your records.

You can use the --export option to retrieve your transaction records with the price data populated, if you wanted to do your taxes manually.

Other Countries

If you are interested in adding support for a countries tax rules, please fork the code and change any UK specific rules with your own countries requirements. Don't worry about making it compatible with the existing UK tax rules, I can do this once the common touch points have been discovered.