Schedule FA Generator — Interactive Brokers, Fidelity, E*TRADE & Schwab to ITR-2
An online Schedule FA tool for Indian ITR — upload exports from Interactive Brokers, Fidelity NetBenefits, E*TRADE, Charles Schwab, Morgan Stanley, Shareworks, or UBS. Shares in any major currency, per-currency SBI TTBR rates, no Excel templates needed.
Shareworks reports are read on their own page — upload your holdings/activity export there, or enter your vest lots by hand if your plan's portal has no export.
Continue to broker page →- Login to schwab.com
- Accounts → Positions
- Click your stock symbol → Lot Details
- Click Export (CSV)
- Repeat per symbol — upload all files together
- Login to schwab.com
- Accounts → Transaction History (brokerage or Equity Award Center)
- Set date range: Jan 1 → Dec 31 of the calendar year (longer if filing CG/OS/FSI/Form 67 — see note below)
- Click Export (CSV)
- Login to schwab.com
- Accounts → Realized Gain/Loss
- Set date range covering your sales
- Export the Lot Details view (CSV) — the summary export has no acquisition dates
- Login to us.etrade.com → Stock Plan account
- Holdings → By Status → Download Expanded — always needed
- My Account → Gains & Losses → Download Expanded — only if you sold shares
- Select both files together when uploading — no need to convert either to CSV, .xlsx uploads directly
- Login to us.etrade.com
- Activity → Transactions
- Set date range: Jan 1 → Dec 31 of the calendar year (longer if filing CG/OS/FSI/Form 67 — see note below)
- Click Download (CSV)
Stock Plan at Work accounts often don't have this export. If yours doesn't, get your Client Statement PDF instead:
- Login to us.etrade.com
- At Work → Tax Information → Statements
- Select account → Document Type: Statement → Time Frame: the calendar year (e.g. 2025) → Apply
- Download Single Account Statement, then use "Don't have this export?" on the Transaction History card below to upload it
- Login to stockplanconnect.com
- Activity → Reports
- Download the Releases Report (CSV)
- Upload it here
- Login to stockplanconnect.com
- Activity → Reports
- Download the Withdrawals Report (CSV) — only if you sold shares
- Upload it here
StockPlan Connect reports don't list dividends either — use "Don't have this export?" on the Transaction History card below to pull the dividend total from your Client Statement PDF instead.
- Login to interactivebrokers.com → Performance & Reports → Flex Queries → Activity Flex Query → +
- Under
Sections (Select Multiple)— a long alphabetical list — tick four:Cash ReportandCash Transactionsnear the top,Open Positionsabout two-thirds down,Tradesnear the bottom. There is no Select All here, and the two furthest down the list are the ones people scroll past. - Clicking a section opens its panel. At the top is a row labelled Options — tick every box in it. That row is what decides whether IBKR fills in your purchase dates: Open Positions offers
SummaryandLot, Trades offersExecution,Closed Lotsand four others, and out of the box you get only the ones that leave the dates empty. Ticking them all is safe — we drop the duplicate rows. - Below Options is the column list. Hit
Select Allthere for each section — and note it covers columns only, not the Options row above it. - Save the query, then click Run on it. The dates are set here, not while building it — in the Run box choose Period
Custom Date Range, 1 January – 31 December of the year you're filing for, and FormatCSV. - Download — then upload that one CSV in the Open Lots slot
- Sold anything between 1 January and 31 March of the following year? Build a second query for just that quarter — Trades and Cash Transactions only this time, and not Open Positions: your holdings must be the ones dated 31 December, and a second set dated 31 March would be filed on top of them rather than instead of them. Run it over Custom Date Range 1 January – 31 March, Format CSV, and upload it alongside the first. Schedule CG follows India's April–March year, so those sales still belong to this filing; the first query never reaches them.
The Flex Queries page now has a Configure with AI box. Paste this in and press Generate — it fills in all four sections and both Options rows for you:
Activity Flex Query in CSV. Sections: Trades at Closed Lots, Open Positions at Lot, Cash Transactions, Cash Report. Include ISIN, Listing Exchange, Open Date Time and Level of Detail fields.
Three things it will not do for you. Rename it before saving — it suggests a name containing commas and IBKR refuses to save that. Pick Period Custom Date Range when you run it, as above. And check the query before you run it: Open Positions must read Options: Lot and Trades Options: Closed Lots. IBKR's AI is new and the fields it picks vary a little between runs, so read it rather than trust it — everything else on this page still applies.
- Performance & Reports → Statements → Activity
- Period
Annual(1 January – 31 December), Cash Report DetailTotals Only— not the Securities/Futures breakdown, which adds extra per-currency rows on top of the total and would double it — then Download CSV - Run this once for every year back to when you first bought what you still hold, and upload all of them together. One year on its own is rarely enough — a statement reports your holdings in summary only, with no purchase dates anywhere in it, so the dates are rebuilt from the trades in those earlier years.
- Anything the trades can't account for — shares from a merger, a transfer in — is left out and named, so you can add it yourself
Any major currency: a euro, pound, franc, Canadian- or Hong-Kong-dollar holding is converted at that currency's own SBI TTBR rate, not through the dollar. Shares, ETFs, mutual funds and bonds go to Table A3 — a US Treasury is valued off the Treasury's own published yield curve, and its coupon is reported as that row's income. Options and futures go to Table D. Your cash balance is included in the Table A2 closing balance. Forex positions and anything in a currency SBI publishes no rate for are left out — you'll see a note listing exactly what.
The ISIN field matters: Schedule FA reports the country the issuer is registered in, which isn't always the US even for a NYSE-listed share bought in dollars (Accenture and Medtronic are Irish; most low-cost world ETFs are Irish or Luxembourgish). The ISIN is what identifies it — you can still correct any of them on the review page.
- Login to Vested → your account's Reports / Transactions section (the page that offers a downloadable transaction history, not the month-wise account statement PDFs)
- Set the date range to run from the day you opened the account to 31 March of the year after the one you're filing for. Not just this year — Vested's export has no holdings table in it, so what you paid for each share and when you bought it are worked out from the buys themselves. A range that starts after your first purchase leaves those shares unexplained, and they get left out rather than filed with a guessed date.
- Download it as
.xlsxand upload that one file here — it already carries your trades, dividends, withholding and deposits on separate sheets - The month-wise account statement PDFs are not needed
Fractional shares are kept as they are, never rounded. Your uninvested cash balance is included in the Table A2 closing balance. Dividends and the US tax withheld on them are read from the Income sheet and carried into Schedule OS and Form 67.
Sold anything between 1 January and 31 March? Those sales still belong to this filing — Schedule CG follows India's April–March year — which is why the export needs to run to 31 March even though Schedule FA itself reports January to December.
A stock split, spin-off, merger or a transfer in from another broker cannot be worked out from a buy-and-sell history alone. If your export contains one you'll see a note naming it, and you can correct those holdings on the review page before paying.
- Login to netbenefits.fidelity.com → open your retirement plan (the 401(k)/403(b) tile, not a Stock Plan Account) → Quick Links → History, or the Activity / Transaction History tab
- Set the date range to run from the day you joined the plan through 31 December of the year you're filing for. Not just this year — a plan publishes no holdings or cost-basis report at all, so what you hold in each fund, when you bought it and what you paid are worked out from the contributions themselves. A range that starts later leaves those units unexplained.
- Download it and upload that one file here — the same rows carry your reinvested fund dividends and any withdrawal
- There is nothing else to export. A 401(k) has no "View Share Details" page, no Current shares export and no closed-lots export.
Your plan's funds are institutional share classes and collective trusts that no price service quotes, so their values come from the plan's own NAVs — every contribution row states one. They're filled in for you on the review page, where you can correct any of them, and you'll be asked for the 31 December figure outright if your last contribution was weeks earlier.
Units redeemed inside the plan — recordkeeping fees, a fund switch or share-class conversion — are netted off your holdings and do not appear as sales: no money left the plan. A withdrawal does, and is reported as gross proceeds.
Your plan account number is not in the export. Table A2 requires it, so you'll be asked for it on the review page — it's on your NetBenefits statement.
Current Shares CSV (open lots)
- Login to netbenefits.fidelity.com
- Stock Plan Account → View Share Details
- Select Current shares tab
- Click Export
- When prompted, choose Asset Currency (USD)
Transaction History CSV
- Login to netbenefits.fidelity.com
- Stock Plan Account → Activity → Transaction History
- Set date range: Jan 1 → Dec 31 of the calendar year (longer if filing CG/OS/FSI/Form 67 — see note below)
- e.g. Jan 01 2025 – Dec 31 2025 for FY 2025-26
- Click Export
Previously Held Shares CSV (closed lots) If you sold shares
- Login to netbenefits.fidelity.com
- Stock Plan Account → View Share Details
- Select Previously held shares tab
- Click Export
- Choose Asset Currency (USD)
What users are saying
Unsolicited feedback from people who've filed with ITRFA.in
The tool's awesome, definitely sharing with my colleagues. Made Schedule FA filing a breeze — saved myself at least half a day.
Thanks for being so thorough in explaining this. The tool has great potential in aiding taxpayers fill their own returns. Good work!
Applying Rule 115 with SBI TTBR rates per acquisition date, rather than a single average rate, is the correct approach — one that's easy to get wrong manually. Good to see it automated. This isn't just a CSV-to-template converter — it shows real domain depth.
Saved me a lot of time filling in Table A3, and to some extent Capital Gains too. I reached out to support suggesting a few changes to the output so it could be imported directly into ITR-2 — amazingly quick response and resolution. They confirmed the update rolled out to new users, which I verified with a colleague. 5 stars for the customer support.
Too good. Please support end-to-end ITR filing going forward.
Thank you so much for the quick response and rectification. Really liked the portal — it's gonna be a life saver going forward.