📥 Import Portfolio

Import from Robinhood, M1 Finance, Schwab, Fidelity, Coinbase, and more with auto-detection

1 Load CSV
2 Review & Edit
3 Assign Person
4 Import

Step 1: Load Your CSV File

📂
Click to choose a CSV file or drag and drop here
Supports .csv files
— OR —

Step 3: Assign to Person

Who should own these assets?

Step 4: Confirm Import

How CSV import works (and why we built it this way)

CSV import lets you bring in an existing portfolio from a brokerage export, a spreadsheet, or another tracker without retyping every position. The whole process happens entirely in your browser — your file never leaves the device.

What kinds of files this accepts

Any plain CSV (comma-separated values) file works as long as it has at least two columns: a symbol/ticker column and a quantity column. Optional columns we'll auto-detect include cost basis, asset type, asset name, and which person owns the holding. Most brokerage exports work out of the box — we ship column-mapping presets for the major US brokers and you can adjust the mapping by hand if your file uses different headers.

Excel files (.xlsx) need to be saved as .csv first. In Excel/Numbers/Google Sheets: File → Save As → CSV.

Step-by-step walk-through

  1. Pick your file. Click Choose File and select your CSV. The app reads it locally; no upload happens.
  2. Confirm the column mapping. The mapping screen shows your file's columns on the left and the app's expected fields on the right. Adjust any mismatches by clicking the dropdowns. Required: symbol, quantity. Optional but recommended: cost basis, asset type.
  3. Review the parsed preview. A sample of rows is rendered exactly as they will be imported. Check three things: tickers look right, quantities are not orders of magnitude off, and asset types match what you expect.
  4. Choose merge mode. "Add to existing" appends the new rows to your current portfolio (with duplicate-detection on ticker + person). "Replace" clears your portfolio first — use only when you really mean to start fresh.
  5. Confirm. The import runs in milliseconds and you're taken back to the main Portfolio page where everything is now in place.

Common issues and how to fix them

Why we don't store your CSV

Many tracker apps run CSV imports on their servers, which means your historical positions, cost bases, and account structure get logged in a database somewhere. We do the parsing in the browser using JavaScript so the file is read into memory, processed, and discarded — only the resulting portfolio entries are saved (locally, to your browser). It's a small but meaningful privacy difference, and it's why this page works even with no internet connection.

Backup tip: Before doing a large import or a "replace" merge, click Export on the main Portfolio page first. That gives you a JSON snapshot you can restore from if anything goes wrong.