Ignoring Kaufnebenkosten in the return calculation. The €30,000 in transaction costs is real money that's spent on day one. Any honest ROI calculation must include it as part of your total investment. A "5% gross yield" property with 10% transaction costs has a very different return profile than a 5% yield with 3% transaction costs.
Using gross yield to make decisions. A property with a 4.5% gross yield and €5,000/year in non-recoverable costs performs very differently from one with a 3.8% gross yield and €1,500/year in costs. Always calculate through to net yield at minimum.
Forgetting about Hausgeld increases. The Hausgeld is set by the homeowners' association and tends to rise over time — especially after major renovation decisions. What starts at €200/month can become €350/month over a decade.
Overestimating appreciation. German property prices rose dramatically from 2010–2022 (5–10% annually in major cities), then corrected in 2022–2024 as interest rates rose. Long-term average appreciation in Germany historically sits closer to 1–3% depending on location. Building a return model that requires 5%+ annual appreciation to work is risky.
Not modeling the Anschlussfinanzierung. Many investors lock in a 10-year rate and don't think about what happens in Year 11. Model at least two scenarios: rates stay similar, and rates rise by 1.5–2 percentage points.
Treating the tax loss as permanent. The rental tax loss is largest in the early years when interest payments are high. As you pay down the mortgage, the interest deduction shrinks, AfA continues at the same rate, and eventually your rental income becomes taxable. Plan for this transition.
Comparing property ROI to stock market returns on different bases. Property returns are leveraged, and stock returns are typically unleveraged (unless you're trading on margin). An 8% return on a leveraged property investment is not the same risk-adjusted return as 8% from a diversified ETF portfolio. Both can be excellent choices — just make sure you're comparing like with like.