How to check whether your crypto tax number is actually right
Any tool can show you a figure. Before you file it, here are seven things worth checking — and this works on a report from any tool, not just this one.
Nobody audits their crypto tax number, because the number arrives looking finished. It has a rupee sign and two decimal places and it sits in a box, and the natural response is to believe it.
But the tax rate is the easy part. Anybody can multiply by 30%. The hard part — and where the money is actually lost — is everything that happens before that multiplication: which purchase got matched to which sale, what happened to the coins you moved, what the tool did about the gaps in your data. None of that shows up in the total.
Here is what to check. It takes about ten minutes and none of it requires a spreadsheet.
1. Compare your gain against your sale value
Add up what you sold for; look at the gain your report claims. If the gain is close to the sale value — say 90% or more — your cost side has gone missing somewhere. Real trading rarely produces that. It almost always means purchases were not matched to sales.
2. Check one sale by hand
Pick any single sale in the report. Can you trace it back to the purchase it used? Ask: which coins were these, when did I buy them, and what did I pay? If the report cannot tell you, you cannot answer that question for anybody else either — including if you are ever asked to.
3. Look for anything you moved between accounts
If you ever transferred coins between exchanges or to a wallet, find those events in the report. They should be recorded as transfers and they should not be taxed. If a transfer has been treated as a sale, or if coins arriving at the second exchange have no purchase price attached, the number is wrong — often by a factor of ten or more. There is a worked example of exactly this here.
4. Confirm every account is in there
Every exchange, every wallet, for every year you have traded — not just the year you are filing. Cost basis carries forward: coins you bought three years ago and sold last month need that three-year-old purchase to be present. A tool can only match what you gave it.
5. Check that your losses were not quietly helping you
Under Indian rules a loss on one crypto trade cannot reduce the tax on a gain from another, cannot reduce tax on any other income, and cannot be carried into next year. So take the total of your profitable sales, multiply by 31.2%, and compare it to the tax the report claims. If the report's figure is meaningfully lower, it has netted your losses off — which is not permitted, and would leave you under-paying.
6. Look at what TDS was deducted, and do not expect it to match your exchange
The 1% TDS is a credit, not an extra tax — it is money already sent on your behalf and it reduces what you owe when you file. Two things surprise people. First, if more was withheld than you owe, you are in a refund position and you have to file to get it. Second, each exchange calculates TDS only on the trades it can see, so if you used more than one, your correct total will not match any single exchange's statement. That is expected, not an error.
7. Ask what the tool assumed
Every crypto tax calculation rests on assumptions, because exports are incomplete and the rules are ambiguous in places. Fees: does a selling fee reduce your taxable gain? (Under a strict reading it does not.) Missing purchases: what cost was assumed? Timestamps: what timezone was the export in — because a trade on 31 March at 11pm belongs to a different financial year depending on the answer.
A report that does not tell you its assumptions has not removed them. It has hidden them.
What a wrong number usually looks like
- Absurdly high tax — nearly always missing cost basis, usually from a transfer or a missing account.
- Suspiciously low tax — usually losses being netted against gains, which Indian rules do not allow.
- A gain in a year you barely traded — usually a timezone problem pushing a March trade into the wrong financial year.
- A huge loss you do not recognise — usually a withdrawal recorded as a sale at a price of zero.
Why this page exists
It is an odd thing for a crypto tax tool to publish, because most of these checks are aimed at catching a tool being wrong. That is deliberate. If a number cannot survive being questioned, it is not worth having — and a calculation you cannot audit is one you cannot defend.
VDALedger is built the other way round: every figure opens into the full working — which purchase each sale consumed, bought on what date, from which file, at what price, and what was assumed along the way. Where it cannot resolve something in your data it says so and tells you what would fix it, instead of guessing.
It runs in your browser. Nothing is uploaded and there is no account, so you can run your files through it and compare against whatever report you already have.
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.