When you have transactions that cannot be added to your TaxBit account by connecting an exchange, you may need to use TaxBit's CSV importer. This can be used for manually recording off-exchange activity like peer to peer, airdrops, hardforks, mining income, interest earned income, and staking income.
Please Note: When you add a manual CSV, the name of the sources you are using need to be included in our database. If the source isn't in our database, it is likely an unsupported source. Transactions from unsupported sources can be imported with "Other Exchange" as the source name.
A CSV file is a type of spreadsheet, similar to an Excel file, that records data arranged in columns and rows. In order to create a CSV file, you will need to create a spreadsheet in a program like Microsoft Excel or Google Sheets. You can download a starting file with sample transactions for reference HERE.
Included in this article you will find:
- How to format a CSV spreadsheet
- Which columns can be left blank
- How to save your CSV file
- How to upload a CSV file into your TaxBit account
Sample File:
How to format a CSV spreadsheet
The layout and format of a spreadsheet is critical in successfully importing a file with transactions. If something unexpectedly is in the wrong place or missing, the import could fail or the transaction data could be inaccurate. If you need any assistance with formatting data in a spreadsheet, you can always reach out to our support team.
Column titles
The first step to identifying what data goes where is understanding the column titles. Starting in row one your column titles should all be input from left to right as follows:
Date and Time, Transaction Type, Sent Quantity, Sent Currency, Sending Source, Received Quantity, Received Currency, Receiving Destination, Fee, Fee Currency, Exchange Transaction ID, Blockchain Transaction Hash
When input this way, the first row of the CSV should look like this:
Date and Time | Transaction Type | Sent Quantity | Sent Currency | Sending Source | Received Quantity | Received Currency | Receiving Destination | Fee | Fee Currency | Exchange Transaction ID | Blockchain Transaction Hash |
If a column is left blank, the column title must still be left in place.
Date and time
The first column represents the date and time of your transactions. Data in this column must be formatted in the ISO 8601 standard date time format. You can type out a date in ISO 8601 standard by using the following format:
1999-12-31T13:37:46Z - YYYY-MM-DDTHH:MM:SSZ
The above date and time would be the equivalent December 31st 1999 at 13:37 and 46 seconds UTC (coordinated universal time).
It's important that transactions are recorded in UTC when importing via CSV. While they will be displayed in your account in your timezone, using a standardized time zone in our database allows us to maintain consistency in records and properly calculate cost basis in USD.
If you are familiar with using Excel's formatting function, you can enter the date and time in a standard format and highlight all of the Date/Time Cells. Then select Format > Format Cells > Custom. You can paste the format (yyyy-mm-ddThh:MM:ssZ) into the "Type:" field, and hit OK!
This will change any recognized date and time formats into the ISO 8601 format.
If you have an export from an exchange that provides your time stamp in a non-utc time zone, it's important that you adjust the time zone to be in UTC before importing.
Advanced tip: You can use is the add time function to quickly adjust the time by a set number of hours. =CELLNUMBER+time (hours, minutes, seconds). For example, if I wanted to add 5 hours to 12/23/2021 13:53:12 (in cell A2) I would type in =A2+time(5,0,0) from a different cell, usually right next to it. Then you can copy that formula down to convert every row. Please note, this requires the date and time are already in an accepted date and time format for the spreadsheet editor you are using. You can identify if the date and time format is recognized, by expanding the column and the date and time data would be pressed to the right side of the column. If the date and time data is against the left side, then it is not recognized and this function will not work.
Transaction Type
The transaction type will describe what is happening in the transaction. Sometimes you are acquiring an asset (buy or income), disposing of an asset (sale or expense), trading one asset for another (trade), or just moving an asset around (transfer in and out). You can read more about TaxBit's transaction types HERE.
Important Note:
It's important to understand that exchanges may describe these transactions differently, but when it comes to crypto taxes, it's all about the asset and its relationship to you.
If you exported your data from an exchange, some exchanges label everything as buy or sale, including crypto to crypto trades. You need to make sure to change the transaction type to trade if your transaction consisted of trading one cryptocurrency for another.
TaxBit supports the following transaction types:
- Buy
Example: Purchase of crypto with fiat (i.e; Paid $5,000 for 1 BTC)
When recording buy transactions the following is required: Date and Time, Transaction Type, Sent Quantity, Sent Currency, Received Quantity, and Received Currency.
- Sale
Example: Sale of crypto for fiat (i.e; Sold 1 BTC for $5,000)
When recording sale transactions the following is required: Date and Time, Transaction Type, Sent Quantity, Sent Currency, Received Quantity, and Received Currency.
- Trade
Example: Trading one crypto for another crypto (i.e; Trade 1 BTC for 10 ETH)
When recording trade transactions the following is required: Date and Time, Transaction Type, Sent Quantity, Sent Currency, Received Quantity, and Received Currency.
- Transfer In or Out
Example: Transfer crypto to an exchange or wallet in your possession (i.e; Moved 1 BTC from Coinbase to a hardware wallet)
Transfer transactions can be recorded two different ways in the transaction type column:
- Transfer in - when you are only recording the receiving of a asset (for example, a deposit on an exchange)
- Transfer out - when you are only recording the sending of an asset (for example, a withdrawal on an exchange)
When recording transfer in transactions, the following is required: Date and Time, Transaction Type, Received Quantity, and Received Currency.
When recording transfer out transactions, the following is required: Date and Time, Transaction Type, Sent Quantity, and Sent Currency.
- Income
Example: Received crypto in return for goods or services (i.e; Received 1 BTC in return for mining)
When recording income transactions the following columns are required: Date and Time, Transaction Type, Received Quantity, and Received Currency.
- Expense
Example: Sent crypto in return for goods or services (i.e; Sent 1 BTC as payment for a car)
When recording Expense transactions the following is required: Date and Time, Transaction Type, Sent Quantity, and Sent Currency.
- Gifts
Example: Receiving .1 ETH from a family member from their wallet to yours.
When recording gift transactions the following is required: Date and Time, Transaction Type, Sent Quantity, Sent Currency, and Sending Source or Received Quantity, Received Currency, and Receiving Destination.
Sent Quantity
The sent quantity represents the quantity of the currency you gave up. If your transaction is a sale, buy, expense, trade, or transfer, then you will need to indicate how much of the currency is being given up in the transaction.
If this transaction is a sale, trade, expense, or transfer out then the value should be in crypto. If the transaction is a buy, then the value should be in fiat (USD, EUR, CAD, etc).
Sent Currency
The sent currency represents the type of the currency you gave up. If your transaction is a sale, expense, trade, or transfer then you will need to indicate the ticker symbol (3-5 characters) of the currency that is being given up in the transaction.
If this transaction is a sale, trade, expense, or transfer out, then the ticker should be for a cryptocurrency (BTC, ETH, XRP, etc). If the transaction is a buy, then the ticker should be for a fiat currency (USD, EUR, CAD, etc).
Sending Source
As the industry is headed towards tracking more transactions by exchange, the sending source column has become incredibly important. It's also helpful to include to be able to sort and filter your transactions by source name in your TaxBit account.
You can enter the name of the exchange or wallet the transaction took place on. Whenever there are transactions where an asset was sent and received, the source should be the same for sending and receiving.
Note: When entering the name of your source, it's important you enter the name exactly as it's shown under the list of Supported Integrations. If not added correctly, the system will automatically assign the source of your transactions on your CSV as "Other Exchange".
Received Quantity
The received quantity represents the quantity of the currency you received. If your transaction is a buy, income, trade, or transfer then you will need to indicate how much of the currency is being received in the transaction.
If this transaction is a buy, trade, income, or transfer in then the value should be in crypto. If the transaction is a sale, then the value should be in fiat (USD, EUR, CAD, etc).
Received Currency
The received currency represents the type of the currency you received. If your transaction is a buy, income, trade, or transfer then you will need to indicate the ticker symbol (3-5 characters) of the currency that is being received in the transaction.
If this transaction is a buy, trade, income, or transfer in then the ticker should be for a cryptocurrency (BTC, ETH, XRP, etc). If the transaction is a sale, than the ticker should be for a fiat currency (USD, EUR, CAD, etc).
Receiving Destination
The Receiving Destination column is essential, as we mentioned in the Sending Source paragraph above, and it is helpful to include to be able to sort and filter your transactions by source name in your TaxBit account.
You can enter the name of the exchange or wallet the transaction took place on. Whenever there are transactions where an asset was sent and received the source should be the same for sending and receiving.
Note: When entering the name of your source, it's important you enter the name exactly as it's shown under the list of Supported Integrations. If not added correctly, the system will automatically assign the source of your transactions on your CSV as "Other Exchange".
Transaction ID
The Transaction ID represents the unique ID assigned to this transaction by the exchange. This field is not required and can be left blank, but there are a few advantages to including it.
Whenever you import transactions with a CSV, TaxBit checks the transactions already in your transaction history for any duplicate transaction ID. If there is a duplicate in the file you are importing, the transaction will be left out from the import. This helps to prevent accidentally importing duplicate transactions.
Blockchain Transaction Hash
The Blockchain Transaction Hash represents the unique hash assigned to this transaction by the on the blockchain. This field is not required and can be left blank, but including it provides the same advantages as including the Transaction ID.
Which columns can be left blank?
Depending on the type of transaction, it's possible that there will be no data for certain fields. It's important to remember that with every transaction in your CSV you should at least include a date and time, transaction type, and what was sent or received. Blockchain Transaction Hash or Transaction ID can safely be left blank for any transaction.
You can read more about what fields are required in each type of transaction in the section above.
How to save your CSV file
When you are finished with your file, and you are ready to save your progress, it's important that the file is saved as the correct file type. Oftentimes Spreadsheet programs will have their own file type that your file will default to, but you can change the save type to a standard CSV in order to be sure the importer will recognize your file.
Excel
In order to convert the Excel document to CSV, click File > Save As > then change the file format from Excel Workbook (.xlsx) to CSV Comma Delimited (.csv), and save it to a location that you can easily find.
Google Sheets
In order to convert the Excel document to CSV, click File > Download As > Comma-separated Values (.csv), and save it to a location that you can easily find.
Apple Numbers
In order to convert the Excel document to CSV, click File > Export To > CSV... and save it to a location that you can easily find.
How to upload a CSV file into your TaxBit account
Once you are ready to upload your CSV file to TaxBit, you can go to the CSV import page, then select and upload your file!
Important Note:
Depending on the size of your CSV file processing time could take up to 1 hour. Please do not attempt to upload your CSV file again during this time or you risk creating duplicates. If it’s been over an hour and you do not yet see your transactions in your account, please contact us.
Still have questions? You can interact with our Chatbot by selecting the Chat Widget located at the bottom right side of your screen, or fill out this form HERE to submit a support inquiry request. Our team is happy to help!
Disclaimer: Keywords below are added to articles to enhance searching for content within our Help Center.
Keywords:
Manual CSV
Import Manual CSV
Formatting CSV Manually