Skip to content

Semi-automatically scrape Koinly.io crypto transactions and export them to CSVs to upload on various tax websites such as CoinTracker.io and TurboTax.intuit.com.

License

Notifications You must be signed in to change notification settings

colossatr0n/koinly-csv-exporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Koinly CSV Exporter

Semi-automatically scrape Koinly.io crypto transactions and export them to CSVs to upload on various tax websites such as CoinTracker.io and TurboTax.intuit.com.

The currently supported exports are for:

  • CoinTracker.io
  • TurboTax.intuit.com

Why?

While doing taxes, I found that each crypto tax site has its own strengths and weaknesses. I was able to reconcile my portfolio the best with Koinly.io and wanted to compare the reconciled data with other crypto tax sites. koinly-csv-exporter allows you to do just that. It can also prepare a CSV for importing into TurboTax.

DISCLAIMER

I'm not a tax expert and I'm not giving tax advice. Don't rely on this code to do your taxes for you. You must have ALL CSVs generated by this software reviewed by a tax professional. I will not be held responsible for anyone's taxes.

How to Use

Build Project

  1. Run npm install
  2. Run npm run build

Gather Transactions

  1. Log in to Koinly and go to the transactions page: https://app.koinly.io/p/transactions?order=date&page=1&perPage=25
  2. Set up your filter criteria, open the Network tab in the Chrome Dev Tools and reload the page.
  3. Copy and paste the fetchAll function into the Chrome Dev Tools console.
  4. In the network tab, look for the request with a name like this: transactions?order=date&per_page=25&page=1
  5. Right click it > Copy > Copy as fetch.
  6. Paste the fetch statement into the Chrome Dev Tools console.
  7. Edit the fetch function name to fetchAll.
  8. Press enter and wait for the transactions to be printed to the console.
  9. Copy the transactions output from the console and save it to a file.

Process Transactions

After gathering the transaction data, run:

npm run start -- some-koinly-data.json -o output.csv -t SOME_TYPE

Contributing

See COPYING.md for licesning.

Please feel free to add support for more CSV export types.

The outline for adding a new CSV export type looks like the following:

  • A factory for:
    • Type/Label type
    • Header type
    • Value getter
  • An enum for:
    • Type/Label type
    • Header type
    • Output type
  • A validator

About

Semi-automatically scrape Koinly.io crypto transactions and export them to CSVs to upload on various tax websites such as CoinTracker.io and TurboTax.intuit.com.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published