Filing My ITR-2 Using Claude Code — CA Attested It!
I used Claude Code and a community-built ITR filing skill to prepare my own ITR-2 with foreign assets — reconciling Form 16, AIS, 26AS, and broker P&L in an afternoon instead of days. A CA reviewed the final numbers and confirmed everything was correct.
Every year around this time, I go through the same ritual: dig up Form 16, download AIS and Form 26AS from the income tax portal, pull the broker tax P&L, try to remember whether I filed Form 67 for foreign tax credit, and squint at TIS trying to figure out why a number doesn't match. This year my return also had foreign assets (ESPPs / RSUs held abroad) and foreign dividend income, which bumps the complexity up a full notch and makes ITR-2 with Schedule FA mandatory.
Normally this means one of two things: burn a weekend reconciling everything myself, or pay a CA a few thousand rupees to do it for me and hope they ask the right questions about the foreign holdings. This year I tried a third option — I used Claude Code with a purpose-built ITR filing skill shared on Reddit, and had a fully reconciled, portal-ready ITR-2 in a single sitting.
The skill I used: r/IncomeTaxReturnIndia — "ITR filing Claude Code skill"
A privacy note, before you try this
Read this before you drop any documents into a chat window. Form 16, AIS, 26AS, holding statements, and dividend statements are about as sensitive as personal data gets — full name, PAN, address, salary, bank details, broker account numbers, foreign holdings. Before you hand any of it to an AI tool:
- Know where your data goes. Claude Code running locally processes files on your machine and sends the relevant content to Anthropic's API for inference — it isn't a fully offline tool. Read Anthropic's data usage and retention policy for the plan you're on before uploading anything, and understand the difference between consumer and enterprise data-handling terms.
- Don't paste this into just any chatbot. A random web-based AI tool, a browser extension, or a service with unclear or ad-funded data practices is a very different risk profile from a paid product from a vendor with a clear enterprise privacy policy. If you wouldn't email a document to a stranger, don't paste it into a tool you haven't vetted.
- Redact what you can. PAN, Aadhaar, and full bank account numbers are rarely needed for the reasoning — you can mask or truncate identifiers in a lot of the reconciliation work and only fill them back in yourself on the final portal upload.
- Use a private, local working folder and clean it up afterward — don't leave tax documents sitting in a synced cloud folder or shared machine longer than you need to.
If you're not comfortable with an AI vendor processing your financial documents under their standard terms, this workflow isn't for you — and that's a completely reasonable place to land.
How the pieces fit together
At a high level, this is the order the reconciliation has to happen in — Form 67 in particular has to be filed before the ITR, not alongside it:
flowchart TD
A["Gather documents<br/>Form 16, AIS, TIS, 26AS, Broker P&L, Holding Statement"] --> B["Cross-check salary and TDS<br/>(Form 16 vs Form 26AS)"]
B --> C["Reconcile capital gains<br/>(Broker P&L vs AIS/TIS)"]
C --> D{"Hold foreign assets?<br/>(ESPP / RSU / foreign a/c)"}
D -- Yes --> E["Build Schedule FA<br/>(peak / closing / income per holding)"]
D -- No --> F["Skip FA, go to regular<br/>capital gains schedules"]
E --> G{"Foreign dividend<br/>or income received?"}
F --> K["Old vs. New regime comparison"]
G -- No --> K
G -- Yes --> H{"Form 67 already filed<br/>for foreign tax credit?"}
H -- No --> I["File Form 67 FIRST,<br/>then come back"]
I --> H
H -- Yes --> J["Populate Schedule FSI + TR<br/>using Form 67 data"]
J --> K
K --> L["Draft full ITR-2 + Schedule FA"]
L --> M["Human (CA) review of final numbers"]
M --> N["File on the e-filing portal"]
The two branch points that trip people up most are: (1) forgetting that Form 67 must be filed before the ITR if you want foreign tax credit, and (2) treating Schedule FA as optional just because you haven't sold the foreign asset — holding it is enough to trigger the disclosure requirement.
Why I even tried this
Filing an ITR isn't hard because the tax law is exotic — it's hard because the inputs are scattered across five differently-formatted documents that are all supposed to agree with each other and often don't. A CA is really doing three jobs: reading documents, reconciling numbers across them, and knowing which schedule a given number belongs in. That's exactly the kind of structured, document-heavy, rules-based reasoning that an agentic coding tool is good at — if you give it the right documents and a skill that encodes the tax rules.
Prerequisites
Before starting, here's what you actually need:
Tooling
- A Claude Code subscription — Pro/Max personal plan works fine for this; it doesn't need an Enterprise seat. You're using it as a local agent over your own PDFs/CSVs, not for anything requiring org-level features.
- The community ITR filing skill/prompt from the Reddit thread (or an equivalent one) — this is what encodes the actual filing logic: schedule mapping, regime comparison, FA/FSI/TR handling, etc. Without this, you're just asking a general model to guess at tax law, which is not something you want to do.
Documents — gather all of these before you start, since the whole point is cross-reconciliation:
- Form 16 — from your employer, salary and TDS details
- Form 26AS — TDS/TCS credit statement from the income tax portal
- AIS (Annual Information Statement) — the portal's aggregated view of your reported financial transactions
- TIS (Taxpayer Information Summary) — the summarized/processed version of AIS, useful for spotting mismatches quickly
- Broker tax P&L statement — capital gains/losses, computed by your broker(s) for the financial year
- Holding statement — for Schedule FA, if you hold foreign equity/ESPPs/RSUs
- Dividend income statements — domestic and foreign dividends received during the year
- Form 67 — if you're claiming foreign tax credit (FTC) for tax withheld abroad, this needs to be filed before your ITR, not after
If you're missing Form 67 and have foreign tax credit to claim, file that first — the return can't correctly claim FTC without it.
How it actually went
I dropped all the documents into a working folder, pointed Claude Code at them with the ITR skill loaded, and let it work through the return schedule by schedule:
- It parsed Form 16 for salary and TDS, then cross-checked those TDS entries against Form 26AS and flagged the one entry that didn't match.
- It reconciled AIS/TIS against the broker P&L for capital gains — this is normally the most tedious part, since AIS transaction-level data almost never lines up cleanly with the broker's computed short-term/long-term split.
- It built out Schedule FA from the holding statement, correctly separating peak value, closing value, and income from each foreign holding — the schedule most likely to be filled in wrong by hand because the reporting periods don't align with the Indian financial year.
- It matched foreign dividend income against Form 67 for the foreign tax credit claim and confirmed the FTC computation.
- It ran the old vs. new regime comparison automatically instead of me eyeballing it.
What stood out wasn't just that it got the numbers right — it was that it told me where the ambiguity was instead of silently picking an answer. A couple of AIS entries were genuinely ambiguous (a security sold across two lots with different acquisition dates), and instead of guessing, it asked me to confirm which lot matched which transaction from my own records.
What it actually saved me
- Time — this would normally take a full weekend of downloading documents, cross-referencing spreadsheets, and re-checking arithmetic. It took an afternoon.
- Complexity — Schedule FA, FSI, and TR are the parts of ITR-2 that trip up most people (and more than a few CAs) because the interactions between them aren't obvious. Having something methodically walk each schedule and explain why a number landed where it did made the whole return legible instead of a black box.
- Unknowns — the biggest anxiety with a foreign-assets return isn't the math, it's not knowing what you don't know. Did I need to report a foreign bank account with a near-zero balance? Does an ESPP need to go in Schedule FA even if I haven't sold anything? Having those questions surfaced and answered explicitly, with reasoning, was worth more than the time saved.
- CA money — a CA experienced enough to handle foreign assets confidently isn't cheap, and even then you're often trusting a black box. This time I got a return I fully understood, not one I paid for and hoped was right.
But I still had it checked
To be clear — I didn't file blind. Once I had the fully computed return, I had a CA review the final numbers before submission. Everything reconciled and was confirmed correct. That validation step matters: the point of this exercise wasn't "skip professional judgment," it was "arrive at the review with a correct, fully-reconciled return instead of a pile of loose documents," which turns a CA engagement from do the whole thing into a much cheaper sanity check the output.
A rules note, before you trust the output
One more caution, separate from privacy: don't treat the tool's interpretation of ITR rules as authoritative just because the arithmetic is clean and the output looks polished. Tax rules change every assessment year — thresholds, form schemas, disclosure requirements for foreign assets have all shifted in recent years — and a model or skill can be confidently wrong about a rule that changed after it was written, or about an edge case it was never tuned for. Cross-check anything schedule-specific (especially FA/FSI/TR treatment and regime-specific deductions) against the current AY's official ITR utility, instructions, or a professional, rather than assuming the tool's word is final. Treat it as a very fast first draft and reconciliation assistant, not a source of tax law.
Would I do this again
Yes, and next year I expect it to be even less effort — the hardest part this time was just assembling documents in one place. If you're comfortable with your tax situation being reasoned through by an agent under a well-designed skill, and you close the loop with a professional review before you actually submit, this is a genuinely good use of Claude Code. It doesn't replace the CA's judgment; it replaces the CA's document-wrangling, and lets their time go toward the ten minutes that actually need a human.
Credit where it's due
None of this would have happened without the skill shared by the original poster on r/IncomeTaxReturnIndia. Building a Claude Code skill that correctly encodes Indian ITR rules — schedule mapping, FA/FSI/TR handling, regime comparison — is real, careful work, and giving it away for free saved me a genuinely stressful weekend. Thank you.