CSV Import
You can bulk-import positions into a portfolio using CSV format. Open a portfolio, click the upload icon, and paste your CSV data. The simplest accepted format is:
symbol,shares,avgCost AAPL,50,150.00 NVDA,30,450.00 MSFT,25,380.00
The first row should be headers. You do not have to reshape a broker export first: column names are matched flexibly, so headers like Ticker, Quantity, Average Cost Basis, Trade Date, Currency, Action and Commission are recognised as well. Exports from Fidelity, Schwab, Vanguard, Robinhood and Interactive Brokers are supported directly.
If your file has a date column, each row is applied as a dated transaction (a buy or a sell on that date) rather than as an opening balance, so your history stays accurate. Rows are applied oldest first.
Use Preview before importing. It shows the columns we detected and a sample of the rows we parsed, and it writes nothing.
Two kinds of file, handled differently
We work out which kind of file you have pasted and treat it accordingly. You do not have to tell us.
A positions snapshot (no date column) states what you hold right now, so importing it sets your holdings to match. Import a snapshot showing 50 AAPL twice and you still hold 50, not 100. If the share count in the file has changed since last time, your holding is updated to the file's number.
A transaction history (rows with dates) records events, so each import adds those trades to your ledger. Importing January's file and then February's gives you both months, which is what you want.
Two safeguards on snapshots:
- A holding you have recorded individual transactions for is never overwritten by a snapshot. Its share count comes from those trades, so edit the transactions instead.
- Holdings that are missing from the file are reported but never removed. Removing a holding also deletes its transaction history, so that stays your decision.
After import you will see a summary of how many rows were applied and how many were skipped. Rows are skipped when the symbol cannot be resolved, when a sell would take a position below zero, when the only money column is current market value rather than cost, or when the row is a cash, transfer or fee line.
CSV Export
To export your portfolio data, click the download icon in the portfolio detail view. This generates a CSV file containing all your positions with current market data, suitable for opening in Excel or Google Sheets.
Note: CSV export is available on the Premium plan.
Portfolio Sharing
You can generate a public share link for any portfolio. See the Sharing Portfolios article for details.