Portfolio value including cash
Daily total, reconstructed from your trades, cash movements and daily closing prices. Triangles on the baseline mark days money went in (up) or out (down).
Result per period
Value change with deposits and withdrawals removed, so only performance is left.
Cumulative result
The same numbers, added up over the selected range.
What the portfolio is made of
Stacked daily value per holding, with cash at the top. The largest positions get their own band; the rest are folded into “Other”.
Money paid in vs what it is worth
The gap between the two lines is growth — everything that is not your own deposits.
Year by year
| Year | Opening | Closing | Paid in | Taken out | Result | Return | Dividend | Costs | Trades |
|---|
Annualised return
Two answers to two questions, shown together (US-148). My money: what your euros earned per year given when you paid them in, an internal rate of return over your actual deposits and withdrawals. The portfolio: how it performed per year regardless of when you paid in, the daily-chained return annualised, which is what a fund reports. They diverge exactly when you bought high or sold low.
Price return vs. total return
How much of this period's result was the price moving, and how much was dividends landing — two answers, shown together, because neither one alone is the whole question.
What moved, in this range
Result per instrument over the selected range — the same number the holdings table prints, as a shape. Deposits and withdrawals are already out of it, so a bar is performance and nothing else.
Currency exposure
Which currencies today's value is riding on. Everything on this page is in euros; this is what those euros depend on.
Uninvested cash over time
How much was sitting idle, day by day.
Deposits and withdrawals per month
Net external cashflow. Nothing here counts as profit or loss.
Month by month
Every month of every year, so you can read across a row for one year or down a column to compare the same month across years. Whole history, not the selected range.
Compare months
Click a single month in the grid to compare specific months — September 2025 against November 2020. Click a month name in the header instead to compare that month across every year.
| Month | Years | Total | Average | Best | Worst | Positive |
|---|
Dividend per month
Net cash received, with withholding tax shown below the line. Whole history, not the selected range.
Withholding tax: reclaimable vs. practically lost
The Netherlands' tax treaties cap withholding on an ordinary shareholding at 15% (0% for the United Kingdom) — a broker without automatic relief at source withholds the source country's own, usually higher, domestic rate, and the gap above the treaty ceiling is what can in principle be reclaimed. Country is read off the ISIN's own prefix, which is where a security is registered, not who withholds — a fallback, correct it below if it is wrong for a position.
| Position | Country | Note | Gross | Withheld | Treaty rate | Reclaimable | Practically lost |
|---|
Income by position
Share of dividend income received, not share of value — the gap between the two is where concentration hides. The seven largest positions by income, the rest folded into "Other".
Income projection, from measured growth
Holdings, dividend view
A dividend-scoped column set, not the general Positions table. Consistency is the same per-year total as a small sparkline — the fastest way to see a year that paid less than the one before it, which a single lifetime total hides. Open a row for every payment per share.
| Position | This year | All time | Consistency | Yield on cost | Current yield | Rhythm | Track record | Next expected |
|---|
Dividend safety
Not built. A safety score needs payout ratio, net debt/EBITDA and dividend-cut history per holding — data this account does not have and DEGIRO does not provide. Every free EU fundamentals source checked so far is either paid, too shallow, or (ESAP) not publicly reachable until mid-2027. Shown here only once a real source exists — see docs/prototypes/dividend-safety-buckets.html for what the design looks like against invented numbers.
Positions
The same series as the stacked chart, as numbers — so nothing depends on telling two colours apart. Everything ever traded, closed positions included — which is where most of the answer to “was that a good idea” lives. Result is what the position made; dividend is beside it rather than inside it, because they are different things. Result follows the period you picked; Dividend and % of bought are all-time and say so in their headers.
Transactions
Newest first, for the selected range.
| Date | Type | Product | Quantity | Price | Amount |
|---|
What this is, before the numbers
Income goal
Where the expected annual income from the Dividends tab stands against a goal per month, and when the goal would be met if the monthly deposit and the yield set above kept going and the dividends themselves kept growing at the rate below. Arithmetic on stated assumptions; none of them is a recommendation, and none of it is a forecast.
Notices
Everything the reconstruction wants you to say out loud. Anything that makes a number untrustworthy also stays pinned at the top of every section — this is where the rest of it lives, with the detail.
What is free, and what Plus adds
Everything computed from your own DEGIRO data is free and stays free. Plus adds external data and convenience, and never changes a computed figure: a paying and a free reader see the same portfolio value to the cent.
In preparation Planned at € 29 a year, paid once a year through a payment partner. No account, no login, no telemetry: a key by mail, checked offline in the extension.
| Part | Free you | Plus | Why here |
|---|---|---|---|
| Reconstruction, reconciliation, every chart, Holdings, Performance, Notices | yes | yes | From your own DEGIRO data |
| Dividend per share, raises and cuts, rhythm, expected annual income, track record | yes | yes | From your own payments |
| Export, bug report, interop | yes | yes | Your data, your file |
| Data bundle: dividend history, fundamentals, TER, benchmark ETFs | not fetched | weekly, signed | External data, running cost |
| Against the market (benchmark) | no | yes | The first part with a server side |
| Safety per payment, income per bucket | no | yes | Payout and debt come from the bundle |
| Reclaimable withholding tax per country | no | yes | Country and treaty rate from the bundle |
| Backup and restore of the raw store | no | yes | Convenience; touches no figure |
| Year review as PDF and shareable card | no | yes | Convenience |
| Box 3 reference date and dividend tax | no | yes | Two figures you copy into the tax return |
| Portfolio value, result, every computed figure | identical | identical | Rule 6: the same cent for everyone |
Licence
Paste the key from your confirmation mail. It is checked here, in the extension, against a public key: nothing is sent anywhere, and the key is stored outside your portfolio data. It is never part of an export or a bug report.
What Plus will never do
- Send your portfolio, or any part of it, to a server
- Ask for an account, a password or a device registration
- Fetch a selection of the bundle (that would reveal your positions); always the whole bundle
- Telemetry or usage measurement, anonymised or not
- Compute a free figure differently from a paid one
- Log in to DEGIRO; the extension reads a session your browser already holds, and that stays so