Everything you need to import your portfolio, understand the numbers, and get the most out of FolioBright.
FolioBright is a private portfolio tracker that brings every holding across every account into one clear view — stocks, ETFs, crypto, forex, commodities, and options — with true cost basis, dividends, and performance measured against benchmarks of your choosing. It's built for investors who want one honest picture instead of a dozen brokerage logins.
Three ways, mix as you like:
Yes — every holding belongs to an account (e.g. "Fidelity Brokerage," "Roth IRA"). Create one first with + Add Account; account types and broker lists are localized to your country. You can group taxable, tax-advantaged, and crypto accounts and view them separately or combined.
Import your transaction history for the full experience. Because it carries dated buys, sells, and dividends, it's the only path that unlocks performance charts, contribution tracking, realized short/long-term gains for tax reports, and income-over-time views.
Use a current-holdings (positions) import for a quick snapshot of what you own today with cost basis — no history behind it. It's also ideal if your broker only exports positions, or if you'd rather start with today's holdings and add transactions manually over time to build the full experience going forward.
Import methods when adding an account. A positions import is a snapshot that says "here's what I hold now"; a transaction history says "here's every event over a given time period." Loading both into the same account on initial account creation can double-count. Recommended: either upload your current positions CSV and import transactions over time, or import a transaction history — though some adjustments of current holdings may be required. Once your current positions accurately reflect your account holdings, regular transaction imports will ensure the integrity of imports. FolioBright will prevent duplicate transactions from importing, and it warns you if you import transactions into an account that already holds positions.
No. A positions re-import reconciles: an existing ticker's quantity and cost basis are updated to match the file (not stacked), and new tickers are added. A transaction re-import de-duplicates against transactions already recorded, so re-uploading the same activity file won't double it. The import preview shows a NEW / UPDATE badge per row so you can see exactly what will change before committing.
Yes. FolioBright auto-detects common column names (Date, Action, Symbol, Quantity, Price, Amount / Cost Basis). If a column isn't recognized, you map it once in the preview — and the app remembers that format for next time for each brokerage. Files are parsed privately in your browser; only holdings information is synced, and account-number columns are never read.
Yes. In a positions import, FolioBright recognizes forex pairs (EUR/USD), commodities (GOLD or XAU/USD), and options (AAPL 200C 12/26) and classifies each to its correct asset type. Options import as manual-priced positions since a positions file can't carry live option quotes.
One membership with everything included — billed monthly or yearly (the yearly plan works out cheaper per month). There are no tiers or upsells. See current pricing on the pricing section.
Every subscription starts with a 14-day free trial, so you can try FolioBright fully before you're ever charged — cancel anytime before it ends and you won't be billed. Because of the free trial, payments aren't refundable once billing begins; you can cancel anytime from Manage billing in the app to stop future charges and keep access through the end of the period you've paid for.
Your data is always yours. You can export a full backup at any time — even after a subscription lapses — and viewing your portfolio stays available. An active subscription is required to add or edit data, sync across devices, and pull live market data.
FolioBright never asks for brokerage logins and never stores account numbers. CSV files are parsed in your browser and never uploaded. When you sync to your account, digit-runs that look like account numbers are masked before anything leaves your device. Passwords are stored only as one-way hashes and are screened against known-breach databases.
Yes — use Continue with Google. If you later want an email + password login too, set a password in the Account settings; both methods then work for the same account. Signing in with Google on an email that already has a password lands in the same account (no duplicates).
Click Forgot password? in the Account modal and enter your email. If an account exists, a reset link arrives by email (valid for 30 minutes, single use). The link opens a page to choose a new password and signs you straight in.
Stocks, ETFs, crypto, forex, commodities, and options across 75+ global markets. Values are stored internally and can be displayed in your home currency, with account types, brokers, and benchmarks localized to your country.
As total return — price appreciation plus dividends, interest, and cryptocurrency returns — with deposits and withdrawals removed, so your performance reflects investment results rather than how much cash you added. You can benchmark against indices like the S&P 500, and optionally include the benchmark's own distributions for a fair total-return comparison.
As total return. When a dividend, interest payment, or crypto reward comes in, FolioBright accrues it as cash inside the portfolio, so it lifts your total value. It's never treated as a deposit, because the money came from your investments — not from you.
On the Performance chart this flows into both measures:
Reinvested income doesn't distort anything: a dividend reinvested into a new buy is cash-funded, so it isn't mistaken for fresh money. The only requirement is that the income is recorded in your income log — a transaction-history import captures dividends, interest, and crypto rewards automatically.
Yes. Choose your home currency in Settings and FolioBright re-expresses your whole performance history in it — the return chart, time-weighted return (TWR) and money-weighted return (XIRR), the value and income charts, and every risk metric — by converting each month at that month's actual exchange rate.
This deliberately includes the currency effect: exchange-rate moves on assets priced in another currency become part of your return, exactly as they are in reality. So a US-stock portfolio viewed in pounds or euros shows what you truly experienced, not a repackaged dollar figure. Benchmarks are converted to your currency for a fair comparison, and the risk-free rate behind Sharpe and Alpha is matched to your currency.
If exchange-rate history is ever incomplete, the app tells you and falls back to USD rather than show a misleading number.
A dedicated Risk-Adjusted Returns page reports the institutional standards:
It also shows an underwater drawdown chart and a month-by-month scatter of your returns against the benchmark, and every metric carries a plain-language definition. Because manually-priced holdings can understate volatility, the page flags what share of your portfolio is manually priced — and offers a market-priced-only estimate that strips that effect out.
Open the holding, click Stock split…, and enter the ratio (e.g. 2:1, or 1:8 for a reverse split). A preview shows share count and per-share cost adjusting while your cost basis stays unchanged. The live market price is left alone — the data feed is already split-adjusted.
Yes. On the Reports & AI page, pick an analysis focus and FolioBright copies a structured briefing of your portfolio to your clipboard and opens your chosen assistant (Claude, ChatGPT, Perplexity, or Gemini) — you just paste. Your data goes only where you paste it.
Click ↻ Refresh prices. Real-time pricing applies to U.S. markets; Australian data is ~20 minutes delayed; all other markets update end-of-day. If a large portfolio briefly shows "showing cached prices," the market-data provider's rate limit was reached — it refreshes automatically within about a minute.
A few distinct things can make the same ticker show two different prices at the same moment — all of them normal:
None of this affects your records: prices only drive the live market value, while your cost basis, income, and realized gains come from your actual transactions.
Small differences — a few cents per share, a few dollars on the account — are expected, even when both numbers are "live." The subtle reason: there is no single official price for a stock at any given moment. FolioBright shows the last traded price from its market-data feed. Many brokerages display something slightly different — the bid, the bid/ask midpoint, or the quote from their own execution venue. Two perfectly correct sources routinely disagree by a cent or two, and multiplied across your share counts that becomes a small, persistent gap in account value.
Timing adds to it: FolioBright refreshes U.S. prices every few minutes during market hours (other markets are delayed or end-of-day), while your brokerage streams every tick. And in the evenings, brokerages usually show the after-hours trade price, while FolioBright shows the official session close. Crypto can differ a bit more, since each exchange trades at its own price.
What matters: these gaps are cosmetic and constantly shifting — they don't compound and they don't touch your records. Your cost basis, transactions, income, and realized gains come from your actual trade data, not the live quote, so they're exact. For statements and taxes, always rely on your brokerage's official documents.
Open the holding and check its type and ticker. For forex/commodity/option positions, re-importing corrects the type automatically. If a price looks off after a stock split, hit Refresh — the feed's split-adjusted price will replace any stale value.
That's by design. The transaction importer records buys, sells, dividends, interest, and crypto rewards — the rows that describe what you own and what it earned. It intentionally skips deposit, withdrawal, transfer, wire, and check rows, because your buys already reflect the cash you put to work, and pulling in raw cash movements would double-count it.
To record cash on purpose, you have two options:
Tip: if you want your contribution and compound-growth (CAGR) tracking to be accurate over time, add your deposits via the Deposit tab as you make them — the performance and dividend numbers work without them.
One simple rule: manual transactions move money; imports record history.
Entered manually, transactions behave the way your brokerage would treat them: deposits add cash (paying down any margin balance first), withdrawals remove it, dividends and interest accrue to cash (also margin-first), sells can credit their proceeds to cash, buys funded from cash spend it, buys on margin grow the loan, and expenses such as margin interest accrue to the loan. Every one of these is logged in the transaction ledger and reverses exactly if you delete it.
CSV imports never touch balances. An import reconstructs your positions and their history, but your broker's current cash balance already reflects every row in that file — if the import also moved cash, the money would be counted twice. So after importing, just set the account's cash (and margin) balance to what your brokerage shows today; from then on, manual entries keep it in step, and every balance edit is logged as an adjustment you can trace.
Email support@foliobright.com — we're happy to help.