Skip to content

Repository files navigation

Disclaimer

This is an unofficial open source project.

  • This project is not affiliated with or endorsed by E*TRADE, Morgan Stanley, the State Bank of India (SBI), the Reserve Bank of India (RBI), the Income Tax Department of India, or any other financial institution or government authority.
  • Historical exchange rates are obtained through the sbi-tt-rates package. For dates prior to 2020, where SBI TT data is unavailable, the library automatically falls back to historical USD/INR exchange rates from Yahoo Finance.
  • Dividend calculations are not supported. Any dividend income must be calculated and reported separately while filing your Income Tax Return.
  • The library has only been tested with E*TRADE statement formats. Statements from other brokers are not currently supported.
  • The library has only been validated for FY 2025-26 (AY 2026-27). Future Income Tax portal formats, reporting requirements, or broker statement formats may require updates.
  • The generated Schedule FA should always be reviewed before filing your Income Tax Return. Users are responsible for verifying the accuracy of the generated data before submission.

The authors and contributors are not responsible for any incorrect tax filings, penalties, interest, or financial losses resulting from the use of this software.

itr-schedule-fa-app

Simple application for generating Schedule FA, FSI, capital gains, and dividend reports from supported US broker statements for the Indian Income Tax Return.

This application uses the itr-schedule-fa library to convert supported broker statements into the Schedule FA CSV format accepted by the Income Tax portal.

It also generates:

  • Schedule FA
  • Capital gains (STCG/LTCG)
  • Dividend report
  • Quarterly break-up of values

Screenshots

Main Window

Main Window

Generated Results

Generated Results


Supported Brokers

  • E*TRADE

More brokers may be added in the future.


Requirements

  • Python 3.10 or later

Installation

1. Clone this repository

git clone https://github.com/jdecodes/itr-schedule-fa-app.git
cd itr-schedule-fa-app

2. Create a virtual environment (recommended)

Windows

python -m venv .venv
.venv\Scripts\activate

Linux/macOS

python3 -m venv .venv
source .venv/bin/activate

3. Install dependencies

pip install -r requirements.txt

Prepare Broker Statements

Copy your broker statement files into the data folder.

Currently supported filenames are:

holdings.xlsx
gnl_within.xlsx
gnl_after.xlsx

gnl_within.xlsx and gnl_after.xlsx are optional if you do not have any transactions to report.


Usage

The application can be used through either the graphical interface or the command line.

Option 1: Graphical UI (Recommended)

Launch the application:

python ui.py

Using the graphical interface you can:

  • Select the supported broker.
  • Choose the reporting year.
  • Enter the stock ticker.
  • Generate Schedule FA, capital gains, and dividend reports.
  • Open the generated output folder directly from the application.

Option 2: Command Line

Open main.py and update the required values.

Example:

TICKER = "QCOM"
REPORTING_YEAR = 2025

Then run:

python main.py

Output

The generated files will be written to:

data/schedule_fa.csv
data/gains.csv
data/dividend.csv

These files can then be reviewed before copying the values into the Indian Income Tax Return portal.


Notes

  • Only E*TRADE statements are currently supported.
  • Holdings acquired during the reporting year are automatically excluded, as they should not appear in the opening foreign asset schedule.
  • Transaction files are optional. If omitted, sale-related values in the output will be zero.

Related Projects

This application is built on a collection of open source Python projects.

Project Description GitHub PyPI
itr-schedule-fa Core library for converting broker statements into Schedule FA. https://github.com/jdecodes/itr-schedule-fa https://pypi.org/project/itr-schedule-fa/
fa-inrdata-api Downloads and prepares historical market data used to build INR datasets. https://github.com/jdecodes/fa-inrdata-api https://pypi.org/project/fa-inrdata-api/
fa-inrdata Historical INR market data package used during Schedule FA calculations. https://github.com/jdecodes/fa-inrdata NA
sbi-tt-rates Historical SBI TT Buy/Sell exchange rates for currency conversion. https://github.com/jdecodes/sbi-tt-rates https://pypi.org/project/sbi-tt-rates/

Contributing

Contributions are welcome!

You can help by:

  • Adding support for additional US brokers.
  • Improving parsing robustness for existing broker statements.
  • Reporting bugs or suggesting enhancements.
  • Improving documentation and examples.
  • Adding or expanding unit tests.

If you would like to contribute:

  1. Fork the repository.
  2. Create a feature branch.
  3. Make your changes and add tests where applicable.
  4. Ensure all existing tests pass.
  5. Submit a pull request with a clear description of your changes.

For major changes or new broker support, please open an issue first to discuss the proposed approach.

About

itr-schedule-fa-app is a simple Python application that generates Schedule FA for the Indian Income Tax Return from US broker statements. Built on the `itr-schedule-fa` library, it currently supports E*TRADE and produces a Schedule FA CSV ready for review and filing.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages