Data Import Guide

Understanding the two import options and their expected formats.

Import Options Overview

Import CSV Trades Import Trade Cache File
Source CSV exported from your broker JSON file exported from this app
Format Broker-specific CSV or XLSX App's internal JSON format
Use case First-time import of historical trades Restoring a backup / syncing between devices
Deduplication By trade_id (merges with existing) Replaces entire cache for the account

Import CSV Trades

Use this to import your trade history from a broker's CSV export. The app auto-detects the broker format.

Supported Formats

The app accepts .csv, .xlsx, and .xls files. Format is auto-detected based on file content.

The walkthroughs below cover mStock (both of its exports), Groww, INDmoney and Fyers for Indian equity, and Vested, INDmoney, Morgan Stanley at Work and Fidelity for US stocks.

mStock (Mirae Asset) XLSX Format

Export from: mStock app or website → Trade History report. The file is in .xlsx (Excel) format.

Expected columns:

Trade Date | Exchange | Buy / Sell | Scrip / Contract | Qty | Price | Trade Id

Example rows:

02-04-2026  NSEEQ  Buy  NATCOPHARM-EQ  77  1016.05  405081515
19-03-2026  NSEEQ  Buy  HDFCBANK-EQ    9   801.00  204639352

How to export from mStock (step by step):

  1. Sign in to mStock on the web and open the menu, the three lines at the left-hand end of the top bar. mStock's top bar, with the three-line menu button at its left-hand end.
  2. Choose Trade History, under Intelligent Reports. The mStock menu expanded, with Trade History listed in the Intelligent Reports group.
  3. Pick the period. mStock offers Current F.Y. and Previous F.Y., so two financial years is the most it will export — take each of them in turn, or set a Custom range inside them. mStock's period row, offering 1 Week, 1 Month, 3 Months, Current F.Y., Previous F.Y. and Custom.
  4. Click Download. The Download button on mStock's Trade History screen.
  5. Choose EXCEL. Download both financial years, then select them together when you import. mStock's download format chooser, with EXCEL among the offered formats.

File details:

  • The XLSX file contains metadata rows (company info, client details) at the top — the app skips these automatically
  • Only the data rows below the "Trade Date" header are parsed
  • Footer "NOTE:" rows are skipped automatically
  • Both Buy and Sell trades are imported
No conversion needed. Import the .xlsx file directly — the app handles Excel format natively. No need to convert to CSV first.

Only two financial years are available on this screen. Anything older comes from a different mStock export — the Sauda Summary Report, which is requested by email rather than downloaded. See mStock Sauda Summary Report below for the request and for what arrives.

mStock Sauda Summary Report (CSV)

mStock's second export, and the only record it will hand out for a financial year older than the two Trade History reaches. It is not a download: mStock support email it to you, one .csv per financial year. The app reads that report.

How to request it from mStock (step by step):

  1. Email help@mstock.com from the address registered on your mStock account. mStock sends this report to the account holder's registered address and to nowhere else, so a request from any other address will not produce it.
  2. Ask for the complete transaction report of your account, and say which financial years you need. The years worth asking for are the ones Trade History cannot reach — anything before the current and previous financial year.
  3. Wait for the reply. This is not a download: someone at mStock answers the request, so allow a few days rather than expecting a file straight away.
  4. What comes back is the Sauda Summary Report, one CSV per financial year. Save every attachment as it arrives — there is no need to open or convert them first — then select them all together when you import.

No screenshots here, and none are missing. This report is on no screen in mStock's web app: there is no menu item, no reports page and no Download button that produces it. It is requested by email and it arrives by email, so there is nothing to capture. Every other walkthrough on this page is illustrated because it is a click path — this one is a request.

Keep the files. They are the only copy of that history mStock hands out.

Which of mStock's two exports to use. Trade History for the two financial years it covers — the current and the previous one — where it is the better record: one row per fill, with the time of day and mStock's own Trade Id. For anything older, this report is not the weaker of two options; it is the only record mStock will supply.

