Before You Start
- You are a German tax resident filing your 2026 tax return (for gains in 2025).
- You have invested in stocks and/or ETFs (e.g., iShares Core MSCI World UCITS ETF, Xtrackers DAX UCITS ETF) via European brokers like Trade Republic, DEGIRO, or Interactive Brokers.
- You have received or can download your annual tax statement (Jahressteuerbescheinigung or equivalent) from your broker.
- You know your tax-free allowance for capital gains (Sparer-Pauschbetrag) for 2025 is €1,000 for singles, €2,000 for married couples (as of 2024; check for updates).
- You are ready to use Elster (the official German tax platform) or paper tax forms.
Time needed: 45–90 minutes (depending on number of trades and platforms used)
What you'll need: Broker account(s), annual tax statement(s), access to Elster or printed Anlage KAP forms, a calculator or spreadsheet.
Reporting ETF and stock gains on your German tax return can seem intimidating, but with the right steps, you can ensure accuracy and avoid unnecessary tax penalties. This guide walks you through every stage, using real EUR-based examples and instructions for popular European platforms. We’ll reference the Anlage KAP form, explain thresholds, and flag mistakes to avoid.
Step 1: Gather Your Broker Tax Documentation
What to do: Log in to each broker you’ve used in 2025 and download your annual tax statement. This is called the Jahressteuerbescheinigung if you use a German broker (e.g., Trade Republic), or a tax summary/tax report for international brokers (e.g., DEGIRO, Interactive Brokers).
- Trade Republic: Go to “Profil” → “Dokumente” → Download “Jahressteuerbescheinigung 2025”.
- DEGIRO: Go to “Reports” → “Annual” → Download “Annual Statement 2025”.
- Interactive Brokers: Go to “Reports” → “Tax” → Download “Annual Tax Summary 2025”.
Why it matters: This document lists your total capital gains, dividends, withholdings, and taxes already paid on your behalf. You need this data to fill the Anlage KAP form accurately.
What can go wrong: If you mix up tax years, or use partial statements, your figures will be off. For non-German brokers, the document may not be in German tax format—double-check the “realised gains” and “withholding tax” sections.
Pro Tip
If you use multiple brokers, create a simple spreadsheet to summarise total realised gains, dividends, and taxes paid across all accounts. This helps avoid double-counting or missing income.
Step 2: Calculate Your Net Capital Gains
What to do: Identify your total realised gains from ETF and stock sales in 2025. This is the difference between the sale price and the purchase price, minus any allowable transaction fees.
- Example: You sold 10 shares of iShares Core MSCI World UCITS ETF (ISIN: IE00B4L5Y983) for €850. You bought them for €700. Transaction fee: €1.
- Net gain = €850 - €700 - €1 = €149
Repeat for all sales and sum the total. Do this for each broker, then add up the totals.
Why it matters: Only realised gains are taxable. Unrealised (open) positions are ignored for now. Fees reduce your taxable gain.
What can go wrong: Forgetting to subtract transaction fees, or accidentally including unrealised gains, can inflate your tax liability.
Pro Tip
Most brokers show realised gains in EUR, but if your trades were in USD or GBP, check the broker’s EUR conversion rate for tax purposes. The Bundesbank’s official exchange rates can be used for manual conversions.
Step 3: Apply the Sparer-Pauschbetrag (Tax-Free Allowance)
What to do: Deduct your tax-free allowance (€1,000 for singles, €2,000 for married couples) from your total capital gains. This allowance covers all investment income, including dividends and interest.
- Example: Total realised gains: €1,800. Dividends: €250. Total investment income: €2,050.
- For a single person: €2,050 - €1,000 = €1,050 taxable
Why it matters: You only pay tax on the amount above this threshold. If you already set a Freistellungsauftrag (exemption order) with your German broker, part or all of your allowance may have been used automatically.
What can go wrong: If you have multiple brokers and set exemption orders with more than one, you may accidentally exceed the total allowed amount. The Finanzamt may reject excess amounts, leading to confusion.
Pro Tip
Check your broker’s tax statement for how much of your Sparer-Pauschbetrag was already used. If you didn’t set a Freistellungsauftrag, you can claim the allowance on your tax return.
Step 4: Fill in Anlage KAP (Investment Income Form)
What to do: Open Elster (official German tax portal) or download the Anlage KAP form (PDF). This is where you report capital gains, dividends, and withholding taxes.
- Section 1 (Zeile 7–13): Enter all domestic dividends and capital gains from German brokers. Most German brokers already withhold taxes, so these are usually pre-filled in the Jahressteuerbescheinigung.
- Section 2 (Zeile 14–18): Enter foreign dividends and capital gains (e.g., from DEGIRO, Interactive Brokers).
- Section 15–18: Enter foreign withholding tax paid (e.g., if a US ETF withheld 15% on dividends).
- Section 49–51: If you have not set a Freistellungsauftrag or have unused allowance, enter your Sparer-Pauschbetrag here.
- Example: You sold €1,800 of ETFs via DEGIRO and received €250 in dividends. No tax was withheld at source. Enter these as “Kapitalerträge, die noch nicht dem inländischen Steuerabzug unterlegen haben.”
Why it matters: Only by filling Anlage KAP correctly will your gains be taxed at the correct 25% flat rate (Abgeltungssteuer) plus solidarity surcharge and church tax (if applicable).
What can go wrong: If you skip Anlage KAP, the Finanzamt may investigate, or you could pay tax twice (if your German broker already withheld tax). Misreporting foreign income can trigger penalties.
Pro Tip
If you use Elster, the system will auto-calculate your tax liability once you enter all figures. Save a draft and double-check all numbers before submitting.
Step 5: Report Withholding Tax Paid Abroad
What to do: If you received dividends or gains from non-German sources (e.g., US-listed ETFs, Irish UCITS ETFs), and foreign withholding tax was deducted, enter these amounts in the respective “Anrechnung ausländischer Quellensteuer” section on Anlage KAP (usually Zeile 51).
- Example: You received €100 in dividends from a US ETF. The US withheld €15 (15%). Enter €100 as foreign dividend income, and €15 as foreign withholding tax paid.
Why it matters: Germany allows a credit for foreign withholding tax up to certain limits (typically 15% for US income). This prevents double taxation.
What can go wrong: If you forget to claim this credit, you pay too much tax. If you overclaim (e.g., enter the gross dividend as a tax credit), your tax return will be rejected.
Pro Tip
Keep all dividend statements from your broker as proof of foreign withholding tax. If you invest via Irish UCITS ETFs (like iShares Core MSCI World), the withholding is usually handled at the fund level, so you don’t need to report it separately.
Step 6: Submit and Save Your Tax Return
What to do: Review your entries in Elster or on paper. Make sure:
- All capital gains and dividends are included
- Sparer-Pauschbetrag is claimed (if not already used)
- Foreign withholding tax is credited correctly
Submit your tax return via Elster or post. Save a PDF copy of your submission and all supporting documents (broker statements, calculations) for at least 10 years.
Why it matters: If the Finanzamt has questions, you’ll need to provide documentation. Digital records are accepted if legible.
What can go wrong: Submitting with errors can delay your refund or trigger audits. Missing documentation means you may not be able to defend your calculations.
Pro Tip
Set a calendar reminder to download all broker statements each January—some brokers only keep these for a limited time.
Common Mistakes When Reporting ETF and Stock Gains on Your German Tax Return
- Forgetting foreign broker accounts: The Finanzamt receives data from many international brokers. Omissions can lead to penalties.
- Confusing realised and unrealised gains: Only report gains from completed sales.
- Ignoring transaction fees: Not deducting fees overstates your taxable gain.
- Overclaiming the Sparer-Pauschbetrag: The total allowance is €1,000/€2,000, regardless of number of brokers.
- Not reporting foreign withholding tax: Missing this means you pay more tax than necessary.
- Incorrect ISIN or ETF names: Always use the official ISIN and full ETF name as shown in your broker statement.
- Relying solely on broker pre-filled data: Especially with international brokers, you must check and adjust entries for German tax rules.
Next Steps
- Want to optimise your platform choice? Compare European brokers in Interactive Brokers vs. DEGIRO: Which Is Best for European Stock and ETF Investors in 2026?.
- Curious about how ETF dividends are taxed and paid? Read How Do Dividend ETF Payouts Work for French, German, and Dutch Investors?.
- Track updates to German tax law each year on the official Elster portal.
Disclaimer: This article is for educational purposes only and does not constitute financial advice. Always do your own research and consider consulting a qualified financial advisor before making investment decisions.