Rentabilitäts- und Machbarkeitsanalyse für den Ankauf von Mehrfamilienhäusern durch eine Kapitalgesellschaft. Ausgelegt auf Objekte ab 8 Wohneinheiten in B- und C-Lagen mit hohem Fremdkapitalanteil und optionalem Sanierungsbedarf.
→ Web-Tool öffnen (passwortgeschützt) · Excel-Modell herunterladen
Es gibt zwei Werkzeuge mit identischem Rechenkern:
| Zweck | |
|---|---|
Web-Tool (index.html) |
Screening. Schieberegler, Ergebnisse in Echtzeit, keine Installation. Eingaben bleiben im Browser (localStorage) und lassen sich als JSON pro Objekt sichern. |
Excel-Modell (xlsx/) |
Arbeitsmodell. 12 Blätter, durchgängig formelbasiert, an Bank und Steuerberater weitergebbar, pro Objekt kopierbar. |
Beide werden bei jedem Build gegeneinander validiert (siehe Validierung).
Gesamtinvestitionskosten aus Kaufpreis, Erwerbsnebenkosten (Grunderwerbsteuer je Bundesland, Notar, Makler, Due Diligence), Sanierungsbudget inklusive Puffer und Bauzeitzinsen. Aufteilung in Grund und Boden (nicht abschreibbar) und Gebäude als AfA-Bemessungsgrundlage.
15 %-Test nach § 6 Abs. 1 Nr. 1a EStG. Übersteigt der Instandsetzungsaufwand der ersten drei Jahre 15 % der Gebäude-Anschaffungskosten, werden sämtliche Instandsetzungskosten zu anschaffungsnahen Herstellungskosten und sind nur über die AfA abziehbar — der Sofortabzug entfällt vollständig. Das Modell prüft das automatisch und rechnet mit dem tatsächlich zulässigen Sofortabzug weiter. Bei Sanierungsobjekten in typischer Größenordnung greift die Regel fast immer; sie ist der größte einzelne Steuerhebel im Ankauf.
Abschreibung in drei Schichten: linear auf den Altbestand, linear auf aktivierte Sanierungskosten ab Fertigstellung, sowie erhöhte Absetzungen nach § 7h/§ 7i EStG (8 × 9 %, danach 4 × 7 %) für den begünstigten Anteil.
Sollmiete aus Wohnen, Gewerbe, Stellplätzen und sonstigen Erträgen. Lineare Annäherung der Ist-Miete an die Zielmiete bis zum gewählten Stabilisierungsjahr, danach indexierte Fortschreibung. Leerstand getrennt nach struktureller Quote und zusätzlichem Bauzeitleerstand, der über die Bauzeit anteilig ausläuft.
Nicht umlagefähige Kosten: Verwaltung je Wohneinheit, Instandhaltung je m² (getrennt für die Zeit vor und nach der Sanierung), Mietausfallwagnis und nicht umlagefähige Nebenkosten.
Drei Tranchen mit monatlicher Annuität, jahresweise aggregiert:
- Bankdarlehen — Betrag oder Anteil an der Gesamtinvestition, mit Zinsbindung und getrennt parametrierter Anschlussfinanzierung.
- KfW/BEG — mit tilgungsfreien Anlaufjahren und Tilgungszuschuss.
- Nachrang oder Verkäuferdarlehen — wahlweise endfällig.
Die Restschuld bei Zinsbindungsende wird geschlossen berechnet, nicht rekursiv aus der eigenen Zeile abgeleitet — sonst entstünde in Excel ein Zirkelbezug.
- Variante A: erweiterte Grundstückskürzung nach § 9 Nr. 1 Satz 2 GewStG. Körperschaftsteuer plus Solidaritätszuschlag, keine Gewerbesteuer auf Miet- und Veräußerungserträge.
- Variante B: normale Gewerbesteuerpflicht, inklusive Hinzurechnung von 25 % der Schuldentgelte oberhalb des Freibetrags (§ 8 Nr. 1a GewStG) und einfacher Kürzung.
Der kumulierte Unterschied beider Varianten über die Haltedauer inklusive Exit wird ausgewiesen — er beziffert, was die richtige Strukturierung wert ist.
Steuerliche Überleitung mit Rückrechnung des kalkulatorischen Mietausfallwagnisses und Verlustvortrag über die Laufzeit.
Verkaufspreis über Faktor auf die Jahresnettomiete oder über Zielrendite. Buchwert aus Anschaffungskosten zuzüglich aktivierter Sanierung abzüglich kumulierter AfA, Veräußerungsgewinn und Steuer in beiden Varianten, Netto-Exit-Erlös nach Tilgung der Restschuld. Daraus Eigenkapital-IRR und Equity Multiple.
- Quickcheck — Ampelbewertung: Investitionsfaktor, Nettoanfangsrendite, DSCR, Cash-on-Cash, IRR, Eigenkapitalquote, Beleihungsauslauf, Zinspuffer.
- Break-even — Kipppunkt je Parameter mit Puffer in Prozent: Sollmiete, Miete je m², Leerstand, Zins, Anschlusszins, Kaufpreis (nach DSCR und nach Cash-on-Cash), Sanierungsbudget, Instandhaltung, Exit-Faktor.
- Sensitivität — fünf Zwei-Parameter-Matrizen, unter anderem DSCR im ersten Jahr nach Zinsbindung.
- Szenarien — neun Szenarien mit vollständiger Neuberechnung von Finanzierungsstruktur, Tilgungsplan, Steuern und Exit.
- Liquiditätsbedarf der Anlaufphase, getrennt vom Eigenkapital ausgewiesen.
Die Break-even-Werte sind geschlossen gelöst, nicht iterativ gesucht — sie aktualisieren sich mit jeder Eingabe mit. Der praktisch wichtigste ist der tragbare Anschlusszins: bei 80–90 % Fremdkapital ist das Refinanzierungsrisiko der größte Einzelhebel.
index.html ausgelieferte Seite: Passwortabfrage mit verschlüsseltem Inhalt
xlsx/ gebautes Excel-Modell
build/tool.html unverschlüsselte Zwischenstufe (nicht versioniert)
src/
engine.js Rechenkern in JavaScript
tool.template.html Oberfläche; der Rechenkern wird beim Build injiziert
gate.template.html Passwortabfrage und Entschlüsselung im Browser
build_html.py baut build/tool.html
encrypt.mjs verschlüsselt build/tool.html zu index.html
build_model.py baut das Excel-Modell (openpyxl)
validate.py Validierung, siehe unten
requirements.txt
index.html, build/tool.html und die Excel-Datei sind erzeugte Dateien. Änderungen an der
Rechenlogik gehören in src/engine.js (Web) und src/build_model.py (Excel) — und immer in
beide, sonst laufen die Rechenkerne auseinander. validate.py erkennt genau das.
python3 -m venv venv && ./venv/bin/pip install -r requirements.txt
./venv/bin/python src/build_model.py # Excel-Modell erzeugen
./venv/bin/python src/build_html.py # build/tool.html erzeugen
SEITEN_PASSWORT='…' node src/encrypt.mjs # daraus die verschlüsselte index.html
./venv/bin/python src/validate.py # Validierung (benötigt zusätzlich Node.js)Das Passwort wird ausschließlich über die Umgebungsvariable übergeben. Es steht weder im
Repository noch in der ausgelieferten Seite; encrypt.mjs bricht ab, falls es das dort findet.
GitHub Pages ist statisches Hosting und kennt keine Zugangskontrolle. Eine Passwortabfrage in JavaScript allein wäre wirkungslos — der Quelltext ist für jeden lesbar. Deshalb wird nicht der Zugang geprüft, sondern der Inhalt verschlüsselt:
- Aus dem Passwort leitet PBKDF2-HMAC-SHA-256 mit 600.000 Iterationen einen 256-Bit-Schlüssel ab.
- Die gesamte Seite wird mit AES-256-GCM verschlüsselt; ausgeliefert werden nur Salt, IV und Chiffrat.
- Die Entschlüsselung läuft im Browser über die WebCrypto-API. Das Passwort verlässt das Gerät nicht, es gibt keinen Server, der es prüft.
Ohne Passwort ist der Inhalt nicht rekonstruierbar — auch nicht aus dem Seitenquelltext.
Grenzen, die daraus folgen:
- Das Passwort ist das einzige Geheimnis. Wer es kennt, hat Zugriff; es lässt sich nicht einzeln entziehen, nur für alle gemeinsam wechseln.
- Das Chiffrat ist öffentlich abrufbar und damit offline angreifbar. Die hohe Iterationszahl macht das teuer, ersetzt aber kein ausreichend langes Passwort.
- Passwortwechsel heißt:
encrypt.mjsmit dem neuen Passwort erneut ausführen und die neueindex.htmlpushen. Wer die alte Datei zuvor gespeichert hat, kann sie mit dem alten Passwort weiterhin öffnen — die Git-Historie enthält sie ebenfalls. - Für echte, entziehbare Zugangskontrolle bräuchte es ein Hosting mit serverseitiger Authentifizierung; das leistet GitHub Pages nicht.
src/validate.py prüft drei Dinge:
- Namenskollisionen. Ein benannter Bereich wie
FK1ist zugleich eine gültige Zelladresse (Spalte FK, Zeile 1) — Excel würde ihn als Zellbezug lesen und still einen leeren Wert liefern. Alle 257 Namen werden dagegen geprüft. - Vollständige Neuberechnung der Excel-Datei mit einer unabhängigen Formel-Engine; jede Fehlerzelle wird gemeldet. Dieser Schritt hat Zirkelbezüge in den Tilgungsplänen aufgedeckt, die durch geschlossene Formeln ersetzt wurden.
- Abgleich beider Rechenkerne über 27 Kennzahlen und alle neun Szenarien. Toleranz 10⁻⁶; erreicht werden derzeit rund 10⁻¹⁵, also Maschinengenauigkeit.
Zusätzlich validieren sich die Break-even-Formeln selbst: setzt man den Ziel-DSCR gleich dem tatsächlichen DSCR, geben alle Kipppunkte exakt die aktuellen Eingabewerte zurück.
Kalkulations- und Entscheidungsinstrument, keine Steuer- oder Rechtsberatung.
Bewusste Vereinfachungen: Vollvalutierung im Zeitpunkt 0, monatliche Annuitäten, keine Mindestbesteuerung nach § 10d EStG, keine gesondert geführten gewerbesteuerlichen Fehlbeträge, keine Grunderwerbsteuer-Besonderheiten bei Share Deals, keine Umsatzsteuer bei Gewerbeeinheiten, keine Besteuerung auf Gesellschafterebene.
Die hinterlegten Grunderwerbsteuersätze im Blatt Referenz ändern sich länderweise und sind vor Verwendung zu prüfen. Die Beispielwerte sind ein plausibel kalibrierter Modellfall, keine Marktrecherche.
Der Zugangsschutz der veröffentlichten Seite ist Verschlüsselung mit einem gemeinsamen Passwort, keine Benutzerverwaltung — siehe Zugangsschutz.
Ergebnisse vor Ankauf mit Steuerberater und Finanzierer verifizieren.