File details:

  • A day's dealing arrives as one line per stock and side. Where you bought or sold the same stock in several fills on one day, this report gives the day's total quantity and its average price as a single row — so a day of seven sells imports as one trade rather than seven, and the times of day are not in the file at all
  • Brokerage, taxes and the other charges are not imported. The file does carry a charges column, and the app reads it only to check that each row's own quantity, amount and rate agree, then discards it. The price imported is the gross rate you dealt at rather than the net rate after charges — which is what every other import records, and what your contract note shows
  • Files may be imported more than once, and may overlap Trade History. A transaction the account already holds is not added a second time
  • Where a year from this report covers a period your Trade History covers only partly, the day's total from this report is what the account keeps: the share count comes out right, and that day's per-fill detail is replaced by the single line

Groww XLSX Format

Export from: Groww → Reports → Stocks - Order history. The file is in .xlsx (Excel) format.

Expected columns:

Stock name | Symbol | ISIN | Type | Quantity | Value | Exchange | Exchange Order Id | Execution date and time | Order status

How to export from Groww (step by step):

  1. Sign in to Groww on the web and click your profile, the circle at the right-hand end of the top bar. Groww's top bar, with the round profile button at its right-hand end.
  2. Choose Reports. The Groww profile menu open, with Reports in the list.
  3. Scroll down to Transactions and choose Stocks - Order history. Take that one rather than Mutual Funds - Order history. Groww's Reports page scrolled to the Transactions group, where Stocks - Order history is listed.
  4. Set From and To to cover your whole history, then click Download. The workbook opens with a line reading "Order history for stocks from" and the range you asked for. Groww's Stocks - Order history export, with From and To date fields above a Download button.

File details:

  • The workbook opens with a line reading Order history for stocks from <date> to <date> — that is how the app recognises it
  • Value is the total order value; the app divides it by quantity to get the price per share, so that column has to be present
  • Only rows whose Order status is Executed are imported — cancelled, rejected and pending orders moved no shares
  • Groww exports one arbitrary date range rather than fixed periods, so a single file can cover everything

INDmoney XLSX Format (Indian equity)

Export from: INDmoney → your profile → Tax and Other reportsDownload ReportOther ReportsINDstocksTransaction Statement. The file is an Excel workbook, .xlsx or .xls.

How to export from INDmoney (step by step):

  1. Sign in to INDmoney and click your profile. On the web it sits at the bottom of the left sidebar. INDmoney's left sidebar, with the profile entry at the bottom of it.
  2. Go to Tax and Other reports. The INDmoney profile menu, with Tax and Other reports in the list.
  3. Click Download Report. INDmoney's Tax and Other reports page, with the Download Report button.
  4. Choose Other Reports from the dropdown. INDmoney's report-type dropdown open, with Other Reports among the choices.
  5. Choose INDstocks. INDmoney reports Indian equity and US stocks separately, so take this one rather than US Stocks. INDmoney's report list, where INDstocks and US Stocks are offered as separate choices.
  6. Scroll to Transaction Statement at the bottom of the page, and download each financial year you have transactions in, then select them all together when you import. The Transaction Statement section at the foot of INDmoney's INDstocks report page, with a download per financial year.

File details:

  • Only the Equity transactions report sheet is read — that is the sheet name inside the workbook, not the menu wording, which is Transaction Statement
  • The FNO sheet beside it is ignored, so futures and options trades do not import
  • Only rows whose Order Status is Executed are imported — cancelled and rejected orders moved no shares
  • Import the workbook as it downloads — no need to convert it to CSV first

One file per financial year. The statement comes one financial year at a time, so download each year you traded in — you can then select them all together when you import. Start from the year of your first buy, since a sale cannot be matched to a purchase that is not in the files.

Import the empty years too. A year you made no trades in still exports a statement, and importing it is harmless — an empty statement is not a failed export.

Years may be imported more than once. A transaction the account already holds is not added a second time, so fetching the current year again after a few more trades is safe.

Fyers CSV Format

Export from: Fyers Web → ReportsOrder Book. Fyers generates it one financial year at a time, back to FY 2019-2020.

