Schedule FA from Charles Schwab — Complete Walkthrough
9 min read · Updated July 2026 · Applies to AY 2025-26 and AY 2026-27
- What is Schedule FA and who must file
- Which Schwab accounts need disclosure
- Which CSVs to export from Schwab
- Table A2 — Schwab custodial account
- Table A3 — Equity interest (RSU + ESPP shares)
- Table F — Schwab Participant Trust
- 5 common mistakes that trigger scrutiny
- Schwab vs Fidelity — what's different
- Automate with itrfa.in
Watch: Schedule FA in 2 minutes — Charles Schwab
1. What is Schedule FA and who must file
Schedule FA is a section of ITR-2 and ITR-3 where Indian residents disclose foreign financial assets. It was introduced under the Black Money (Undisclosed Foreign Income and Assets) and Imposition of Tax Act, 2015.
You must file Schedule FA if you are a Resident and Ordinarily Resident (ROR) in India and hold any of the following:
- Foreign bank or brokerage accounts (including Charles Schwab)
- Foreign equity shares — whether vested RSUs, ESPP purchased shares, or direct purchases
- Beneficial interest in foreign trusts (Schwab Stock Plan Services participant trust qualifies)
- Any other foreign financial asset with value > ₹0
There is no minimum threshold. Even ₹1 of foreign assets requires disclosure. Non-residents (NR) and Not Ordinarily Resident (NOR) are exempt.
See full penalties and legal obligations →
2. Which Schwab accounts need disclosure
US employers commonly route RSU and ESPP grants through Schwab in one of two account types — both need separate disclosure:
| Account Component | Schedule FA Table | What to Report |
|---|---|---|
| Individual brokerage account (Schwab.com) | Table A2 | Peak balance, closing balance (Dec 31), dividends, sale proceeds |
| Equity Award Center (EAC) account | Table A2 | Same, reported separately if it is a distinct account number |
| Vested RSU shares held (post-lapse) | Table A3 | One row per acquisition (lapse/vest) lot — initial value, peak, closing |
| ESPP purchased shares held | Table A3 | One row per purchase date — initial value, peak, closing |
| Unvested RSU units | Table A3 | Beneficial interest — one row per grant |
| Schwab Stock Plan Services trust | Table F | Trust details (optional but recommended) |
3. Which CSVs to export from Schwab
Login to schwab.com. You need three files — the Lot Details export is the one people miss, because the default Positions export has no acquisition dates.
Do this per symbol you hold — Lot Details is per-position, not account-wide. Upload all the files together in the Open Lots slot; each company is valued at its own market price.
This file has one row per lot: open date, quantity, cost per share, total cost basis, holding period (long/short term).
Used for: Table A3 initial value INR (cost basis × SBI TTBR on acquisition date, per CBDT's Schedule FA filing instructions — see the free TTBR lookup). Which value goes in which column: Table A2 vs A3 guide.
RSUs held only in Equity Award Center, with no separate brokerage Positions listing? There's no Lot Details equivalent there — export Equity Details instead (EAC → Equity Details → Export). ITRFA.in reads that shape too.
Date range: January 1 → December 31 of the calendar year
(e.g., Jan 1 2025 – Dec 31 2025 for FY 2025-26 — Schedule FA reports the calendar year ending Dec 31)
Contains: RSU lapses, ESPP purchases, dividends, stock sales, NRA tax withholding.
Used for: Table A2 gross income (dividends), gross proceeds (sales), NRA withholding for DTAA cross-check.
Only filing Schedule FA? Jan 1 – Dec 31 is enough. Also filing Schedule CG, OS/FSI, or claiming foreign tax credit on Form 67? Those run on India's financial year (Apr–Mar), not the calendar year — export 15 months instead, Jan 1 2025 – Mar 31 2026, so dividends, sales and withholding from Jan–Mar 2026 aren't missed. If your broker's date picker caps at 12 months, export twice — the app accepts multiple Transaction History files, just select both when uploading.
EAC exports include nested award-detail sub-rows (grant ID, vest FMV) under each lapse — ITRFA.in reads past these automatically.
Export the Lot Details view, not the summary — the summary export has no Opened Date column, so per-lot holding periods cannot be built from it.
Check the date-range selector before exporting. Realized Gain/Loss has its own period picker, separate from the Transactions export above, and it does not default to the full year — only filing Schedule FA? Jan 1 – Dec 31 is enough. Also filing Schedule CG, OS/FSI, or Form 67? Set it to Jan 1 2025 – Mar 31 2026 (15 months) instead, so sales from Jan–Mar 2026 aren't silently dropped. If the picker caps shorter, export it twice and upload both.
Needed only if you sold shares. Lots held at any time during the calendar year — including ones you sold during it — must appear in Table A3 (sold lots show a closing value of 0), but they no longer appear in Lot Details.
If you never sold, skip this file.
4. Table A2 — Foreign Custodial Account
Table A2 covers the Schwab account itself (the brokerage wrapper). One row per account.
| Field | What to Enter | Source |
|---|---|---|
| Country Name and Code | 2-UNITED STATES OF AMERICA (dropdown selection, not a typed code) | Fixed |
| Name of Institution | Charles Schwab & Co., Inc. | Fixed |
| Account Number | Your Schwab account number | Schwab statement |
| Status | Owner, Beneficial Owner, or Beneficiary — your relationship to the account (there's no "Active/Inactive" option) | Fixed — usually Beneficial Owner |
| Peak Balance (INR) | Max(shares × stock price) across the calendar year (Jan–Dec) × SBI TTBR on that peak date | yfinance + SBI TTBR (peak date) |
| Closing Balance (INR) | Shares × stock price on Dec 31 × SBI TTBR Dec 31 | yfinance + SBI TTBR (exact date) |
| Nature of Amount + Amount | One dropdown value (Dividend/Interest/Proceeds from Sale/Other) + its own amount, per row | Transactions export |
5. Table A3 — Foreign Equity Interest
Table A3 requires one row per lot (acquisition date) for every foreign equity interest. For Schwab, this means one row per RSU lapse lot and one row per ESPP purchase lot.
| Field | RSU Lapsed Lot | ESPP Purchased Lot |
|---|---|---|
| Entity Name | Company name (e.g. Alphabet Inc) | Company name |
| Nature of Entity | Equity shares — N shares acquired DD/MM/YYYY | ESPP shares — N shares purchased DD/MM/YYYY |
| Date of Acquiring | Lapse/vest date (not grant date) | ESPP purchase date |
| Initial Value (INR) | Market price on lapse date × shares × SBI TTBR lapse date | FMV on purchase date × shares × SBI TTBR purchase date |
| Peak Value (INR) | Lot's share of max portfolio value during FY × SBI TTBR on that peak date | Same |
| Closing Value (INR) | Shares × Dec 31 price × SBI TTBR Dec 31 | Shares × Dec 31 price × SBI TTBR Dec 31 |
| Total Income (INR) | 0, unless a dividend can be matched to this specific holding — then it goes here instead of only in Table A2 | Same |
If you have 15 RSU lapse lots across 3 grant years, you need 15 rows in Table A3. This is why manual filing is so tedious — ITRFA.in generates all rows automatically from the Lot Details CSV.
For unvested RSUs: also disclose in Table A3 as beneficial interest. Initial value = 0 (you haven't paid for them yet). Closing value = unvested units × Dec 31 stock price × SBI TTBR. See full RSU guide →
6. Table F — Schwab Participant Trust
Employer stock plans on Schwab typically operate a stock plan services trust to hold unvested RSU and ESPP shares on your behalf. Technically, as a plan participant, you have a beneficial interest in this trust — making it a foreign trust you should disclose in Table F.
In practice, many CAs omit Table F on the grounds that the beneficial interest is already captured in Table A3. However, a conservative filing includes Table F. Fields required:
- Trust Name: Charles Schwab Stock Plan Services Participant Trust
- Country: UNITED STATES OF AMERICA
- Settlor / Employer: Your employer name and address
- Date of creation: Your first RSU grant date (approximate)
- Beneficiary details: Beneficial interest as plan participant
7. Five common mistakes that trigger scrutiny
- Using March 31 as closing date instead of Dec 31. The ITR field "closing balance as of last date of accounting period" must use Dec 31 stock price and Dec 31 SBI TTBR rate — not March 31 — for a Schwab brokerage account.
- Using Income-tax Rule 115's preceding-month rate instead of the correct exact-date rule for Schedule FA. Income-tax Rule 115's preceding-month rate applies to computing salary/dividend/capital-gains income. Schedule FA values must use CBDT's Schedule FA filing instructions: SBI TTBR on the exact acquisition/event date. Using the wrong rule can cause 15–20% difference in INR values. See Rule 115 guide →
- Using one row for all RSU lots instead of per-lot rows. Table A3 requires one row per acquisition (lapse) date. Aggregating all RSU lots into one row is incorrect and makes values unverifiable.
- Using discounted ESPP purchase price as initial value. If your employer reported the ESPP discount as perquisite in Form 16 (which most do), your Indian cost of acquisition is FMV on purchase date — not the discounted price. Using the discounted price understates initial value. See ESPP guide →
- Skipping Lot Details because the Positions export "already has" your shares. The all-positions CSV on Schwab.com has no per-lot acquisition dates — only the Lot Details export (per symbol) does. Without it, Table A3 initial value cannot be computed correctly.
8. Schwab vs Fidelity — what's different for Schedule FA
The Schedule FA rules are identical regardless of broker — CBDT's exact-date SBI TTBR rule, the Dec 31 closing date, and the per-lot Table A3 requirement all apply the same way. What changes is only the export mechanics:
| Fidelity NetBenefits | Charles Schwab | |
|---|---|---|
| Open lots export | Stock Plan Account → View Share Details → Open Lots | Positions → click symbol → Lot Details (per symbol) |
| Closed lots export | View Share Details → Closed Lots | Realized Gain/Loss |
| Transactions export | Activity → Transaction History | Transaction History (brokerage) or Equity Award Center Transaction Details |
| RSU acquisition event | "Vest" | "Lapse" |
| Table A2 institution | Fidelity Investments (NetBenefits) | Charles Schwab & Co., Inc. |
If your employer switched stock plan administrators mid-year (Fidelity → Schwab is common after an acquisition), you may need one Table A2 row per broker for the year of transition, and Table A3 rows sourced from both exports.
9. Automate with ITRFA.in
Manual filing from Schwab data involves:
- Downloading Lot Details per symbol, plus Transactions and Realized Gain/Loss from Schwab.com
- Looking up SBI TTBR rates for every acquisition date (can be 10–20 dates)
- Looking up stock prices for every month-end to find peak balance
- Computing INR values for every lot
- Entering 15–30 rows into ITR-2
ITRFA.in does all of this from your CSV upload — select Charles Schwab as your broker, upload Lot Details + Transactions, verify the auto-fetched exchange rates on the review screen, and download ITR-ready JSON + Excel in under 2 minutes.
Upload Charles Schwab CSVs → get Table A2, A3, F with correct SBI TTBR rates. Takes 2 minutes. ₹399 for full INR values + JSON + Excel download.
Convert Schwab CSV to Schedule FA →