ETF cost calculator: every annual cost of holding one fund
Cost comparisons usually stop at the ongoing charge, which is the one component that is the same wherever you live. Everything else about owning the same fund differs by country and by broker: what the fund loses to withholding tax before you see a cent, what your broker charges to buy and hold it, and what your own tax authority takes annually for the privilege of holding it at all.
The calculator
How it works
For one fund and one country the calculator assembles four annual components and shows them separately rather than as a single blended figure. Fund cost uses the tracking difference where the fund has one on record and the ongoing charge where it does not, and it says which of the two it used. Dividend leakage is the withholding tax suffered inside the fund. Broker cost is computed for every broker available in your country. The tax overlay is the national one — a deemed-return charge in the Netherlands, the Vorabpauschale in Germany, the transaction tax and Reynders levy in Belgium, the annual stamp duty in Italy. A monthly mode replays the same arithmetic contribution by contribution instead of on a static balance.
What it assumes
This is a cost model, not a return forecast: it answers what holding costs, not what holding earns. Tax parameters resolve from the shared rules file the simulators use, and some of them are provisional rather than enacted. Belgium's transaction tax is reported inside the broker column because it is charged per trade, on each side, which is where a resident actually meets it. The model assumes you hold rather than sell, so a country that only taxes realised gains contributes nothing here.
The background, in prose
The total cost of owning an ETF — all four charges, not just the TER explains the rules this calculator applies, why they are shaped the way they are, and what they mean for choosing a fund.
Common questions
- Why does the tax column sometimes disappear?
- It is hidden when every broker in the table returns zero annual tax drag for the fund and amount you selected — below a national exemption, or in a country whose charge only applies on sale. A column of zeros invites the reading that tax has been forgotten, so the table drops it instead and keeps the components that are actually doing something.
- Why is Belgian transaction tax shown as a broker cost?
- Because that is how it behaves. The tax is charged per transaction and on each side of it, so it scales with how often you trade rather than with how long you hold. Putting it in the annual tax column would make an active investor and a buy-and-hold investor look identical, which is precisely the distinction it creates.
- Fund cost shows the TER rather than a tracking difference — why?
- Because that fund has no tracking difference on record, and the calculator says so rather than silently substituting one number for the other. Tracking difference has to be measured against an index over a real period; where nobody has published that measurement, the ongoing charge is the honest fallback, and it will usually overstate the true cost slightly.