How to export from Fyers (step by step):

  1. Sign in to Fyers on the web and click More, at the right-hand end of the top bar. Fyers Web's top bar, with More at its right-hand end.
  2. Choose Reports, under Trading tools. The Fyers More menu open, with Reports listed under Trading tools.
  3. Choose Order Book, under Transactions — not Trade Book. The Order Book names the stock you traded, where the Trade Book gives only the company name, which the app cannot match to a holding. Orders in it that were cancelled or never filled are skipped for you on import. Fyers' Reports page, with Order Book and Trade Book side by side under Transactions.
  4. Switch the view from Calendar to Table. The Fyers report screen with the Calendar and Table view switch above the results.
  5. Open Preferences, the sliders button beside the financial-year pill at the top right. Fyers' report toolbar, with the Preferences sliders button beside the financial-year pill.
  6. On the Date Range tab, choose a financial year and click Generate. Fyers lists them one at a time, back to FY 2019-2020, with a Custom Range at the bottom. The Date Range tab of Fyers' Preferences, listing financial years back to FY 2019-2020 with Custom Range at the bottom and a Generate button.
  7. Click Download, in the toolbar to the left of the financial-year pill. Fyers' report toolbar, with Download to the left of the financial-year pill.
  8. Choose CSV and confirm. Repeat for every financial year you traded in, then select them all together when you import. Fyers' download dialog, offering CSV or PDF and warning that the PDF carries only some columns.

Some of these screens show Trade Book in the breadcrumb or in the download dialog: they were captured along that path, and every control they show is the same one the Order Book has. Choose Order Book at step 3 and the rest of the path is identical.

Choose CSV, not PDF. Fyers says so on the download dialog itself: only some columns are available in the PDF, and the ones it drops are the ones an import needs.

One file per financial year. To import your full history, download each year you traded in — starting with the year of your first buy, since a sale cannot be matched to a purchase that is not in the files:

  • FY 2023 - 2024
  • FY 2024 - 2025
  • FY 2025 - 2026
  • FY 2026 - 2027

The app merges trades automatically — a transaction the account already holds is not added a second time, so overlapping ranges and re-imported years are safe.

Order Book, not Trade Book. The Trade Book beside it on Fyers' Reports page is the more tempting of the two — it is only the trades that filled, at the price they filled at — and it is unusable, for a reason no parser can work around: it carries no instrument identifier at all. Its Name column holds the company, AVENUE SUPERMARTS LIMITED, where the Order Book holds NSE:DMART-EQ.

The Order Book's extra rows are not a drawback. It does list the orders that were cancelled or rejected and moved no shares, but only rows whose Status is Executed are imported, so there is nothing for you to prune first — and the Order Book is the only one of the two reports carrying a Status column for that filter to read. This is the layout the app's dedicated Fyers parser is written against:

Name,Date & Time,Side,Product type,Status,Order type,Qty,Traded price,Limit price,Source,Exchange order ID,OMS order ID
NSE:HDFCBANK-EQ,23-01-2024 12:41:51,BUY,CNC,Executed,LIMIT,10,"1,432.00","1,432.00",WEB,="1100000040500546",="250123000100001"

An Order Book CSV is recognised as Fyers and has its non-executed rows filtered out. A Trade Book CSV is not: its columns are different, so it falls through to the app's generic CSV reader, which maps the company name to the trading symbol. The import appears to succeed, but what you get is a holding called AVENUE SUPERMARTS LIMITED that corresponds to no instrument, reconciles against nothing and cannot be matched against your buys.

Generic CSV Format

For brokers without a specific parser, the app tries to match columns by name. Your CSV should have headers containing these keywords:

Required Column Accepted Header Names
Symbolsymbol, tradingsymbol, scrip, stock
Side (Buy/Sell)side, buy_sell, transaction_type, type
Quantityqty, quantity, traded_qty
Priceprice, average_price, trade_price, rate
Date/Timedate, trade_time, order_time, timestamp

Example:

symbol,side,quantity,price,date
HDFCBANK-EQ,BUY,10,1650.50,2026-01-23 09:45:06
RELIANCE-EQ,SELL,5,2450.00,2026-01-24 10:30:00

Tips:

  • Column order doesn't matter — the app matches by header name
  • Side must be "BUY" or "SELL" (case-insensitive)
  • Date format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS
  • Price should be per-share, not total trade value

What Gets Imported

Only executed trades are imported. The app skips:

After import, a summary dialog shows:

US Broker Exports

