# How I Filed My ITR End-to-End with Claude Code

I filed my income tax return this year without opening a single spreadsheet myself. Claude did the analysis, the reconciliation, the tax computation, and the form-filling on the income tax portal. I logged in, answered a few questions, made two decisions, and paid the tax.

This is written for you and for your agent. Read it once, then paste it into your Claude Code session and say "help me file my ITR, follow this playbook."

I used Claude Fable 5 as the model, which is likely why the browser steps moved quickly. You should be able to reproduce all of this on Opus 4.8 without a meaningful difference.

## Before you start

You need Claude Code and about an hour, split across a few sittings. You do not need to know tax law. A few steps are yours to do: logging in, one file-selection click, the payment, and the final OTP.

## Step 1: Put everything in one folder

Collect every tax-relevant document into a single folder and start your Claude Code session from there. Mine had:

- **Form 16** from each employer I worked for during the year
- My broker's **tax P&L export** (capital gains, lot-wise)
- **Full-year bank statements** for every account
- **Payment-gateway settlement reports**, if you have side income
- **Last year's ITR** (both the PDF and the JSON from the portal)
- **AIS and Form 26AS** PDFs from the income tax portal. These are password-protected; tell Claude the password format (lowercase PAN + date of birth) and it will decrypt them itself.

Then tell Claude what each file is. One line each is enough. From here Claude reads everything programmatically, so you do not need to type numbers out of any document yourself.

## Step 2: Let Claude analyse, and expect it to find things

Ask Claude to extract the full income picture: salary and TDS from each Form 16, capital gains lot by lot from the broker file, and a classification of **every single credit in your bank statements** for the year. That last one sounds excessive, and it turned out to be the most useful part. Traps worth asking your Claude to check for:

- **The two-Form-16 trap.** If you switched jobs, both employers may have applied the full standard deduction, and your second employer may have deducted little or no TDS. Each Form 16 can look correct on its own while being wrong once combined. This is a common reason job-switchers end up with a tax bill at filing.
- **Match payment-gateway income to the bank.** If you have business income received through a payment gateway, match the gateway's settlement statement against your bank statement. A figure can be overstated, a credit can turn out to be a refund rather than income, and sometimes an employer pays salary through the same gateway provider, so a salary credit can be misread as business income.
- **Unexplained credits need answers.** Have Claude flag every credit it cannot classify, and answer them: a friend repaying a loan, transfers between your own accounts, and so on. Claude can confirm a self-transfer by matching the UPI reference number on both sides of two bank statements.
- **Small recurring credits are easy to miss.** Some income arrives as small, regular deposits that do not show up in a broker P&L and do not always appear in AIS. Claude noticed a set of small depository credits arriving in pairs about 182 days apart and asked whether they were bond interest, which is taxable. Reading the bank statement in full is the only way these surface.

## Step 3: Reconcile against AIS and 26AS line by line

The AIS is the tax department's own record of what it knows about you. Ask Claude to reconcile every line of it against your documents: each TDS entry, dividend, interest credit, and securities transaction. The aim is that every number either matches a document or has an explanation. This surfaced, for me:

- A **bank account I had forgotten** (a small amount of interest, but it still belongs in the return)
- An **unclaimed TCS credit** from a foreign tour package, which is money that reduces the tax payable
- Confirmation that the clean items were clean: dividends matched the broker across every company
- A **mismatch inside the broker file itself.** The broker's summary page and its detailed trade-by-trade page reported the short-term and long-term split slightly differently. Claude checked both, confirmed they added up to the same total, and used the detailed page, since that is the version the depository reports to the tax department.

## Step 4: Verify the rules with a live web search

Do not have Claude compute from memory, and do not rely on your own recollection either. Slabs, deduction limits, and capital gains rates change often, and a model's training data can be a year behind. Ask Claude to use its web search to confirm the current year's rules from credible sources, ideally the income tax department's own site: your regime's slab rates, the standard deduction, which deductions apply in your regime, and the current capital gains rates and exemption thresholds. It takes a couple of minutes.

## Step 5: Have Claude compute the tax before touching the portal

Have Claude produce a full computation first: income under each head, the set-offs, the regime comparison if you are unsure, and any interest for late or short payment. Ask for it in the standard CA computation format; it fits on one page. This computation is the reference you check the portal against later, rather than accepting the portal's number without a check. Mine matched the portal to the exact rupee.

## Step 6: File on the portal. You log in, Claude drives.

Open the income tax portal in the browser and log in with your credentials yourself. Once you are on the dashboard, Claude takes over the form while you watch:

- Claude starts the correct return form in online mode and **trims the schedule selection first**. The portal preselects two dozen schedules, which is why the form feels endless. Removing the ones that do not apply (house property, depreciation, donations, foreign assets) leaves only what you need.
- Claude answers the wizard questions from your situation: regime, presumptive taxation, books of account, audit.
- Claude **checks the portal's prefilled figures against the Step 5 computation**: salary, TDS, interest, dividends, line by line.
- Claude fills what the portal cannot prefill: the presumptive business block with its business code, the capital gains schedules, any interest AIS missed, and the quarterly breakups.

A few things worth knowing before your agent starts:

- **The portal ends your session about every 15 minutes**, and the page simply stops responding when it does. Everything confirmed so far is saved as a server-side draft. Log back in and choose **Resume Filing**; do not choose **Start New Filing**, which discards the draft. Expect this two or three times in one sitting.
- **Schedule selections can reset after a resume.** Have Claude re-check the list each time.
- **The capital-gains CSV upload is strict about format.** Ours was rejected several times. Claude read the portal's own upload script and found it expects exactly fourteen comma-separated values per row, with no trailing comma, no commas inside a value, and no blank final line. Download the template from the portal itself rather than the offline utility, since the two differ. When the file dialog opens, that click is yours, since the browser blocks an agent from choosing a file.
- **The portal's own final computation (Part B-TTI) is the check point.** Have Claude compare it against Step 5.

## Step 7: The parts that are yours

Paying the tax, pressing final submit, and entering the Aadhaar OTP to e-verify are done by you. Once you have paid, save the acknowledgement, the computation, and the reconciliation notes in the same folder, so next year you can point Claude at it and start from there.

---

*Scope: this reflects an ITR-3 (salary, presumptive business income under 44AD, STT-paid capital gains, interest and dividends, resident individual, new regime, AY 2026-27). Your income mix may need a different form and different schedules, and Claude should be able to work out your specifics from your documents.*
