BorderFolio/Interactive Brokers portfolio tracker
Interactive Brokers (IBKR) Portfolio Tracker
Last reviewed 10 September 2026
Export an Activity Statement from Client Portal, upload it as PDF or CSV, and get the two answers the account itself never gives: how much of the balance you contributed versus what the market added, and what each dividend is worth after withholding at source and tax where you live. No IBKR login, no API key, no Flex token — the statement is the only thing BorderFolio reads.
What you get from one Activity Statement
- Contributions separated from market growth. Every purchase on the statement becomes a dated contribution, so "how much of this balance did I actually put into positions" is a running figure rather than a spreadsheet you rebuild each January. Dividend reinvestments the import can identify are listed alongside your purchases but not counted as new money. The method.
- Returns that refuse to guess. Time-weighted and money-weighted return are computed from your confirmed transactions — and when the history is too thin to compute one honestly, the page names what is missing instead of printing a blended number.
- Dividends after both tax steps. Withholding estimated per instrument from fund domicile against the tax residence you configure, plus the second step — tax where you live. The two-step model.
- The US-situs estate threshold. US-situs assets above USD 60,000 put a non-US, non-resident estate in range of US estate tax, and a monthly index buyer crosses that line in an ordinary month with no notification from anyone.
How the import works
- Export. In Client Portal, generate an Activity Statement for the widest period the account allows, as PDF or CSV. One multi-month export produces current holdings and the contribution history behind them, so the record starts months deep instead of from today.
- Upload and review. Positions, purchases, dividends and the commission stated on each trade are extracted and shown for review. Extracted transactions stay pending until you confirm them, and anything misread can be corrected or removed on the review screens first.
- The portfolio. Confirmed purchases become the contribution ledger that the performance, dividend and tax pages are computed from.
Uploading an overlapping period later is safe: transactions already on record are matched and skipped as duplicates, with the counts shown to you. The full walkthrough — which export to run, what exactly is extracted, and the edge cases — is on the IBKR statement import page.
Which rows of the statement are read
| On the statement | What it becomes |
|---|---|
| Trades — buys | A dated contribution, with quantity, price per share and the commission charged on that trade. Fractional quantities are kept. |
| Trades — sells | Recorded against the position, netted out of invested capital, and shown as proceeds rather than as a contribution. |
| Corporate actions — splits and reverse splits | A share-count change carrying the ratio, with no money attached, so the split does not read as a purchase. |
| Dividends, distributions and credit interest | Income on the date it was paid, per instrument, taken at the gross amount printed in the income section. |
| Withholding tax rows | Used as the tax actually withheld on those dividends — not re-estimated, and not double-counted against the income row. |
| Open positions at period start | Where the statement begins mid-history, the carried-in holdings enter as capital at the period-start valuation rather than appearing as market gains. A later, deeper statement replaces that placeholder. |
| Deposits, withdrawals and FX conversions | Skipped. Cash movements are not securities transactions and are never recorded as either purchases or income. |
| Individual bonds, notes and treasuries | Not imported. They price per 100 of face value and pay coupons rather than dividends. Bond funds with a ticker import normally. |
Two consequences worth stating plainly. Because cash movements are skipped, a contribution here means a purchase of securities, not a transfer into the account — money sitting uninvested at IBKR is not part of the picture. And because a dividend reinvestment is a purchase funded by the portfolio itself, reinvestments the import can identify are listed with your contributions but excluded from “new money” and from the pace figures built on it.
Why the return figure differs from the profit figure
This is the most common source of confusion after an import, and it is not a disagreement about arithmetic. IBKR is right; the tracker is right; they answer different questions.
- Profit is a currency amount: what the account is worth now against what went into it. It grows when you contribute, which is exactly why it cannot tell you whether the investments did well.
- Money-weighted return (XIRR) answers “how did my money do”, and is affected by when you contributed. A monthly buyer in a rising market sees a different number from someone who bought once at the start.
- Time-weighted return (TWR) answers “how did the holdings do”, stripping the timing of contributions out, which is what you compare against an index.
A steady monthly contribution schedule is the case where the two diverge most visibly, so both are shown rather than one standing in for the other. Neither is guessed: time-weighted return needs a valuation around every flow, and where the imported history cannot support one, the figure is withheld with the reason named instead of approximated into a headline number. The worked example, with the numbers, is in how to track portfolio performance.
What it adds to IBKR's own PortfolioAnalyst
IBKR is not short of reporting. PortfolioAnalyst produces time-weighted and money-weighted returns, benchmark comparisons and allocation breakdowns; Activity Statements cover any period you ask for; Flex Queries let you automate the export; and the year-end tax forms are as complete as any broker's. If your question is "what did this account do", the answer is already in the account.
BorderFolio answers the questions that survive that report, because they are about your position rather than the account: the contribution-versus-growth split as a running figure, dividend withholding estimated per fund domicile against the tax residence you configure, the second tax step at home, the US-situs estate threshold — and consolidation, since a second broker is just another statement rather than another API integration to wait for.
No credentials, no Flex token, no read-only login
There is no field for an IBKR username, no API key, no Flex Web Service token and no OAuth connection — no IBKR integration exists in the product at all. That is a deliberate trade: you re-upload a statement when you want the portfolio refreshed, and in exchange nothing that could reach your IBKR account is ever stored on our side. (The one broker with a direct connection is Freedom24, and even that is read-only API keys the user generates — never a password.)
The uploaded file itself is deleted automatically within seven days; what remains is the extracted data. And if even the statement is more than you want to share, positions can be entered manually instead — the tracker works the same either way, with no document involved. The full account of what is stored, who can see it and how to delete it is on the security page.
Several accounts, several currencies
IBKR statements frequently contain more than one account — individual plus IRA, or a joint account alongside it — each with its own holdings section. The extractor reads the account identifier printed in each section header and keeps the sections apart, so the same ticker held in two accounts is not silently collapsed into one position or dropped as a duplicate. That identifier is used during the import only; it is not stored.
You can also keep accounts apart on purpose: Pro tracks up to five portfolios side by side — separate brokers, separate accounts, or separate tax wrappers — plus one combined view.
What it deliberately does not do
- No live sync with IBKR. Positions and history update when you upload a statement; market prices refresh on their own schedule, from official closing prices rather than live ticks. If you need real-time, that is what Client Portal is for.
- No individual bonds, notes or treasuries. They are priced per 100 of face value and pay coupons rather than dividends; reading them as shares would misstate both the holding and the money put in, so they are named as not imported instead. Bond funds with a ticker import normally.
- No trading, no money movement, no order routing. Nothing in this product can touch your account.
- No tax filing figures. Every tax number is an informational estimate on your own holdings, with its assumptions shown. Your 1042-S and your adviser remain the authority.
Cost
Free covers one portfolio, up to 10 holdings and three document imports a month, with the contribution view covering the last three months — enough to run a single IBKR account with a concentrated index portfolio indefinitely. Pro is $15 a month or $149 a year and removes the limits: up to five portfolios, unlimited holdings and imports, full contribution history and analytics, and the complete cross-border layer. See pricing.
Quick answers
Do I need an IBKR Flex token or API key?
No. There is nothing to configure on the IBKR side — no login, no API key, no Flex Web Service token. You export an Activity Statement as PDF or CSV and upload it; no IBKR integration exists in the product at all.
Does it sync with Interactive Brokers automatically?
No. The portfolio updates when you upload a new statement — for most people roughly once a month. Market prices refresh on their own schedule regardless. The only broker with a direct connection today is Freedom24, via read-only API keys the user generates.
Can I try it without a statement?
Yes. The demo opens a private copy of a sample multi-year portfolio with no sign-up, and holdings can also be entered manually — the tracker works the same with no document involved.
What does the free plan include?
One portfolio, up to 10 holdings and three document imports a month, with the contribution view covering the last three months — no card required. Pro removes the limits.
What does it show that PortfolioAnalyst does not?
The split between what you contributed and what the market added as a running figure, dividend withholding estimated per fund domicile against your configured tax residence, the second tax step at home, and the US-situs estate threshold — questions about your position rather than about the account.