Glossary for Custom CSV Uploads:
This glossary goes over the transaction types that you can use in a custom CSV. It will outline how to input your data depending on the type of transaction.
Check out our Sample Custom CSV file.
For a complete overview on how to create a Custom CSV, check out our Custom CSV Article.
Buy
In Currency should be Crypto.
Out Currency should be USD.
Out amount is exclusive of the fee amount. Cost basis = Outgoing USD + Fee
Sell
Out currency should be Crypto.
In Currency should be USD.
In amount is exclusive of the fee amount. Proceeds = In amount
Trade
Both In Currency and Out currency should be Crypto.
In and out amount are exclusive of the fee amount
Receive
Only In Amount and In Currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In Amount is exclusive of the fee amount.
Send
Only Out Amount and Out Currency columns are filled. In Amount and In Currency can be left empty or, user can add USD if needed.
Fee is imported. Sender addresses pay the fee.
Out amount is exclusive of the fee amount. Proceeds = USD value of the Out amount
Initial Coin Offering
It can be imported as trade
Both In Currency and Out currency should be Crypto
Margin Trade
Both In Currency and Out currency should be Crypto
In and out amount are exclusive of fee amount
Fork
Only In Amount and In currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Airdrop
Only In Amount and In currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Payment
Only In Amount and In currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Mined
Only In Amount and In currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Gift Sent
Only Out Amount and Out currency columns are filled. In Amount and In Currency can be left empty or, user can add USD if needed.
Fee is imported. Sender addresses pay the fee.
Out amount is exclusive of the fee amount. Proceeds = USD value of the Out amount
Fee
Stand alone fees
Only Out Amount and Out currency columns are filled. In Amount and In Currency can be left empty or, users can add USD if needed.
Dividend Received
Only In Amount and In Currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Interest Received
Only In Amount and In Currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Misc Reward
Only In Amount and In currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Margin Gain
Only In Amount and In currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Margin Loss
Only Out Amount and Out currency columns are filled. In Amount and In Currency can be left empty or, user can add USD if needed.
NFT Mint
If Out Amount and Currency is left blank it is imported as Nft Mint Gas Only
If Out Amount and Currency has amount and currency , it is imported as Nft Mint. Where,
1 ETH is mint fee and 0.001 ETH is gas fee for the minting transaction .
If NFT is minted with USD (unlikely but we support it) , it is imported as Nft Mint too.In and out amount are exclusive of the fee amount.
NFT Mint Example 1:
Transactions in CSV:
Transactions uploaded to ZenLedger:
NFT Mint Example 2:
NFT minted with USD in CSV:
Transaction uploaded to ZenLedger:
NFT Trade
If Nft is being bought with crypto, we need to keep NFT in the In amount and currency section and crypto in Out amount and currency.
If Nft is being sold for crypto, we need to keep crypto in the In amount and currency section and NFT in Out amount and currency.
In and out amount are exclusive of the fee amount.
NFT Trade Example:
Transactions in CSV:
Transactions uploaded to ZenLedger:
Donation 501c3
Only Out Amount and Out currency columns are filled. In Amount and In Currency can be left empty or, user can add USD if needed.
Fee is imported. Sender addresses pay the fee.
Out amount is exclusive of the fee amount. Proceeds = USD value of the Out amount
Stolen
Only Out Amount and Out currency columns are filled. In Amount and In Currency can be left empty or, user can add USD if needed.
Fee is imported. Sender addresses pay the fee.
Lost
Only Out Amount and Out currency columns are filled. In Amount and In Currency can be left empty or, user can add USD if needed.
Fee is imported. Sender addresses pay the fee.
Staking Reward
Incoming reward obtained by staking a token.
Only In Amount and In Currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Staking Lockup
Only Out Amount and Out currency columns are filled. In Amount and In Currency can be left empty or, user can add USD if needed.
Fee is imported. Sender addresses pay the fee.
Staking Return
Only In Amount and In Currency columns are filled. Out Amount and Out Currency can be left empty or, user can add USD if needed.
Fee can be added to incoming transactions. In amount is exclusive of the fee amount.
Notes:
USDT, USDC, and other stablecoins are cryptocurrencies and should be treated as such when you create a Custom CSV. For example, if you trade Bitcoin for USDT that is a Trade, not a Sell.
Self-Transfers & Switch Trades - These types are imported as Receive and Send. Once imported they are either auto detected by the system or they can be manually marked.
Timestamp should be in UTC, and 24 hrs format. The formats supported are yyyy-mm-dd hh:mm:ss and mm/dd/yyyy hh:mm:ss.