I used Claude Opus to review my ITR filing, and it helped me get ₹22,000 of extra refund
Filing income tax returns in India is a trust exercise. You hand a folder of documents to a CA, they type numbers into the income tax portal, and you sign off on a 42-page PDF you mostly skim. This year I tried something different: I kept the CA, but I put Claude Opus between us as a reviewer. Every schedule the CA drafted, I screenshotted and dropped into a terminal session before anything got submitted.
It found one error worth real money and one thing that would have been genuinely dangerous to file, along with a tail of smaller issues. It also got one finding completely wrong, which turned out to be the most instructive part of the whole exercise.
The setup
My return was not trivial this year: salary with an ESOP perquisite, Indian equity and mutual fund trades, a US brokerage account (IBKR) with 27 positions across USD and EUR, LRS remittances with TCS spread over three banks, and a mandatory Schedule FA foreign asset disclosure with Black Money Act consequences if botched.
Before the CA started, I had already used Claude Opus to build a working pack: a consolidated workbook computing every schedule from source documents (Form 16, AIS, Form 26AS, broker P&L statements, IBKR statements), reconciled against each other. That pack became the baseline. The review question for every schedule was simple: does what the CA entered match what the documents say?
The workflow was low-tech. The CA worked in the income tax portal. I took screenshots of each schedule and pasted them into Claude Opus, which read them, pulled the corresponding numbers out of the source PDFs and spreadsheets with Python, and kept a running tracker file of findings with severity, owner, and status.
What it caught
A ₹70,620 exemption the CA skipped, worth ₹22,033 of extra tax refund.
My Form 16 certified leave encashment as exempt under section 10(10AA). The drafted Schedule Salary claimed zero exemptions. Claude flagged that the filed salary figure was higher than Form 16’s own “income chargeable” line, computed the impact at my slab rate (₹22,033 including cess, straight into the refund), and cited why the exemption survives the new tax regime. The CA agreed and fixed it. My refund went up by about ₹22,000.
A foreign asset declaration that said NO.
This was the scary one. The final return PDF had Schedule FA fully populated with my IBKR account, yet the declaration in Part B-TTI (“do you hold any asset located outside India?”) was answered NO. That is an internal contradiction, and answering NO while holding foreign assets is exactly the misdeclaration the Black Money Act penalises. A human skimming 42 pages would never catch a single wrong radio button on page 37. A diff between two generated PDFs caught it instantly.
Where it got it wrong
Midway through, Claude confidently reported that two rows in Schedule FA were overstated by several lakh rupees, complete with a plausible theory.
It was wrong. The real issue: Schedule FA reports on a calendar year, but Claude had benchmarked those rows against a working file that only covered the financial year.
Two lessons in one. First, an AI reviewer generates leads, not verdicts, and a confident narrative attached to a number is not evidence. Second, it was the chartered accountant who had those rows right all along; checking against the correct statement settled it.
A note on privacy
This ran through Claude Opus in a terminal on my own machine. My documents stayed where they were, as local files in a folder; I never uploaded my Form 16 or bank statements to a chatbot website or pasted account numbers into a prompt. The review itself is arithmetic and reconciliation, so what the model needed were the numbers, not my identity. And nothing identifying appears in this post: no PAN, no account numbers, no addresses.
What I actually think about this
The CA was not redundant. They drove the portal, made judgment calls, and pushed back where they had reasons. What changed is that the review between “CA drafts” and “I sign” went from a vibes-based skim to a line-by-line reconciliation against source documents. The errors were ordinary human errors under deadline pressure, the kind everyone makes and nobody catches.
The working pack mattered more than the model. The review worked because there was a baseline: every number in the return had a pre-computed expected value traceable to a document. Without that, the AI would just be reading screenshots and nodding along. If you try this, build the baseline first.
Verification has to run both ways. I verified Claude’s findings against the CA’s draft and the source statements, and that check is exactly what caught the one Claude had calculated wrongly.
The asymmetry is real. The whole review, spread over screenshots and follow-ups, took a day of my time. The ₹22,033 error alone paid for that, and the foreign asset declaration fix is worth more than any refund. It also taught me how all the schedules actually fit together, which I would never have learnt by skimming and signing.
I still would not let any AI file a return unattended. But I will never again sign one that has not been through this.