US stock accounts import the same way, from Import Statement on the US Stocks screen. Everything above still applies: only executed transactions are imported, and a transaction the account already holds is not added a second time, so re-importing a file is safe.

INDmoney reports Indian equity and US stocks as two separate files, so an INDmoney user needs both — the Indian equity statement above and the US report below.

Vested — Transaction History (XLSX)

Export from: Vested → your profile → TransactionsTransaction History, downloaded as XLSX. The file is an Excel workbook with a Trades sheet.

How to export from Vested (step by step) — sign in to Vested on the web, then:

  1. Click your profile, at the top right. Vested's top bar, with the profile button at the top right.
  2. Choose Transactions from the dropdown. The Vested profile dropdown open, with Transactions in the list.
  3. On the Transaction History page, choose Custom under Date Range. Vested's Transaction History page with Custom chosen in the Date Range control.
  4. In the calendar, choose the day you opened the account as the start date and today as the end date. Vested's date-range calendar, with a start date and an end date being picked.
  5. Choose Completed, so the file holds only completed transactions. Vested's Transaction History filtered to Completed transactions.
  6. Click Download. The Download button on Vested's Transaction History page.
  7. Choose XLSX from the dropdown. Vested's Download dropdown open, with XLSX among the formats offered.

File details:

  • The file needs its Trades section — the columns Date, Time, Name, Ticker, Activity, Quantity and Price
  • Ranges may overlap. A transaction the account already holds is not added a second time, so a range covering trades you have already imported is safe

Start from the day you opened the account. A sale cannot be matched to a purchase that is not in the file, so a range that begins after your first buy leaves that holding with no cost.

This is the only Vested export the app reads. Vested also offers an account statement as a .pdf, and it cannot be imported: its transaction table gives a cash amount per transaction and no share quantity or price per share, so there is no way to tell how many shares a buy or sell moved. The XLSX carries both, along with the trade times, so same-day buys stay separate. Import a Vested PDF and the app says so rather than guessing.

INDmoney — US stocks transaction report (XLSX)

Export from: INDmoney → your profile → Tax and Other reportsDownload ReportOther ReportsUS StocksTransactions ReportEmail Me. The file is an Excel workbook, .xlsx or .xls.

How to export from INDmoney (step by step):

  1. Click your profile, at the bottom of the left sidebar. INDmoney's left sidebar, with the profile entry at the bottom of it.
  2. Go to Tax and Other reports. The INDmoney profile menu, with Tax and Other reports in the list.
  3. Click Download Report. INDmoney's Tax and Other reports page, with the Download Report button.
  4. Choose Other Reports from the dropdown. INDmoney's report-type dropdown open, with Other Reports among the choices.
  5. Choose US Stocks. INDmoney's report list with US Stocks selected rather than INDstocks.
  6. Choose Transactions Report. INDmoney's US Stocks report list, with Transactions Report among the reports offered.
  7. Under Full Report Since Inception, click Email Me. INDmoney's Transactions Report options, with the Email Me button under Full Report Since Inception.

File details:

  • The report must contain the transaction table — the columns Stock Name, Stock Symbol, Quantity, Price and Transaction Type. A holdings-only summary has no purchase history to read
  • Either Excel format works — the older .xls download and the newer .xlsx both import, with no need to convert the file first

The report arrives by email rather than downloading. Check the inbox for the address on your INDmoney account, then import the attachment here.

Take Full Report Since Inception. A report covering a shorter period omits the earlier buys, and a sale cannot be matched to a purchase that is not in the file.

Morgan Stanley at Work — View Savings Plan Fund Details (PDF)

Export from: Morgan Stanley at Work → PortfolioShares & Cash HoldingsTransaction View → the stock's detailsPrint or Save to PDF. The file is a .pdf of the plan's Fund Details page — the ESPP or savings-plan share holding, not the annual tax document.

