CSV Import Formatting
This article will cover the necessities in formatting a CSV to import into Taxbit and what each of the headers mean within the CSV template. A copy of our CSV template can be downloaded from the bottom of this article.
Headers
The first step to identifying what data goes where within the CSV is by understanding the headers. Starting in row one, your headers should all be input from left to right as follows:
timestamp, txid, source_name, from_wallet_address, to_wallet_address, category, in_currency, in_amount, in_currency_fiat, in_amount_fiat, out_currency, out_amount, out_currency_fiat, out_amount_fiat, fee_currency, fee, fee_currency_fiat, fee_fiat, memo, status
The first row of the CSV file should look like this Example file Here.
Please note: Even if a column is left blank, the header is still required within the CSV. Please do not delete any columns or headers from the template while formatting the CSV file.
Initial Overview
This section will go over the first five headers. These headers highlight the basic characteristics of a transaction such as date/time, category, source, wallet addresses (when applicable), and transaction ID (when applicable).
timestamp
This first column represents the date and time of a transaction. The data in this column must be formatted in the ISO 8601 standard date time format. The milliseconds are to be included as well.
You can type out a date in ISO 8601 standard (with milliseconds) by using the following format:
1999-12-31T13:37:46.732Z - YYYY-MM-DDTHH:MM:SS.000Z
The above date and time would be the equivalent of December 31st, 1999 at 13:37, 46 seconds, and 732 milliseconds UTC (coordinated universal time).
Every transaction requires a value in this column, in this format, for the import to be successful.
txid
This column is for the transaction ID or blockchain hash of a transaction. This column is required and should remain unique for each transaction.
source_name
This column is for the name of the exchange or wallet where the transaction took place. Every transaction requires a value in this column for a proper import, and any source name is okay for the CSV upload.
Please note: In Taxbit, the source name can be input as any value and it will be displayed as such within Taxbit. With that in mind, it’s important to follow a consistent naming scheme to ensure transactions fall under the right sources, and that you will be able to locate/filter them easily on the Transactions page.
from_wallet _ address and to_wallet_address
These columns are for recording wallet addresses involved in a transaction when relevant.
Please note: These columns are required to be populated for both Internal and Swap type transactions.
category
The data in this column will be used to indicate a transaction’s purpose (i.e. category).
At this time, Taxbit support five transaction types:
Most of these types have multiple categories within them which can be used to specify a transaction’s purpose.
Inbound
Inbound type categories are for transactions where the acquisition of an asset is the primary function. The following categories are classified as Inbound types:
- Buy
- Income
- Airdrop
- Mining
- Equity
- Staking Reward
- Hard Fork Reward
- Interest
- Chain Split
- Cashback
- Fiat Deposit
- Misc Income
- Mint In
- Margin In
- Staking Withdrawal
- Collateral Withdrawal
- Uncategorized In
Outbound
Outbound type categories are for transactions where the disposal of an asset is the primary function. The following categories are classified as Outbound types:
- Sell
- Contractor
- Software & Web Services
- Fees
- Expense
- Misc Expense
- Fiat Withdrawal
- Staking Deposit
- Collateral Deposit
- Loan Payment
- Lost/Stolen
- Loan Fee
- Mint Out
- Margin Out
- Burn
- Cost of Sales
- Uncategorized Out
Swap
Swap type categories are for transactions where both the disposal and acquisition of assets are present in a single transaction. The following categories are classified as Swap types:
- Swap
- Mint
Internal
The Internal type currently only has one category associated with it: Internal Transfer. This category is to be used when an asset is being transferred between two sources.
Ignore
The Ignore type currently only has one category: Ignore. A transaction under this category will be excluded from all reports and gain/loss calculations.
Please note: Every transaction requires a category in the category column for a successful import.
In and Out Columns
In Columns
The following section is for the headers that specify inbound assets, their amounts, and optionally, their price.
in_currency
This column specifies which asset was received in a transaction. If a transaction has an asset that’s being received, the ticker symbol will need to be indicated in this column.
in_amount
This column specifies the asset quantity that was received in a transaction. If a transaction has an asset that’s being received, the amount received will need to be indicated in this column.
in_currency_fiat
This column specifies the fiat currency used for the following in_amount_fiat column.
in_amount_fiat
This column specifies the fiat amount for the asset listed in the in_currency and in_amount columns. If populated, this value will reflect as the fiat value for the asset within Taxbit.
Out Columns
The following section is for the columns that specify outbound assets, their amounts, and, optionally, their price.
out_currency
This column specifies which asset was disposed of in a transaction. If a transaction has an asset that was disposed of, the ticker symbol will need to be indicated in this column.
out_amount
This column specifies the asset quantity that was disposed of in a transaction. If a transaction has an asset that was disposed of, the amount disposed will need to be indicated in this column.
out_currency_fiat
This column specifies the fiat currency used for the following out_amount_fiat column.
out_amount_fiat
This column specifies the fiat amount for the asset listed in the out_currency and out_amount columns, and if populated, this value will reflect as the fiat value for the asset within Taxbit.
fee_currency
This column specifies the ticker for the fee involved in a transaction. If a transaction has a fee (crypto), the ticker symbol will need to be indicated in this column.
fee
This column specifies the fee quantity involved in a transaction. If a transaction has a fee (crypto) that’s being disposed of, the amount will need to be indicated in this column.
fee_currency_fiat
This column specifies the fiat currency of the fee involved in a transaction. If a transaction has a fee (fiat) that’s being disposed of, the ticker symbol will need to be indicated in this column.
fee_fiat
This column specifies the fiat amount of the fee involved in a transaction. If a transaction has a fee (fiat), the value will need to be indicated in this column. If this is not populated, Taxbit will automatically price the fee.
Miscellaneous
memo
Data in this column can be added as a memo within Taxbit and is not required for successfully importing the CSV file.
status
The status field indicates whether or not a transaction was processed and is not required for successfully importing the CSV file. In the CSV, the field can be populated as:
- success
- If a transaction is uploaded with a “success” status, the system will assume the transaction was successfully executed.
- failed
- It is uncommon that a CSV is uploaded with a “failed” transaction, but in the event that a failed transaction is uploaded, the system will ignore that transaction for the purpose of inventory and gain/loss calculations.