Kaptal

FX cost basis

Your broker reports the price move. Your tax office taxes the price move and the currency move. This works out which is which — and flags the case where a position you sold at a loss still owes tax.

No competing tool computes this split

The trade


The currency your return is filed in — not the one your broker reports in.


%

19 % in Poland, 26.375 % in Germany with Soli, 0 % in Singapore and the UAE.

What gets taxed

Taxable gain, home currency

    Worked example

    A Polish investor buys 100 shares at $100 when the NBP rate is 3.80 PLN/USD, and sells them at $95 when the rate is 4.40 PLN/USD. The broker app shows a loss of $500. The tax return shows a gain of 3 800 zł and a bill of 722 zł.

    Cost, 100 × $100 × 3.8038 000 zł
    Proceeds, 100 × $95 × 4.4041 800 zł
    Taxable gain3 800 zł
    — of which the share price−1 900 zł
    — of which the exchange rate5 700 zł
    Belka tax at 19 %722 zł

    Why does the tax office see a gain when my broker shows a loss?

    Because the two are measuring in different currencies. A broker reports in the currency the account is held in and has no idea where you are tax resident, so its profit figure is the price move alone. A tax return is computed in your home currency: the purchase is converted at the rate on the day you bought, the sale at the rate on the day you sold. Every exchange-rate move between those two dates lands inside the taxable gain.

    This is not an edge case. Between 2021 and 2025 the złoty, the pound and the yen each moved more than 20 % against the dollar. A US-listed holding bought before such a move and sold after it can be a loss at the broker and a taxable gain at home at the same time, and both numbers are correct.

    How the split is calculated

    The home-currency gain decomposes exactly, with nothing left over:

    Asset partunits × (sell price − buy price) × rate on the buy date
    Currency partunits × sell price × (rate on the sell date − rate on the buy date)

    There is a second consistent reading, which values the currency move against the cost instead and leaves a cross term to allocate. Neither is more correct; what matters is saying which one is on screen. This page uses the first, and every figure it prints can be checked by hand from the two rows above.

    Which exchange rate should I use?

    That is a question about your own rulebook, not about arithmetic, so this tool asks for the rate rather than guessing it. The rules that catch people out:

    Why a tracker has to store the rate, not look it up later

    The rate that matters is the one that applied on the day of the trade. A portfolio tool that converts everything at today's rate — which is what most of them do — produces a cost basis that changes every morning, and a tax figure that cannot be reconciled with anything. Storing the rate alongside the transaction is a schema decision, and it is why retrofitting this into an existing tracker is so much harder than building it in.

    Common questions

    Is a currency gain taxable if the share price never moved?

    In most countries, yes. Poland, Germany, the Netherlands and the United States all compute the gain in the home currency: the cost is converted at the rate on the purchase date and the proceeds at the rate on the sale date. If the home currency weakened between those two dates, the difference is a taxable gain even though the position was flat in its own currency.

    Which exchange rate applies — the transaction date or the settlement date?

    It depends on the country. Poland uses the NBP average rate of the last business day before the transaction. Germany and the Netherlands generally use the rate on the transaction date. The United States allows the spot rate on the date of the transaction. Enter whichever rate your rulebook names; this tool does the arithmetic, not the rate selection.

    Why does my broker show a different gain from my tax return?

    A broker reports in the account currency and does not know your tax residence, so it cannot convert anything. Its profit figure is the price move alone. A tax return is computed in your home currency, so it also contains every exchange-rate move between purchase and sale. The two numbers answer different questions and rarely match.

    Can I be taxed on a position I sold at a loss?

    Yes. If the asset fell 5 % in its own currency while your home currency fell 15 % against it, the sale still converts into more home currency than the purchase cost, and that difference is the taxable gain. This is the single most common surprise for cross-border investors.

    Estimate, not tax advice. The arithmetic here is exact; the rate selection, the treatment of fees and whether losses can be offset are all country-specific and change. The tool models a single round-trip position with one buy and one sell — partial sales need a FIFO or average-cost pass over the whole holding, which is what a transaction-level tracker is for.