Lesson 5
Tool Lab: Reconcile Exchange Exports (CSV)
Learn to download, import, and reconcile exchange transaction CSVs into your Fedha journal — detecting missing trades, fee errors, and misclassifications.
Your Exchange Knows Everything — But Can You Make Sense of It?
Every Indian crypto exchange lets you download a CSV (spreadsheet) of your transaction history. This file is your official record for tax purposes — but if you've ever opened one, you know it looks like a wall of confusing data with cryptic column names and thousands of rows.
This lesson teaches you how to take a raw exchange CSV, clean it up, and turn it into a tax-ready record.
Why You Need to Do This
Three reasons:
- Tax filing: ClearTax and Koinly need clean data to calculate your gains correctly. Garbage in = garbage out.
- Audit defense: If the IT department asks questions, your exchange CSV + your reconciled journal is your proof.
- Self-awareness: Most people have no idea how much they actually spent on fees, how many trades they made, or what their real return is after costs.
Step 1: Download Your CSVs
Every Indian exchange offers transaction history export:
- CoinDCX: Profile → Transaction History → Download CSV
- WazirX: Funds → Transaction History → Download
- ZebPay: Profile → Reports → Generate Report
Download the full history — not just the current month. You need the entire financial year (April 1 to March 31).
If you use multiple exchanges, download from each one separately.
Step 2: Understand the Columns
Each exchange formats slightly differently, but you'll typically see:
| Column | What it means |
|---|---|
| Date/Time | When the trade happened |
| Type | Buy, Sell, Deposit, Withdrawal |
| Market/Pair | e.g., BTC/INR, ETH/USDT |
| Price | Rate at which you traded |
| Quantity/Amount | How much crypto |
| Total | INR value of the trade |
| Fee | Trading fee charged |
| TDS | TDS deducted (if applicable) |
Step 3: Clean and Categorize
Open the CSV in Google Sheets or Excel. Now:
Filter out non-taxable events:
- Deposits (INR into exchange) — not taxable
- Withdrawals to your own wallet — not taxable (but note them for audit trail)
- Keep: Buys, Sells, Swaps
Add a "Tax Type" column:
- Buy → "Acquisition" (establishes cost basis, no tax)
- Sell for INR → "Disposal" (taxable gain/loss)
- Swap → "Disposal + Acquisition" (taxable on the out-leg)
Add a "Cost Basis" column: For each sell/swap, you need to match it against your original purchase using FIFO (First In, First Out). This is the most tedious part.
Step 4: Calculate Gains
For each disposal:
Gain = Sale Value (INR) - Cost Basis (INR) - Fee
Sum all gains for the financial year. This is your total taxable income from crypto.
Don't forget: Gains from different crypto assets cannot be offset against each other. If you made ₹50,000 on BTC and lost ₹30,000 on DOGE, your taxable gain is ₹50,000 (not ₹20,000).
Step 5: Reconcile Against Your Journal
Compare the CSV calculations against the tax journal you've been maintaining (Lesson 3.3):
- Total number of taxable events should match
- Total gains should be within ₹100-500 (rounding differences)
- Any large discrepancies need investigation — missed transactions, different exchange rates, or fee miscalculations
Step 6: Import Into Tax Software
Once reconciled:
- ClearTax Crypto: Upload CSV directly. It auto-maps most exchange formats.
- Koinly: Connect via API or upload CSV. It handles FIFO matching automatically.
- Manual ITR filing: Use your reconciled spreadsheet to fill in Schedule VDA in your ITR.
Common CSV Pitfalls
- P2P trades not in the CSV: Some exchanges don't include P2P transactions in the standard export. Check separately.
- Fee currency confusion: Some exchanges show fees in crypto (e.g., 0.001 BTC fee), others in INR. Convert crypto fees to INR at the time of the transaction.
- Multi-exchange gap: If you moved crypto between exchanges, one shows a withdrawal and the other shows a deposit. Neither shows it as a trade — but you need to track the cost basis transfer.
- USDT-denominated trades: If you traded BTC/USDT, you need the INR value of USDT at the time of the trade to calculate your INR gain.
Quick Recap
- Download full-year CSVs from every exchange you've used (April 1 to March 31)
- Clean the data: filter non-taxable events, add Tax Type and Cost Basis columns
- Calculate gains using FIFO matching
- Reconcile against your weekly journal — discrepancies need investigation
- Import into ClearTax Crypto or Koinly for auto-calculation
- Watch for P2P trades, multi-exchange transfers, and USDT-denominated trades
Key Takeaways from this Lesson
- 1Exchange CSVs have common quality issues — review all auto-classifications manually
- 2Verify entry count in journal matches transaction count in exchange portal
- 3Never delete imported entries — add correction entries with notes instead
- 4Financial year export = April 1 to March 31 — not calendar year
Pass the quiz above to unlock completion
Translate