Schedule FA CSV Bulk-Upload — The Exact Format That Works
8 min read · Published July 2026 · Applies to AY 2026-27
2, BENEFICIAL_OWNER, D) — not the text the dropdown shows you. Dates want YYYY-MM-DD. And a single comma anywhere in a value silently deletes the whole row.
Most Schedule FA guides describe two ways to file: type each row into the portal by hand, or prepare a full return in the Offline Utility and import its JSON. There's a third route that's easy to miss because nothing announces it — each of Tables A2, A3 and F has its own "Upload CSV" option with a downloadable template. It genuinely works and it will save you a lot of typing on a large Table A3. But the template ships with no example row, and the validation errors point at columns without saying what's actually wrong with them, so the first few attempts usually fail.
Below is the format that the portal actually accepts, established by working through repeated rejections on a real filing and then confirming each rule against the validation logic the portal itself runs in the browser.
Rule 1 — dropdown columns want internal codes, not the visible text
This is the one that causes the "Please select the status…" and "Select the nature of amount from the drop downs provided…" errors. The validator checks your value against a lookup table of internal codes. The readable text you see in the dropdown is what that table maps to — it is never accepted as input. Neither is the numbered position of the option.
| Column | What the dropdown shows | What the CSV needs |
|---|---|---|
| Status (A2) | Owner | OWNER |
| Beneficial owner | BENEFICIAL_OWNER | |
| Beneficiary | BENIFICIARY (the portal's own spelling) | |
| Nature of Amount (A2) | Interest | I |
| Dividend | D | |
| Proceeds from sale or redemption of financial assets | S | |
| Other income | O | |
| No Amount paid/credited | N | |
| Country Name and Code (A2, A3 and F) | 2-UNITED STATES OF AMERICA | 2 |
| Income taxable in your hands? (F) | Yes / No | Y / N |
The country code is the portal's own numeric code, which is not the ISO code — the United States is 2, not US or 840. The first column, "Country/Region name", is separate free text and takes the readable name (UNITED STATES OF AMERICA).
Rule 2 — dates must be YYYY-MM-DD
Use 2024-05-15. Not 15-May-2024, even though that's exactly what the manual entry form's date picker displays and what its placeholder text suggests. The CSV validator applies a strict pattern that only accepts the ISO form, so a file that looks consistent with the on-screen form will still fail. This affects Account opening date in A2, Date of acquiring the interest in A3, and Date since position held in Table F.
Rule 3 — no commas in any value, and quoting won't save you
"ServiceNow, Inc." is read as two separate cells, which throws the column count off, and the row is discarded without an error message — you just end up with fewer rows than you uploaded.
Company names (ServiceNow, Inc.) and addresses (2225 Lawson Lane, Santa Clara, CA) are where this bites. Strip the commas before uploading — ServiceNow Inc. and 2225 Lawson Lane Santa Clara CA are accepted and read correctly. On a Table A3 with dozens of lots that all share one company name, a single stray comma can wipe out every row in the file.
Rule 4 — column order and count must match exactly
Keep the template's header row as it downloads and don't reorder, add or remove columns. Every data row needs exactly as many comma-separated cells as there are columns — including trailing empty cells for fields you're leaving blank. A row with the wrong number of cells is skipped, again quietly.
Table A2 — column order
| # | Column | Format |
|---|---|---|
| 1 | Country/Region name | Text |
| 2 | Country Name and Code | Code — 2 |
| 3 | Name of financial institution | Text, no commas |
| 4 | Address of financial institution | Text, no commas |
| 5 | ZIP Code | Max 8 chars |
| 6 | Account Number | Text |
| 7 | Status | Code |
| 8 | Account opening date | YYYY-MM-DD |
| 9 | Peak Balance During the Period | Integer INR |
| 10 | Closing balance | Integer INR |
| 11 | Nature of Amount | Code |
| 12 | Amount | Integer INR |
A working A2 row looks like this:
UNITED STATES OF AMERICA,2,Fidelity Investments (NetBenefits),82 Devonshire Street Boston MA 02109,02109,X12-345678,BENEFICIAL_OWNER,2023-01-15,5485283,4797068,D,1571
D with the dividend, then S with the proceeds). See Table A2 vs A3 for a worked example.
Table A3 — column order
| # | Column | Format |
|---|---|---|
| 1 | Country/Region name | Text |
| 2 | Country Name and Code | Code — 2 |
| 3 | Name of entity | Text, no commas |
| 4 | Address of entity | Text, no commas |
| 5 | ZIP Code | Max 8 chars |
| 6 | Nature of entity | Free text, max 34 |
| 7 | Date of acquiring the interest | YYYY-MM-DD |
| 8 | Initial value of the investment | Integer INR |
| 9 | Peak value of investment during the Period | Integer INR |
| 10 | Closing balance | Integer INR |
| 11 | Total gross amount paid/credited … | Integer INR |
| 12 | Total gross proceeds from sale or redemption … | Integer INR |
Country is the only coded column in A3 — Nature of entity is free text despite the similar name, and unlike A2 there's no Nature-of-Amount split: income and sale proceeds are two separate columns on the same row. One row per lot held at any point in the calendar year, including lots sold during the year (closing balance 0, proceeds filled in).
Table F — column order
For a foreign trust — e.g. the plan-administrator trust holding unvested RSU/ESPP shares.
| # | Column | Format |
|---|---|---|
| 1 | Country/Region Name and code | Text |
| 2 | Country Name and Code | Code — 2 |
| 3 | ZIP Code | Max 8 chars |
| 4 | Name of the trust | Text, no commas |
| 5 | Address of the trust | Text, no commas |
| 6 | Name of trustees | Text, no commas |
| 7 | Address of trustees | Text, no commas |
| 8 | Name of Settlor | Text, no commas |
| 9 | Address of Settlor | Text, no commas |
| 10 | Name of Beneficiaries | Text, no commas |
| 11 | Address of Beneficiaries | Text, no commas |
| 12 | Date since position held | YYYY-MM-DD |
| 13 | Whether income derived is taxable in your hands? | Code — Y/N |
| 14 | If (13) is yes, Income derived in the account | Integer INR |
| 15 | Amount | Integer INR |
| 16 | Schedule where offered | Text |
| 17 | Item number of schedule | Text |
If it still rejects a valid-looking file
One quirk worth knowing: the validator sometimes reads the value sitting in the on-screen form rather than the one in your file, which makes a correctly-formatted row fail on the dropdown columns anyway. If everything above checks out and you're still getting "please select" errors, clear the existing rows from the table before uploading and try again on an empty grid.
Also worth checking: the error dialog paginates. It shows three errors at a time, so use the arrows to see whether the remaining errors are the same columns repeating on later rows or something new.
Where to find it on the portal
On the Select Schedule screen, Schedule FA sits under the "Others" category — not "Income", where most people look first. Open Schedule FA, go to the table you want, and the template download and upload options sit alongside the usual "+Add" button.
Getting the numbers right is the harder half
The format rules above only get the file accepted. You still need the right peak balance, closing balance, and correctly-dated SBI TTBR conversions in every row — which is where the genuinely consequential mistakes happen: using the wrong exchange-rate rule, converting a peak value at the wrong date's rate, or collapsing an account's dividend and sale proceeds into one row. ITRFA.in computes all of it from your broker exports and gives you the values already worked out.
Upload your Fidelity, Schwab, E*TRADE, or Morgan Stanley files. ITRFA.in works out every Table A2/A3 value — peak balance at the right date's rate, closing balance, and the per-nature A2 row split.
Generate your Schedule FA values →FAQ
2 for the United States, BENEFICIAL_OWNER for status, and a single letter (D, S, I, O, N) for Nature of Amount.YYYY-MM-DD. The DD-MMM-YYYY format the manual form's date picker shows is rejected by the CSV validator.Related guides
- Table A2 vs A3 — what goes where
- Schedule FA Excel template — build or skip?
- SBI TTBR Rate & Rule 115 — the exact-date exchange rate