Understanding the two import options and their expected formats.
| Import CSV Trades | Import Trade Cache File | |
|---|---|---|
| Source | CSV exported from your broker | JSON file exported from this app |
| Format | Broker-specific CSV | 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 |
Use this to import your trade history from a broker's CSV export. The app auto-detects the broker format.
Export from: Fyers Web → Reports → Trade Report → Download CSV
Expected columns:
Symbol,Side,Segment,Order Type,Qty,Price,Trade Value,Trade No,Order No,Exchange,Exchange Order No,OMS Order No,Trade Time,Expiry,Strike Price,Option Type
Example row:
NSE:HDFCBANK-EQ,BUY,EQ,LIMIT,10,1650.50,16505.00,T123456,O789012,NSE,="1100000040500546",="250123000100001",2026-01-23 09:45:06,,0.00,
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 |
|---|---|
| Symbol | symbol, tradingsymbol, scrip, stock |
| Side (Buy/Sell) | side, buy_sell, transaction_type, type |
| Quantity | qty, quantity, traded_qty |
| Price | price, average_price, trade_price, rate |
| Date/Time | date, 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
Only executed trades are imported. The app skips:
After import, a summary dialog shows:
Use this to restore a backup previously exported from this app. The file is a JSON document with a specific structure.
{
"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"
}
]
}
| Field | Type | Description |
|---|---|---|
trade_id | String | Unique identifier for the trade |
tradingsymbol | String | Stock symbol (e.g., "HDFCBANK-EQ") |
quantity | Number | Number of shares |
average_price | Number | Price per share |
transaction_type | String | "BUY" or "SELL" |
order_timestamp | String | Date/time of trade |
| Field | Type | Description |
|---|---|---|
order_id | String | Broker's order ID |
exchange | String | NSE, BSE, etc. |
product | String | CNC, MIS, NRML, etc. |
broker | String | Source broker name |
lastFetchedDate | String | YYYY-MM-DD of last API fetch |
| Scenario | Use |
|---|---|
| First time setting up — want historical trades from broker | Import CSV Trades |
| Moving to a new phone — want all data from old phone | Export Trade Cache → Import Trade Cache |
| Adding trades from a broker that doesn't have API access | Import CSV Trades |
| Restoring from cloud backup | Restore Trades (in Cloud Backup section) |
| Merging trades from multiple CSV exports | Import CSV Trades (multiple times — deduplicates) |