Schedule FA is where careful Indian tax returns quietly go wrong. Not because filers are careless — because the schedule asks for numbers your foreign statements were never built to answer, on a calendar that isn't India's, at exchange rates from specific dates you have to look up one by one. This guide takes it apart from first principles.
Who has to file it — and on what
If you are resident and ordinarily resident (ROR) in India and, at any time during the relevant year, you held a foreign bank account, a foreign brokerage or custodial account, foreign shares (including RSUs and ESPP stock), or other foreign assets, you must disclose them in Schedule FA of ITR-2 or ITR-3. Two points trip people up immediately:
- “At any time” is literal. An asset you bought and fully sold within the year is still reportable. Holding it on 31 December is not the test — holding it on any single day is.
- It is disclosure, not taxation. Schedule FA does not compute tax. It is a transparency statement. But an omission here is treated far more seriously than a rupee error elsewhere — see why accuracy matters.
The calendar year, not the financial year
Every other schedule in your ITR runs on the Indian financial year (1 April – 31 March). Schedule FA does not. For assets in a country that follows the calendar year — the United States, most of Europe — you report the calendar year ending 31 December that falls inside the relevant accounting period.
The three tables you actually fill
Schedule FA has several tables; for a typical NRI-returnee or RSU holder, three carry the weight. Each has a different unit of reporting and a different set of numbers:
| Table | One row per… | The numbers it needs |
|---|---|---|
| A1 — Foreign Depository Accounts | Bank / deposit account | Peak balance, closing (31 December) balance, gross interest credited |
| A2 — Foreign Custodial Accounts | Brokerage / custodial account | Peak value, closing (31 December) value, gross amount credited (interest + dividends + sale proceeds) |
| A3 — Foreign Equity & Debt Interest | Each individual security / holding | Initial (acquisition) value, peak value, closing (31 December) value, dividends, gross sale proceeds |
A3 is the hard one and the core of this guide: it is per security, and it asks for four different valuations of each holding, each anchored to a different date.
The four numbers that define A3
Reduce the whole problem and you are building three daily time series per account — units held, cash balance, and the price/FX to value them — then reading four numbers off each holding:
- Initial value — what you paid to acquire the units, at the exchange rate on the acquisition date.
- Peak value — the highest value the holding reached on any single day during the year.
- Closing value — its value on 31 December (zero if you had sold it by then).
- Gross amounts credited — dividends received and gross sale proceeds during the year.
Each of these hides a subtlety. Take them one at a time.
The exchange rate is not one rate
Every figure is reported in INR, converted with the SBI TT (telegraphic transfer) buying rate — but the rate is the one in effect on the reference date of that specific figure, not a single year-end rate:
- Peak value → SBI TT buying rate on the day the peak was hit.
- Closing value → rate on 31 December.
- Initial value → rate on each lot's acquisition date.
- A dividend → rate on the date it was credited.
Peak value: a daily high-water mark, not a year-end snapshot
This is the number most tools get wrong, because a broker statement only shows you period-end values. The peak is not the December mark, nor the highest month-end — it is the maximum over every trading day the asset was held (a fuller treatment, including the A2 account peak, is in the peak-value guide). You reconstruct it by walking the year day by day:
value(d) = units_held(d) × price(security, d) × SBI_TT(d, currency) for each trading day d peak_INR = max over d of value(d) d* = the day that maximum occurs
Two consequences fall out of this. First, the peak is the maximum of the daily rupee value — each day is valued at that day's price and that day's SBI TT rate, and the largest wins. It is not the year's highest foreign price converted at some other day's rate. Second, the peak is per A3 row: each security peaks on its own date. Do not add up per-security peaks to get an account peak — that would sum values from different days.
Closing value: the 31 December mark
Closing value is what the holding was worth at year-end: units × price(security, Dec 31) × SBI_TT(Dec 31), or the broker's own 31 December mark if the statement provides one (preferred — it is the real number). If you had fully sold the holding before year-end, its closing value is zero — but you still report the row, because you held it during the year (its peak, proceeds and dividends still count).
Initial value: the subtle one (and why lots matter)
Initial value is the acquisition cost of the units — but of exactly the units that were present during the year, each frozen at its own acquisition-date exchange rate. That qualifier is where the difficulty lives, and it is why you cannot avoid tracking lots.
A lot is one atomic acquisition: 30 shares vested on 15 March at that day's fair market value is one lot; 20 shares bought in July is another. When you sell, which lot did you sell? Indian equity uses FIFO (first-in, first-out) — the oldest units go first. FIFO fixes each parcel's holding window, which is what lets you answer “how many units of this lot were actually held during the year, and what did they cost.”
units_in_year(lot):
acquired during the year → the full lot quantity
acquired before the year, and → quantity that survived into Jan 1
partly sold before Jan 1 (i.e. not the units disposed in prior years)
acquired after Dec 31 → 0 (not this year's asset)
initial_value_INR = Σ over lots units_in_year × unit_cost × FX(acquisition_date)The point: you report the cost of survivors, not your total historical outlay. Units you sold in a previous year are excluded; units you sold during this year are included (you held them for part of it). Only lot-level tracking with a consumption timeline separates these cleanly.
Cost basis depends on how you acquired the units
“What did it cost” has a different answer for equity comp than for a plain purchase — and getting it wrong is a common mistake (RSUs and ESPP get their own step-by-step guide):
| How you acquired it | Cost basis per unit (initial value) |
|---|---|
| Ordinary buy | Trade price + allocated fees |
| RSU vest | Fair market value on the vest date |
| ESPP purchase | FMV on the purchase date — not the discounted price you actually paid |
| ESOP exercise | FMV on the exercise date |
| Dividend reinvestment | The reinvestment price (and the dividend is also reported as income) |
The edge cases that break spreadsheets
| Situation | How it is reported |
|---|---|
| Acquired in a prior year, sold mid-year | Reported. Initial = surviving units’ cost; peak measured up to the sale; closing (31 Dec) = 0; proceeds counted. |
| Bought and fully sold within the year | Reported. Initial = full lot cost; peak over the holding window; closing (31 Dec) = 0. |
| Stock split (e.g. 2:1) | Scale the quantity and unit cost of open lots; keep the original quantity for audit. |
| RSU sell-to-cover | A vest plus a same-day sale of some units to fund tax withholding. The sale is netted against that same vest, so the initial value is the gross units vested (the Form-16 perquisite basis) and the closing (31 December) value reflects the net units kept. By default the withholding-sale proceeds are excluded (salary already taxed via Form 16); including them is an available toggle. |
| Transfer in from another account | Treated as an acquisition; if the original cost basis is unknown, it must be estimated and flagged. |
| Multi-currency account | Keep cash per currency; convert each leg at its own currency’s SBI TT rate. |
A2 vs A3: the deliberate double-count
Your brokerage securities appear in two places: once inside the A2 account total, and again as individual A3 lines. This overlap is intended — A2 discloses the account, A3 discloses the holdings. One thing to get right: the A2 peak is the single day on which cash + total securities value was highest — it is not the sum of each security's individual peak, because those peaks fall on different days.
account_value(d) = cash(d)×FX(d) + Σ_securities units(d) × price(d) × FX(d) A2_peak = max over all days d in the year of account_value(d)
When your statements can't tell the whole story
A clean peak needs the full daily path — every buy, sell, vest and transfer, plus a daily price series. Real filers rarely have all of it. Two honest regimes:
- Full transaction history + a price series → the peak is exact and needs no caveat.
- Only period-end snapshots → there is no true intra-year path. You can carry each snapshot forward and scan prices for an approximate peak, but a buy-then-sell that happens entirely between two snapshots is invisible. The right move is to disclose the approximation, not to present an estimate as if it were exact.
Where a transaction history and a balance snapshot disagree, the snapshot catches what the transactions missed (an employer-side vest the broker didn't list, a missing corporate action). The gap becomes a flagged, lower-confidence adjustment — visible, not silently absorbed.
Why the accuracy bar is so high
Schedule FA sits under the Black Money (Undisclosed Foreign Income and Assets) Act, 2015. Unlike an ordinary understatement, a failure to disclose a foreign asset here can attract penalties and prosecution that are disproportionate to the asset's size — the exposure is per undisclosed asset, not a percentage of tax. That is why “roughly right” is not good enough: completeness (every asset, every day it was held) and correct measurement (the right rate on the right date) both matter. Confirm your specific position with a qualified Chartered Accountant.
A filer's checklist
- Am I reporting the calendar year (Jan–Dec), not the financial year?
- Have I included every asset held on any day — including ones bought and sold within the year?
- Is each figure converted at the SBI TT buying rate on its own reference date?
- Is my peak a daily high-water mark, not a year-end or month-end value?
- Is initial value the cost of surviving units, with RSU/ESPP valued at FMV?
- Have I split securities into A2 (account) and A3 (per holding) correctly, accepting the intended overlap?
- Have I flagged — not hidden — anything I had to estimate?
Upload your foreign bank and brokerage statements. FinDrishti reconstructs every lot, peak, and closing value — showing the source and math on every number — and builds your Schedule FA. The first three rows are free.