VDALedger

Crypto tax, worked out in full

Schedule VDA: what actually goes in each column

Most of the difficulty is not the arithmetic. It is that the form asks for things your exchange statement does not contain.

Schedule VDA is where crypto goes on the return. It is a table: one row per transfer, with the date you acquired what you sold, what it cost you, what you got for it, and the difference.

The arithmetic is simple. What catches people is that the form asks for facts an exchange export does not carry, and that its total does something unusual.

The columns

ColumnWhat goes in it
Col 2Date of acquisition — when you bought the coins you are now disposing of. Not when you opened the account, and not when the coins arrived on this exchange.
Col 3Date of transfer — when you sold, swapped or spent them.
Col 4Head of income — Capital Gain for ordinary investing.
Col 5Cost of acquisition — what you paid. Nothing else is deductible.
Col 6Consideration received — the full value you got.
Col 7Income — Col 6 minus Col 5. It can be negative.

Those last three are not a reading of the form; they are what the Income Tax Department's own validation rules for ITR-2 say. Rule 188: "In Schedule VDA, value at Sl. No. 7 should be equal to Sl. No. 6 − Sl. No. 5."

The rule the form encodes, which costs people money

The same validation rules describe how the schedule's total is computed. Rule 189 requires the total to be the sum of all positive incomes in Col 7.

Read that again

Your losing rows go in the table. They are then excluded from the total.

Three sales — a ₹2,00,000 gain, a ₹1,50,000 loss, a ₹50,000 gain — do not net to ₹1,00,000. The total is ₹2,50,000, and you pay 30% plus cess on that. The loss reduces nothing: not that year's crypto gains, not any other income, and it does not carry to next year.

This is Section 115BBH, and it is the single most expensive surprise for a first-time filer. The form is not being lenient by letting you enter the loss; it is collecting it and then declining to use it.

Why one sale can need three rows

Col 2 wants a date of acquisition. If you bought BTC three times and then sold once, which date?

All three. The standard convention is oldest-first, so a sale draws on your earliest purchase until it is exhausted, then the next. Each of those purchases has its own date and its own cost, so each becomes its own row — one transfer, three lines.

Tools that collapse this into a single row have to invent an acquisition date. There is no correct one to invent.

What your exchange export does not tell you

Swaps count, and they count twice

Trading one coin for another is a transfer of the first one. Buying ETH with USDT disposes of the USDT: that is a row. It also acquires ETH, whose cost basis is what the USDT was worth that day — which becomes Col 5 when you eventually sell the ETH.

People who never converted to rupees often assume nothing is reportable. The opposite is true: a year of active swapping can generate hundreds of rows without a single rupee withdrawal.

TDS is not part of this schedule

The 1% TDS is a credit, claimed elsewhere on the return. It does not reduce Col 6 and does not appear in Col 5. If what was deducted does not match what you expected, that is a separate reconciliation — see why your TDS may not match Form 26AS.

Working the rows out

The calculator on this site produces exactly these columns from your exchange exports: one row per acquisition lot consumed, with the dates, the cost, the consideration, the difference, and the positives-only total — plus a mark on any row whose purchase it has no record of, which is the row to fix before you file.

It runs in your browser. Nothing is uploaded.

Column numbering and the two totalling rules above are taken from the Income Tax Department's published ITR-2 validation rules for AY 2026-27. Forms change between years: check the live form before filing, and take anything material to a qualified professional.

Work out your own position

Drop your exchange exports into the calculator and open up every number it produces. It runs entirely in your browser — no account, no upload, and your files never leave your device.

Open the crypto tax calculator