How to export from Morgan Stanley at Work (step by step):

  1. Open the Morgan Stanley at Work account and click Portfolio, in the top menu. Morgan Stanley at Work's top menu, with Portfolio between Dashboard and Activity.
  2. Under Portfolio, choose Shares & Cash Holdings. The Portfolio page's two tabs, Stock Options & RSUs and Shares & Cash Holdings, with the second one selected.
  3. Click Transaction View, then click details beside the stock you hold. The Transaction View, Cash Summary and Share Summary tabs, with Transaction View selected.
  4. The Fund Details page opens. Click Print or Save to PDF, then import that PDF here. The Fund Details page header, with Print or Save to PDF at its right-hand end.

File details:

  • This is the ESPP share-holding page, not the annual tax document
  • Use Print or Save to PDF, the page's own control, so the file carries the table as text. An image capture of the same page has nothing to read
  • The holdings table is the position after any sales — its lots sum to the Closing Value in the Activity table. So the import reconstructs what you hold now, and past sales are not in it
  • Take the Fund Details page one stock at a time. The page covers a single plan and ticker, which is why the export names no security beyond its own header

Fidelity — View share details (CSV)

Export from: Fidelity NetBenefits → SummaryView Positions & Sell SharesView share detailsCurrent sharesExport. The file is a .csv of the lots you hold now.

How to export from Fidelity (step by step):

  1. Open the Fidelity account and click the Summary tab. Fidelity's Stock plans page, with Summary first in its row of tabs.
  2. Under Stock Plan Account, click View Positions & Sell Shares. The Stock Plan Account card on Fidelity's summary, with a View Positions & Sell Shares button.
  3. Under the share quantity, click View share details. The View share details link sitting under a share quantity.
  4. Under Current shares, click Export, then import the CSV it downloads here. The Current shares tab beside Previously held shares, with an Export button at the right-hand end.

The app will ask you which ticker these lots belong to. This export never names the stock, so the app cannot work it out from the file. Import one CSV per ticker, and be ready to say which one it is.

File details:

  • Export in USD. Fidelity can show a stock plan in your local currency, and the figures carry no currency marker, so the app reads them as dollars either way. A local-currency export imports a cost basis wrong by the exchange rate
  • Current shares are current holdings only: shares you have already sold are not in the file, so it cannot reconstruct past sales
  • The file names no security, which is why the app asks for the ticker — one CSV per ticker

Import Trade Cache File

Use this to restore a backup previously exported from this app. The file is a JSON document with a specific structure.

Expected Format

{
  "lastFetchedDate": "2026-05-25",
  "trades": [
    {
      "trade_id": "T123456_O789012",
      "order_id": "O789012",
      "exchange": "NSE",
      "tradingsymbol": "HDFCBANK-EQ",
      "product": "CNC",
      "average_price": 1650.50,
      "quantity": 10,
      "transaction_type": "BUY",
      "order_timestamp": "2026-01-23 09:45:06",
      "broker": "fyers"
    },
    {
      "trade_id": "T234567_O890123",
      "order_id": "O890123",
      "exchange": "NSE",
      "tradingsymbol": "RELIANCE-EQ",
      "product": "CNC",
      "average_price": 2450.00,
      "quantity": 5,
      "transaction_type": "SELL",
      "order_timestamp": "2026-01-24 10:30:00",
      "broker": "mstock"
    }
  ]
}

Required Fields Per Trade

Field Type Description
trade_idStringUnique identifier for the trade
tradingsymbolStringStock symbol (e.g., "HDFCBANK-EQ")
quantityNumberNumber of shares
average_priceNumberPrice per share
transaction_typeString"BUY" or "SELL"
order_timestampStringDate/time of trade

Optional Fields

Field Type Description
order_idStringBroker's order ID
exchangeStringNSE, BSE, etc.
productStringCNC, MIS, NRML, etc.
brokerStringSource broker name
lastFetchedDateStringYYYY-MM-DD of last API fetch
Important: Importing a trade cache file replaces all existing trades for the selected account. If you want to merge trades instead, use "Import CSV Trades", which deduplicates by trade_id.

When to Use Which

Scenario Use
First time setting up — want historical trades from brokerImport CSV Trades
Moving to a new phone — want all data from old phoneExport Trade Cache → Import Trade Cache
Adding trades from a broker that doesn't have API accessImport CSV Trades
Restoring from cloud backupRestore Trades (in Cloud Backup section)
Merging trades from multiple CSV exportsImport CSV Trades (multiple times — deduplicates)