Portfolio

How to Import a Stock Portfolio From CSV (Step-by-Step)

Import your existing stock holdings into Stockrove using a CSV file. Learn the exact column format, common errors, and how to verify your import.

By Stockrove Research··5 min read

Before you start

You'll need a signed-in Stockrove account and a CSV file exported from your broker or spreadsheet. Free-plan accounts are capped at 10 holdings; Pro removes that limit.

Required CSV columns

Stockrove expects seven columns, in this exact order, with a header row using these names:

ticker,name,shares,avgPrice,currency,buyDate,notes
  • ticker — exchange-suffixed symbol where relevant (e.g. BDO.PSE, AAPL, SAP.XETRA).
  • name — human-readable company name.
  • shares — number of shares (decimals allowed).
  • avgPrice — your average purchase price per share.
  • currency — ISO 4217 code such as USD, PHP, GBP, or JPY.
  • buyDate — ISO date such as 2024-03-14.
  • notes — optional free-text field; leave blank if unused.

Step-by-step import

  1. Go to the Portfolio page and click Import CSV.
  2. Click Download template to get a blank file with the correct headers.
  3. Fill in one row per holding. Do not add extra columns.
  4. Save the file as .csv (UTF-8).
  5. Drag it into the import dialog or click to browse.
  6. Review the parsed preview. Fix any red rows in your file and re-upload if needed.
  7. Click Confirm import.

Common errors

  • Ticker not found — the symbol isn't supported by the current data source. Try the exchange-suffixed form (e.g. SMC.PSE for San Miguel Corporation).
  • Currency mismatch — a PH stock imported as USD will still record but valuations will look wrong. Match the listing currency.
  • Invalid date — use the ISO format YYYY-MM-DD. Excel sometimes rewrites dates; open the CSV in a text editor to verify.
  • Non-numeric shares/avgPrice — remove currency symbols, commas, and thousands separators.

Handling duplicates

The importer creates one holding per row. If you re-upload the same file, Stockrove will create duplicate holdings. To do a full refresh, delete existing holdings first (or edit shares/avg price in place with the row-level Edit action).

Verifying your import

After import, check that the totals in the top summary card match what you expected in your original spreadsheet. Then click Refresh prices to pull the latest quotes and confirm the live P/L makes sense.

Data privacy

Uploaded holdings are stored in your private account and protected by row-level security policies — no other user can read them. See our Privacy Policy for details.

Stockrove is for informational and educational purposes only. This article is not financial advice. Data may be delayed or incomplete. Always do your own research before making investment decisions.