Educational tooling only — not tax or investment advice. US-style holding periods and wash-sale rules are simplified; verify with a CPA or fiduciary. Prices come from your configured data provider and may be delayed; use is subject to that provider terms.

Import

Upload a full portfolio JSON (accounts, lots, targets) or a minimal CSV of positions.

JSON

Must match the app schema: accounts, lots, optional targetAllocation, substantiallyIdenticalGroups.

CSV

Columns: symbol, sleeve, quantity, cost_basis_per_share, acquisition_date (YYYY-MM-DD), optional account_id, lot_id.