FinDrishti
GuidesAbout
Start free
Schedule FABy the FinDrishti team·Updated July 12, 2026·11 min read

How to File Schedule FA Correctly: A First-Principles Guide

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.

Concretely
For AY 2025–26 (financial year 2024–25), your Schedule FA covers 1 January 2024 to 31 December 2024 — not April to March. Peak, closing, dividends and proceeds are all measured over that calendar window.

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:

TableOne row per…The numbers it needs
A1 — Foreign Depository AccountsBank / deposit accountPeak balance, closing (31 December) balance, gross interest credited
A2 — Foreign Custodial AccountsBrokerage / custodial accountPeak value, closing (31 December) value, gross amount credited (interest + dividends + sale proceeds)
A3 — Foreign Equity & Debt InterestEach individual security / holdingInitial (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.
The common shortcut that is wrong
Converting everything at the 31 December rate is the single most frequent Schedule FA error. A holding that peaked in March must be converted at March's rate; using December's can over- or under-state it by 5–10% in a volatile rupee year. When no rate is published for the exact date (weekend / holiday), carry forward the last published rate on or before it.

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 itCost basis per unit (initial value)
Ordinary buyTrade price + allocated fees
RSU vestFair market value on the vest date
ESPP purchaseFMV on the purchase date — not the discounted price you actually paid
ESOP exerciseFMV on the exercise date
Dividend reinvestmentThe reinvestment price (and the dividend is also reported as income)
Why ESPP catches people
You paid a discounted price, but the perquisite you were taxed on is based on the full fair market value on the purchase date. Your Schedule FA initial value follows the FMV basis, not the cash you handed over.

The edge cases that break spreadsheets

SituationHow it is reported
Acquired in a prior year, sold mid-yearReported. Initial = surviving units’ cost; peak measured up to the sale; closing (31 Dec) = 0; proceeds counted.
Bought and fully sold within the yearReported. 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-coverA 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 accountTreated as an acquisition; if the original cost basis is unknown, it must be estimated and flagged.
Multi-currency accountKeep 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.

The principle FinDrishti holds to
When a number is exact, show it. When it had to be estimated, attach the reason, the method, and the exact data you could upload to make it exact — never emit an uncertain figure as if it were authoritative.

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?

Let FinDrishti do the arithmetic.

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.

Not tax or legal advice. This guide is general educational information about how Schedule FA works, not advice on your specific situation. FinDrishti is a data-preparation tool — not a SEBI-registered adviser, a registered tax preparer, or a filing service, and it does not file your return. Foreign-asset disclosure carries consequences under the Black Money (Undisclosed Foreign Income and Assets) Act, 2015; verify your filing with a qualified Chartered Accountant before you file.
Related guides
RSUs & ESPP · 7 min read
Schedule FA for RSUs and ESPP: A Practical Guide
Exchange rates · 6 min read
Which Exchange Rate Does Schedule FA Use? SBI TT Buying Rate, Explained
Peak value · 6 min read
Peak Value in Schedule FA: What It Means and How to Calculate It