Before You Start
- Basic understanding of ETF investing and capital gains/losses
- Access to your brokerage account (e.g., DEGIRO, Trade Republic)
- Knowledge of your country’s tax residency
- Transaction history for your ETF purchases and sales
- Spreadsheet or tax software for tracking trades
Time needed: 1-2 hours for planning and executing a tax loss harvest session, plus time for recordkeeping
What you'll need: Internet access, brokerage login, access to your national tax office website, and if possible, a tax professional’s contact
ETF tax loss harvesting is a powerful strategy for European investors looking to reduce their taxable investment gains. But the practicalities and rules differ across countries—what works in Germany may not be allowed in France or Italy. In this hands-on guide, we’ll break down how to actually harvest ETF tax losses in Germany, France, the Netherlands, Spain, and Italy. You’ll get step-by-step instructions, EUR-based examples, and actionable ETF pairings for brokers like DEGIRO and Trade Republic.
If you want a broader overview of tax loss harvesting with these brokers, see How to Use EU Tax Loss Harvesting to Cut Investment Taxes With Trade Republic or DEGIRO (2026).
Step 1: Understand Tax Loss Harvesting in Your Country
What to do: Learn the rules for offsetting ETF losses against gains and other income in your country.
Why it matters: Each country has unique tax rules. Some countries allow you to offset all capital gains, others only certain types. The timing, reporting, and even which ETFs qualify for harvesting can differ.
- Germany: You can offset ETF capital losses against capital gains from other securities. Losses cannot offset regular income. Losses carry forward indefinitely. Brokers often report and withhold taxes automatically.
- France: Capital losses can offset capital gains from securities, but not other income. Losses carry forward for 10 years. You must report and track losses yourself (French tax authorities do not do this automatically).
- The Netherlands: The “Box 3” wealth tax system ignores realized gains and losses—tax loss harvesting is not effective here for most retail investors holding ETFs in standard accounts.
- Spain: Capital losses offset capital gains from the same savings income category. Losses can be carried forward for 4 years. Reporting is your responsibility, not the broker’s.
- Italy: Similar to Spain: losses offset gains, and unused losses carry forward for 4 years. You must track and report losses yourself, unless using a “risparmio amministrato” account where the broker handles some reporting.
What can go wrong: If you harvest a loss but don’t report it correctly, you may lose the tax benefit. In the Netherlands, you might waste time—harvesting losses does not reduce Box 3 tax. In other countries, improper timing (e.g., missing the deadline) can mean your loss isn’t usable for the current tax year.
Pro Tip
Keep a dedicated spreadsheet or use tax software to log every ETF sale and the associated gain/loss. This is especially critical in France, Spain, and Italy, where you must track and report losses manually.
Step 2: Identify Eligible ETFs and Calculate Unrealized Losses
What to do: Review your portfolio for ETFs trading below your purchase price. List each ETF, its ticker, purchase price, and current price. Calculate your potential losses in EUR.
Why it matters: You can only harvest losses on positions you actually sell at a loss. You need to know which ETFs are eligible and the size of the potential tax benefit.
- Log in to your broker (e.g., DEGIRO or Trade Republic).
- Go to Portfolio → Holdings.
- Export or copy your holdings list to a spreadsheet.
- For each ETF, note:
- Ticker & ISIN (e.g., iShares Core MSCI World UCITS ETF EUR (Acc), ISIN: IE00B4L5Y983)
- Your average purchase price (cost basis)
- Current market price
- Number of shares held
- Potential loss = (Current Price - Purchase Price) × Shares (if negative)
Example: You bought 50 shares of IE00B4L5Y983 at €100 each (€5,000 total). They now trade at €92. Your potential loss is (€92 - €100) × 50 = –€400.
What can go wrong: Failing to account for past sales or splits can lead to incorrect cost basis. If you have multiple purchase lots, calculate losses for each lot separately.
Pro Tip
On DEGIRO, you can see the average purchase price directly under each ETF in your portfolio. On Trade Republic, tap the ETF, then scroll to “Performance” to see your total gain/loss in EUR.
Step 3: Check for Replacement (Wash Sale) Rules
What to do: Understand your country’s “wash sale” or replacement rules before selling and rebuying similar ETFs.
Why it matters: Some countries (like Germany and Spain) allow you to sell an ETF and immediately buy a similar one, but others (like France and Italy) have rules to prevent “artificial” losses if you repurchase the same or a nearly identical ETF too quickly.
- Germany: No strict wash sale rule for individuals. You can sell and immediately buy a similar ETF.
- France: A 2-month rule applies: If you buy back the same ETF within 2 months, your loss may be disallowed.
- Netherlands: Not applicable (see Step 1).
- Spain: 2-month (61-day) rule: Losses are disallowed if you buy the same ETF or substantially identical security within 2 months before or after the sale.
- Italy: 30-day rule: If you buy back the same ETF within 30 days, the loss is not immediately deductible.
What can go wrong: Accidentally buying back the same or a “substantially identical” ETF too soon will void your harvested loss. “Substantially identical” usually means same index, same distributor, and same accumulation/distribution policy—but this is a grey area in many countries.
Pro Tip
To stay compliant, swap into a similar (but not identical) ETF: e.g., sell iShares Core MSCI World (IE00B4L5Y983) and buy Xtrackers MSCI World (IE00BJ0KDQ92). Choose different providers or index variants when possible.
Step 4: Execute the Tax Loss Harvesting Trade
What to do: Sell your loss-making ETF, then (if allowed) immediately buy a different ETF with similar exposure to stay invested.
Why it matters: This allows you to realize the loss for tax purposes while maintaining your market exposure, minimizing the risk of missing a market rebound.
- Log in to your broker (e.g., DEGIRO).
- Navigate to Portfolio → Holdings → Select the ETF to sell (e.g., IE00B4L5Y983).
- Click “Sell”, enter the number of shares, and confirm.
- Immediately, search for your chosen replacement ETF (e.g., Xtrackers MSCI World UCITS ETF, ISIN: IE00BJ0KDQ92).
- Click “Buy”, enter the amount you wish to reinvest (ideally, total proceeds from your sale), and confirm.
On Trade Republic:
- Tap Portfolio → Select ETF → “Sell” → Confirm sale.
- Tap “Discover” → Search for replacement ETF → “Buy” → Enter amount → Confirm.
Expected outcome: You should now see your original ETF sold and the replacement ETF purchased, with the new position’s value in EUR visible in your portfolio.
What can go wrong: Large bid/ask spreads can eat into your realized loss. If the market moves quickly between your two trades, you could end up buying back at a higher price, reducing your exposure or missing out on gains. On some brokers, settlement delays mean your sale proceeds may not be instantly available for reinvestment.
Pro Tip
Do your swaps early in the day to avoid end-of-day volatility. On DEGIRO, you can set limit orders for both the sale and purchase to better control execution prices.
Step 5: Record the Transaction and Prepare for Tax Reporting
What to do: Immediately log your sale (date, ETF, ISIN, shares, sale price, loss realized) and the details of your replacement purchase. Save your broker’s trade confirmation PDFs.
Why it matters: Tax authorities may require detailed evidence of your trades when you claim the loss. Good records make tax filing much easier and help you avoid mistakes.
- Download trade confirmations from your broker’s “Documents” or “Reports” section.
- Update your spreadsheet or tax software with the sale and purchase details.
- For France, Spain, and Italy: Set a calendar reminder for the tax reporting deadline (usually by June/July of the following year).
- For Germany: Check your broker’s annual tax certificate—most brokers (especially DEGIRO and Trade Republic) will include harvested losses in their report for automatic offset.
What can go wrong: Missing or incomplete records may prevent you from claiming the loss. If you forget to report the loss in countries where self-reporting is required, you lose the benefit.
Pro Tip
In Spain and Italy, maintain a running total of harvested losses and carryforwards—these can offset future gains if not used in the current year. For France, track the 10-year carryforward window for each loss.
Step 6: EUR-Denominated Case Study
Let’s see a real example for a German investor using DEGIRO:
- Investor profile: Resident in Germany, using DEGIRO, holding €10,000 in iShares Core MSCI World UCITS ETF (IE00B4L5Y983).
- Scenario: ETF dropped from €100 to €92 per share. Investor owns 100 shares.
- Action: Sells all 100 shares at €92 (€9,200 received), realizing a –€800 capital loss.
- Replacement: Immediately buys 100 shares of Xtrackers MSCI World UCITS ETF (IE00BJ0KDQ92) at €92 each (€9,200 invested).
- Outcome: Maintains global equity exposure; realizes €800 loss for tax purposes.
- Tax effect: If the investor has €1,500 in capital gains from other ETFs this year, only €700 is taxable after offsetting the €800 loss.
For Spain, the same process applies, but the investor must not repurchase the same or a “substantially identical” ETF within 2 months before or after the sale.
Step 7: ETF Pair Suggestions for Effective Swaps (DEGIRO & Trade Republic)
Choose ETF pairs tracking the same index but from different providers. This minimizes risk of wash sale violations and preserves your investment strategy.
| Index | ETF A (Sell) | ETF B (Buy) |
|---|---|---|
| MSCI World | iShares Core MSCI World (IE00B4L5Y983) | Xtrackers MSCI World (IE00BJ0KDQ92) |
| MSCI Emerging Markets | Lyxor MSCI EM (LU0635178014) | iShares MSCI EM (IE00B4L5YC18) |
| S&P 500 | iShares Core S&P 500 (IE00B5BMR087) | Amundi S&P 500 (LU1681048804) |
| Euro Stoxx 50 | Xtrackers Euro Stoxx 50 (LU0380865021) | Lyxor Euro Stoxx 50 (LU0274208692) |
| Global Aggregate Bond | iShares Global Aggregate Bond (IE00BDBRDM35) | Xtrackers Global Aggregate Bond (IE00BG47KH54) |
Both DEGIRO and Trade Republic offer these ETF pairs and allow EUR-denominated trading. Always check ISINs and liquidity before trading.
Common Mistakes
- Ignoring wash sale/replacement rules: Repurchasing the same ETF too soon can void your tax benefit.
- Harvesting in the Netherlands: Tax loss harvesting is ineffective under Dutch Box 3 rules for most retail investors.
- Poor recordkeeping: Failing to save trade confirmations or log losses can make tax reporting difficult or impossible.
- Trading illiquid ETFs: Large spreads can reduce your realized loss or cause poor execution.
- Waiting too late in the year: Trading deadlines matter. If you miss the last settlement date of the year, your loss may count for the next tax year.
Next Steps
- Review your country’s tax deadlines and reporting requirements for capital losses.
- Set up regular portfolio reviews (quarterly or after market corrections) to identify harvesting opportunities.
- Consider reading How to Use EU Tax Loss Harvesting to Cut Investment Taxes With Trade Republic or DEGIRO (2026) for more practical examples.
- For strategy diversification, see Passive vs. Active Investing in Europe: 2026 Guide for ETF Buyers.
- Consult a local tax advisor if you have complex holdings or cross-border issues.
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.