FINANZSTRUKTUR IMMOBILIENBEWERTUNG
Version 2026.36.26 · Stand: 24. Juli 2026
www.privatbilanz.de/werkstatt/


WAS IST DAS HIER?
=================

FINANZSTRUKTUR Immobilienbewertung ist ein Single-File-HTML-Programm
zur Ermittlung des VERKEHRSWERTS (Marktwerts) eines Immobilienbestands
nach der Immobilienwertermittlungsverordnung (ImmoWertV 2021). Je Objekt
stehen das Ertragswert-, Sachwert-, Vergleichswert- und Bodenwertverfahren
zur Verfuegung.

Jedes Objekt wird einzeln erfasst und bewertet; das Tool aggregiert
auf Portfolio-Ebene und ist mehrmandantenfaehig (Mandant/Firma als
Ebene ueber den Objekten). Steuerliche Werte (Bedarfswert,
Grundsteuerwert) sind bewusst NICHT Gegenstand dieses Programms -- sie
werden in einer eigenen Anwendung gefuehrt.

Die Anwendung laeuft vollstaendig lokal im Browser. Es findet keine
Erhebung und keine Uebertragung von Eingabe- oder Berechnungsdaten an
Server des Entwicklers oder Dritter statt. Eine Internetverbindung ist
nicht erforderlich (Schriften und Logo sind Base64-eingebettet).

Diese Eigenschaft ist im Tool nachpruefbar: Der Status-Knopf oben im
Header ("Lokal - keine autom. Uebertragung") und der Block
"Sicherheitspruefung" in der Administration zeigen die erzwungene
Netzwerksperre (Content-Security-Policy mit connect-src 'none') im
Klartext und listen die tatsaechlich geladenen Ressourcen auf -- Nachweis
statt Behauptung. Die Sperre wird vom Browser erzwungen; das Anklicken
der Impressum-/Datenschutz-Links bleibt erlaubt (Navigation ist keine
Verbindung), daher "keine AUTOMATISCHE Uebertragung".


CHARAKTER DIESER ANWENDUNG (WICHTIG)
====================================

Diese Software ist Teil der WERKSTATT auf privatbilanz.de -- einem
bewusst vom Hauptprojekt getrennten Bereich. Sie ist eine MACHBARKEITS-
STUDIE FUER DIE EIGENVERWENDUNG des Lizenzgebers. Sie ist nicht fuer den
ungeprueften Einsatz in externer Beratung oder in berufsstaendischen
Gutachten vorgesehen.

Die Berechnungen folgen der Methodik der ImmoWertV 2021. NORMGENAU
UMGESETZT und durch Referenzbeispiele abgesichert sind die Verfahrens-
logik und die finanzmathematischen Faktoren (Vervielfaeltiger/Barwert-
faktor, Abzinsung, lineare Alterswertminderung nach § 38, Marktanpassung
nach § 39). Besondere objektspezifische Merkmale (boGM, § 8 Abs. 3)
werden in allen Verfahren beruecksichtigt.

MODELLANSAETZE / ORIENTIERUNGSWERTE sind dagegen die hinterlegten
Tabellenwerte -- insbesondere die wirtschaftliche Gesamtnutzungsdauer,
die Normalherstellungskosten (NHK 2010) und die Bewirtschaftungskosten.
Diese sind im Tool als "zu pruefen" gekennzeichnet und editierbar. Die
maßgeblichen Groessen (Bodenrichtwert, Liegenschaftszinssatz, Sachwert-/
Regionalfaktor, Baupreisindex, NHK) sind beim oertlichen Gutachteraus-
schuss zu erheben und vom Anwender einzutragen. Kleine Info-Symbole (i)
an den Feldern erklaeren Bedeutung und uebliche Groessenordnungen. Eine
eigene fachliche Plausibilisierung ist in jedem Fall erforderlich.

Die vollstaendigen Lizenzbedingungen finden Sie in der begleitenden
Datei "Lizenzbedingungen_Werkstatt.txt" und unter
www.privatbilanz.de/werkstatt/lizenz.html.


WESENTLICHE NEUERUNGEN IN VERSION 2026.36.26
============================================

  Der zweiundzwanzigste Pruefbericht erteilt die Freigabe „mit kleineren
  Anpassungen". Diese Version setzt sie um:

  - NULL-LASTEN IN DER BERICHTSDOKUMENTATION: Die Eingabewerte der
    Berichte wurden bisher ueber eine Wahrheitswertpruefung (if barwert)
    zusammengestellt. Ein ausdruecklich erfasster Barwert von 0 Euro ist
    in JavaScript unwahr und fiel damit aus der Dokumentation — die
    benannte Last (z. B. „Wegerecht 0 Euro") erschien im Rechenbericht
    nicht, obwohl sie bewusst geprueft wurde. Jetzt entscheidet das
    VORHANDENSEIN des Feldwerts: eine erfasste 0-Euro-Last wird im Bericht
    namentlich mit „0 Euro" ausgewiesen. Dieselbe Korrektur gilt fuer
    Zubehoer-Positionen mit Betrag 0 Euro.
  - BARWERT OHNE BEZEICHNUNG: Ein erfasster Lastenbarwert ohne Benennung
    des Rechts bleibt rechenbar, loest aber jetzt einen Prueflisten-
    Hinweis aus, damit die Last fuer Nachpruefung und Fortschreibung
    benannt wird (keine Sperre — die Rechenbarkeit bleibt erhalten).
  - Beide Faelle sind als Berichtstests hinterlegt (829 Selbsttests).

  Hinweis: Die vom Pruefbericht empfohlene kurze manuelle Abnahme in
  Chrome, Edge und Firefox mit einem schmalen Mobilformat und einem
  PDF-Druck steht als organisatorischer Schritt weiterhin aus.

VERSION 2026.36.25 (zweiundzwanzigster Pruefbericht)
====================================================

  Diese Version schliesst eine Vollstaendigkeitsluecke im Lastenausweis:

  - BENANNTE LAST OHNE BARWERT SPERRT DEN BELASTETEN WERT: Bisher galt
    eine Lastenzeile nur dann als erfasst, wenn ein Barwert eingetragen
    war. Ein benanntes, aber unbewertetes Recht (z. B. „Wegerecht" ohne
    Barwert) wurde uebergangen — das Tool bildete den belasteten
    Verkehrswert aus den uebrigen, vollstaendigen Zeilen und wies ihn als
    fertige Kennzahl aus, obwohl der Lastenbestand unvollstaendig war.
    Jetzt gilt eine Zeile als erfasst, sobald Bezeichnung ODER Barwert
    gesetzt ist; fehlt dann der Barwert, ist das ein Fehler: der belastete
    Wert bleibt leer (der lastenfreie Wert bleibt unveraendert erhalten),
    und die Pruefliste fordert die Kapitalisierung ein (§ 47 ImmoWertV).
    Eine vollstaendig leere Zeile bleibt wie bisher wirkungslos.
  - AUSDRUECKLICHER BARWERT 0 IST ERFASST: Ein Recht mit bewusst
    dokumentiertem Werteinfluss von 0 Euro wurde faelschlich als „ohne
    Barwert erfasst" gemeldet. 0 Euro ist ein gueltiger erfasster Betrag;
    statt der Fehlmeldung erscheint jetzt ein sachlicher Hinweis, den
    0-Werteinfluss zu bestaetigen.
  - Fuenf Lastenzustaende sind als dauerhafte Regressionstests hinterlegt
    (leer, benannt-ohne-Barwert, Barwert-ohne-Bezeichnung, mehrere mit
    einer unvollstaendigen, vollstaendig) — inkl. Render-Gegenprobe in
    Einzel- und Gesamtbericht (820 Selbsttests).

VERSION 2026.36.24 (einundzwanzigster Pruefbericht)
===================================================

  Diese Version behandelt den belasteten Verkehrswert als eigenstaendige
  zweite Ausgabe — mit eigenem Sperr-Gate und eigener Ergebnisgrenze:

  - LASTENFEHLER SPERRT NUR DEN BELASTETEN WERT: Bisher markierte das
    zentrale Modell die Lastentabelle als Teil des primaeren Rechenwegs.
    Ein unzulaessiger (etwa importierter, typfremder) Lastenbarwert
    sperrte dadurch nicht nur den belasteten, sondern auch den davon
    voellig unabhaengigen lastenfreien Verkehrswert. Die Lastentabelle
    gehoert jetzt ausschliesslich zum belasteten Wert; der lastenfreie
    Verfahrenswert bleibt erhalten und wird in Ansicht, Auswertungen und
    Berichten weiter ausgewiesen. Die Pruefliste meldet den Lastenfehler
    unveraendert.
  - KEINE NEGATIVEN BELASTETEN WERTE: Uebersteigt der Barwert der Rechte
    Dritter den lastenfreien Verkehrswert, hat die vereinfachte
    Differenzmethode (lastenfreier Wert abzueglich kapitalisierter Last)
    ihren belastbaren Bereich verlassen. Statt eines negativen belasteten
    Verkehrswerts (im Pruefbeispiel −252.996 Euro) gibt das Tool jetzt
    keinen belasteten Wert aus und erzeugt einen klaren Pruef- und
    Ergebnishinweis (§ 47 ImmoWertV): der Werteinfluss des Rechts ist
    dann gesondert zu wuerdigen. Damit gilt dieselbe Nicht-negativ-
    Leitplanke, die der lastenfreie Verkehrswert laengst hat, auch fuer
    den belasteten Wert.
  - Drei Lastenzustaende sind als dauerhafte Regressionstests hinterlegt
    (gueltige Last, typfremde Last, uebersteigende Last) — jeweils mit
    Render-Gegenprobe in Einzel- und Gesamtbericht (806 Selbsttests).

VERSION 2026.36.23 (zwanzigster Pruefbericht)
=============================================

  Diese Version verfeinert das in 2026.36.22 eingefuehrte zentrale
  Rechenpfad-Modell um die Alternativen und Wirksamkeitsbedingungen:

  - FREILEGUNGSKOSTEN TYPSTRENG: Im wirtschaftlichen Verwertungsfall
    (negativer Gebaeudereinertrag bei positiver Restnutzungsdauer) wurde
    eine als Zeichenkette importierte Freilegungskostenangabe still in
    eine Zahl umgewandelt und erzeugte einen scheinbar fertigen
    Verkehrswert (900.000 Euro im Pruefbeispiel) trotz sichtbarem
    Validierungsfehler. Rechnung, Liquidationswert und Pruefliste pruefen
    jetzt typstreng; die Verwertungsentscheidung selbst liegt in EINER
    gemeinsamen Funktion, die Rechnung, Pruefliste und Sperrmodell
    gleichermassen verwenden.
  - ALTERNATIVEN IM BODENWERT: Erfasste Teilflaechen/Zonen verdraengen
    die Direktfelder, eine erfasste Anpassungskette den Sammel-Zu-/
    Abschlag, Zaehler/Nenner wirken nur bei aktivierter Miteigentums-
    quotelung. Das Sperrmodell folgt jetzt exakt dieser Vorranglogik —
    gespeicherte, aber verdraengte Werte (etwa Direktfelder 0 neben
    gueltigen Zonen) sperren keine gueltige Berechnung mehr.
  - VERGLEICHSWERT ENTKOPPELT: Die Direkteingabe braucht weder Bodenwert
    noch Marktanpassung; die Ausreissergrenze wirkt nur bei aktiviertem
    Ausschluss mit mindestens drei Faellen; der fuer die Uebersicht
    mitgerechnete Bodenwert ist nicht wertbestimmend (auch nicht in der
    gewichteten Ableitung ohne Bodenwert-Gewicht). Faelschlich auf
    "nicht berechenbar" gesetzte Vergleichswerte sind behoben.
  - MERKMALE JE ZEILE: Besondere objektspezifische Grundstuecksmerkmale
    gelten je Zeile fuer bestimmte Verfahren. Die Sperrentscheidung
    reicht jetzt bis auf die Zeile: eine Nur-Sachwert-Zeile mit
    fehlerhaftem Betrag sperrt den Ertragswert nicht mehr, wohl aber
    weiterhin den Sachwert.
  - WIRKSAMKEITSBEDINGUNGEN: Der Verbraucherpreisindex-Faktor ist als
    Eingabeassistent eingestuft (die Ertragswertformel liest ihn nicht);
    Erbbaugrundstuecksfaktor und Entschaedigungsquote wirken nur bei
    Grundstuecksmitbewertung bzw. Heimfall-Anteil und sperren nur dann.
  - Grundsatz unveraendert: Die Pruefliste meldet ALLE gespeicherten
    Fehler; sperren darf nur, was der aktive Rechenpfad tatsaechlich
    liest. Alle zwoelf Gegenbeispiele des Pruefberichts sind als
    dauerhafte Regressionstests hinterlegt (793 Selbsttests).

VERSION 2026.36.22 (neunzehnter Pruefbericht)
=============================================

  Diese Version loest das den letzten Pruefberichten gemeinsame Grund-
  problem STRUKTURELL statt es erneut punktuell nachzubessern:

  - ZENTRALES RECHENPFAD-MODELL: Die Frage „welche Felder und Tabellen
    liest die aktive Berechnung wirklich?" wurde bisher an zwei Stellen
    mit je eigenen, unvollstaendigen Listen beantwortet — erst verfahrens-
    blind, dann untermodusblind und nur fuer Einzelfelder. Jetzt
    beantwortet EINE Modellfunktion diese Frage auf Untermodus-Ebene
    (direkter Rohertrag oder Mieteinheiten, pauschale oder detaillierte
    Bewirtschaftung, Aussenanlagen als Betrag oder Prozent, Direkteingabe
    oder Vergleichsfaelle, Verwertungs-/Liquidationsfall, Lastenausweis,
    gewichtete Ableitung, Erbbaurecht) — fuer Einzelfelder UND Tabellen.
    Beide Berechnungssperren nutzen dieses eine Modell. Grundsatz: Die
    Pruefliste meldet weiterhin ALLE gespeicherten Fehler — sperren darf
    nur, was der aktive Rechenpfad tatsaechlich liest. Ein fehlerhaftes
    Nebengebaeude sperrt damit den Sachwert, aber nicht mehr einen
    Ertragswert; eine unzulaessige Pauschalquote sperrt nur noch im
    Pauschalmodus.
  - STILLE RESERVEN NUR BEI BEIDSEITIG VOLLSTAENDIGER BASIS: Bisher wurde
    nur die Vollstaendigkeit der Buchwerte geprueft — ein teilweise
    unbewertetes Portfolio ergab weiter eine rechnerisch falsche Reserve
    (im Pruefbeispiel −74.031 Euro, obwohl nur eine Bewertung fehlte).
    Jetzt muessen alle Objekte bewertet UND alle Buchwerte erfasst sein;
    sonst „nicht bestimmbar" mit Angabe der fehlenden Seite.
  - HGB-ABGLEICH MIT EHRLICHEM STATUS: Fehlte Buch- oder Verkehrswert,
    meldeten Ergebnisblatt und Berichte bisher „unauffaellig" bzw.
    „nicht indiziert" — eine unzulaessige Entwarnung ohne Vergleichs-
    groesse. Der Abgleich nach § 253 Abs. 3 HGB kennt jetzt die Status
    „nicht pruefbar (Grund)", „kein Vergleich (Buchwert 0)", „Wert-
    minderung pruefen" und „unter Schwelle"; alle Ausgaben nutzen ihn.
  - Berichtssumme zeigt einen echten Buchwert von 0 Euro jetzt als
    „0 Euro" statt als Strich; eine Eingabe, die einen Widerspruch in
    eine zuvor GUELTIGE Tabellenzeile einfuehrt (z. B. Nebengebaeude-
    Restnutzungsdauer ueber der Gesamtnutzungsdauer), wird bereits am
    Eingabefeld abgewiesen — die schrittweise Eingabe bleibt moeglich.

VERSION 2026.36.21 (achtzehnter Pruefbericht)
=============================================

  Zwei Folgen der in Version 2026.36.20 eingefuehrten Haertungen:

  - DIE BERECHNUNGSSPERRE FUER EINZELWERTE ARBEITET JETZT VERFAHRENS-
    ABHAENGIG. In Version 2026.36.20 sperrte sie ALLE grundsaetzlich
    wertbestimmenden Felder — auch solche, die das gewaehlte Verfahren
    gar nicht liest. Ein im Ertragswert bedeutungsloser Sachwertfaktor
    oder ein ungenutztes Hilfsfeld konnte so einen fachlich korrekt
    berechneten Verkehrswert nachtraeglich unterdruecken. Eine
    Abhaengigkeitsmatrix ordnet jedem Feld die Verfahren zu, in denen es
    tatsaechlich rechnet; nur diese Felder koennen den Wert sperren.
    Assistenten-Hilfswerte, reine Referenzfelder und ein nicht genutztes
    internes Altfeld sperren nie. Die Pruefliste beanstandet fehlerhafte
    Werte weiterhin unabhaengig davon.
  - PORTFOLIO-KENNZAHLEN UNTERSCHEIDEN JETZT „nicht erfasst" VON „0 Euro".
    Fehlende Buchwerte wurden in der Analyse und im Ergebnisblatt wie ein
    Buchwert von null Euro behandelt; die Kennzahl „stille Reserven" wies
    dadurch eine unbelegte Differenz aus. Stille Reserven werden jetzt nur
    bei vollstaendig erfassten Buchwerten ausgewiesen — sonst „nicht
    bestimmbar" mit Angabe des Erfassungsgrads (z. B. 1 von 2). Ein echter
    bilanzierter Buchwert von null Euro gilt weiterhin als erfasst.

VERSION 2026.36.20 (siebzehnter Pruefbericht)
=============================================

  - WERTBESTIMMENDE EINZELFELDER SPERREN JETZT DIE BERECHNUNG: Bisher
    sperrte die Berechnung nur unzulaessige Tabellenzeilen sowie negative
    oder unmoegliche Endergebnisse. Ein einzelnes wertbestimmendes Feld
    ausserhalb seines zulaessigen Bereichs — etwa ein importierter
    Liegenschaftszins von 400,5 Prozent — erzeugte dagegen weiterhin einen
    positiven, aber vollkommen verfaelschten Verkehrswert; nur Pruefliste
    und Bericht warnten. Jetzt sperrt ein solcher Verstoss auch die
    Berechnung selbst. Reine Referenz- und Vergleichsfelder (Buchwert,
    Datenblattangaben, die Abschlagsindikation) sind ausdruecklich davon
    ausgenommen und beeinflussen den Verkehrswert wie bisher nicht.
  - GELDSUMMEN IN ANALYSE UND BERICHT ADDIEREN TYPSTRENG: Buchwert-,
    Investitionsstau- und Massnahmensummen in der Bestandsanalyse, im
    Bestandsbericht und im Ergebnisblatt verketteten importierte Text-
    betraege zuvor ebenso wie zuletzt schon das Datenblatt. Alle diese
    Summen sind jetzt auf denselben typsicheren Rechenkern umgestellt.
  - ZINSHERLEITUNGS-ASSISTENT: Er zeigt kein Ergebnis mehr als
    uebernehmbar an, das oberhalb der zulaessigen Zinsgrenze liegt, und
    weist eine einzelne Anpassung von mehr als 25 Prozentpunkten bereits
    am Eingabefeld ab.

VERSION 2026.36.19 (sechzehnter Pruefbericht)
=============================================

  VERSCHACHTELTE Tabellen, die die Zeilenpruefung aus Version 2026.36.18
  noch nicht erfasste:

  - LIEGENSCHAFTSZINS-HERLEITUNG: Die dokumentierte Herleitung des
    Liegenschaftszinses enthaelt eine verschachtelte Anpassungstabelle.
    Ein aus einer Datei uebernommener Textwert wurde in der Summe
    verkettet — aus 4,0 Prozent plus „0,5" entstanden 400,5 Prozent, und
    daraus ein positiver, aber voellig verfaelschter Verkehrswert. Die
    Herleitung rechnet jetzt typstreng und liefert bei einer unzulaessigen
    Zeile kein Ergebnis; zusaetzlich gilt fuer Kapitalisierungs- und
    Liegenschaftszinssaetze eine fachliche Obergrenze von 25 Prozent, weit
    ueber jedem realistischen Wert, aber als Sperre gegen offensichtliche
    Fehlwerte.
  - DATENBLATT-LISTEN (Grundpfandrechte, Sanierungen/Massnahmen): Die
    Betragssummen im Objekt-Datenblatt verketteten importierte Text-
    betraege ebenfalls. Sie werden jetzt korrekt addiert; negative Nenn-
    betraege, Valuten und Massnahmenkosten weist das Eingabefeld ab, und
    unzulaessige importierte Werte erscheinen als Fehler in der Pruefliste.
    (Diese Referenzfelder beeinflussen den Verkehrswert nicht.)
  - ZEILENPRUEFUNG JETZT PFADBASIERT: Die zentrale Registry der
    Zeilenpruefungen erfasst nun auch verschachtelte Tabellen. Der
    Selbsttest leitet die Soll-Liste aller Tabellen direkt aus dem
    Datenmodell ab (nicht mehr aus der Regelliste) — dadurch faellt jede
    kuenftig hinzugefuegte Tabelle ohne Pruefung sofort auf.

VERSION 2026.36.18 (eigene Durchsicht)
======================================

  Die in den Pruefungen erkannten Fehler-MUSTER wurden systematisch an
  allen bisher ungeprueften Stellen gesucht — und dort gefunden:

  - ZEILENPRUEFUNGEN FUER ALLE DYNAMISCHEN LISTEN (neu): Bisher hatten nur
    Nebengebaeude und Bodenzonen eine Pruefung ihrer Tabellenzeilen. Jetzt
    besitzt jede Liste eine — Mieteinheiten, Bodenwert-Anpassungen, Rechte
    und Lasten, Kaufpreissammlung, besondere objektspezifische Merkmale,
    Zubehoer und Herstellungskosten-Zuschlaege. Eine erfasste, aber
    unzulaessige Zeile sperrt das Ergebnis und erscheint mit Zeilenbezug
    in der Pruefliste. Der Selbsttest verlangt, dass jede Liste eine
    Pruefung besitzt oder als Ausnahme begruendet ist.
  - ZAHLEN WERDEN IN SUMMEN NICHT MEHR VERKETTET: Bei Zubehoer, Lasten,
    Herstellungskosten-Zuschlaegen und besonderen Merkmalen konnte ein aus
    einer Datei uebernommener Betrag als TEXT vorliegen. Die Summe haengte
    ihn dann an, statt ihn zu addieren — aus 0 und "500" wurde "0500".
    Alle Summen rechnen jetzt typstreng.
  - KEIN STILLER ERSATZ MEHR BEI DER BODENWERT-ANPASSUNGSKETTE: Ein
    unzulaessiger Einzelfaktor wurde bisher stillschweigend verworfen —
    und weil die Kette damit leer war, griff ersatzweise der pauschale
    Zu-/Abschlag. Im Testfall ergab das statt einer Sperre einen um
    50 Prozent hoeheren Bodenwert. Ein solcher Faktor sperrt jetzt.
  - ZENTRALES SPERR-GATE: Eine unzulaessige Tabellenzeile sperrt das
    Ergebnis unabhaengig davon, ob die betroffene Liste im gewaehlten
    Verfahren rechnerisch ueberhaupt wirksam wird.

VERSION 2026.36.17 (fuenfzehnter Pruefbericht)
==============================================

  Die in Version 2026.36.16 fuer die Hauptfelder eingefuehrten Grundsaetze
  wurden auf die DYNAMISCHEN TABELLEN nachgezogen:

  - NEBENGEBAEUDE werden jetzt vollstaendig geprueft. Bisher wurde ihr
    Alterswertminderungsfaktor still auf 1,0 gekappt oder — bei fehlender
    beziehungsweise 0 gesetzter Gesamtnutzungsdauer — gleich mit 1,0
    angesetzt: Eine Garage mit widerspruechlichen Nutzungsdauern ging mit
    ihrem NEUWERT in den Sachwert ein (im Testfall doppelter Garagen-
    anteil). Normalherstellungskosten, Brutto-Grundflaeche und Gesamt-
    nutzungsdauer muessen jetzt groesser 0 sein, die Restnutzungsdauer
    darf die Gesamtnutzungsdauer nicht ueberschreiten (Restnutzungsdauer
    0 bleibt als wertloser Zeitanteil zulaessig). Eine widerspruechliche
    Zeile sperrt den gesamten Sachwert und erscheint mit Zeilenbezug in
    der Pruefliste.
  - BODENZONEN UND VERGLEICHSFAELLE akzeptieren keine Nullwerte mehr.
    Eine Zone mit Bodenrichtwert 0 ergab bisher einen Verkehrswert von
    0 Euro; ein Vergleichsfall mit Kaufpreis 0 wurde wie ein vollwertiger
    Fall gemittelt und senkte den Vergleichswert um ein Drittel. Beides
    sperrt jetzt — auch fuer importierte Altbestaende — statt still
    eingerechnet oder uebersprungen zu werden (§§ 24, 25 ImmoWertV:
    ungeeignete Kaufpreise sind auszuscheiden, nicht mit 0 anzusetzen).
  - Der Restnutzungsdauer-Assistent verwendet jetzt ebenfalls die
    zentrale Funktion fuer die effektive Gesamtnutzungsdauer und ersetzt
    eine ausdruecklich eingetragene 0 nicht mehr durch den Modellansatz
    des Objekttyps.
  - SELBSTTEST PRUEFT JETZT AUCH DIE GRENZEN SELBST: Bisher belegte der
    strukturelle Abgleich nur, dass jedes Zahlenfeld IRGENDEINE Regel
    besitzt. Neu ist eine unabhaengige Sollliste, die je Feld festlegt,
    ob 0 zulaessig ist oder nicht — und ein Realpfadtest, der prueft,
    dass der normale Eingabeweg eine 0 bei zwingend positiven Feldern
    tatsaechlich abweist.

VERSION 2026.36.16 (vierzehnter Pruefbericht)
=============================================

  Ein fachlich unmoeglicher Zustand wurde durch eine Kappung oder einen
  unsichtbaren Standardwert in ein plausibles Ergebnis umgedeutet:

  - RESTNUTZUNGSDAUER UEBER GESAMTNUTZUNGSDAUER sperrt jetzt. Bisher
    wurde der Alterswertminderungsfaktor still auf 1,0 gekappt — eine
    Restnutzungsdauer von 120 Jahren bei 80 Jahren Gesamtnutzungsdauer
    ergab damit einen Neubauzustand und einen um rund ein Drittel zu
    hohen Sachwert; im Ertragswertverfahren wirkte sie ueber den
    Vervielfaeltiger. Sach- und Ertragswert liefern jetzt kein Ergebnis,
    und die Pruefliste meldet einen FEHLER statt eines Hinweises
    (§§ 4, 38 ImmoWertV). Der Liquidationsfall Restnutzungsdauer 0
    bleibt ausdruecklich zulaessig.
  - FEHLENDER WERTERMITTLUNGSSTICHTAG ist jetzt ein FEHLER — unabhaengig
    von der Berichtsvariante. Bisher gab es im Gutachten nur einen
    Hinweis und in der Stellungnahme gar nichts; beide Berichte waren
    trotzdem ausgabefaehig. Ohne Stichtag ist der Verkehrswert nicht
    bestimmt (§ 2 ImmoWertV). Der Restnutzungsdauer-Assistent ersetzt
    einen fehlenden Stichtag NICHT mehr still durch das Tagesdatum,
    sondern fordert ihn an. Neue Projekte starten dafuer mit dem
    heutigen Tag als SICHTBAREM Vorschlagswert im Stichtagsfeld.
  - ZWINGEND POSITIVE BEZUGSGROESSEN: Grundstuecksflaeche, Bodenricht-
    wert, Normalherstellungskosten, Brutto-Grundflaeche und Gesamt-
    nutzungsdauer akzeptieren keine 0 mehr. Bisher entstanden daraus
    stille Teilergebnisse — eine Flaeche 0 ergab einen Verkehrswert von
    0 Euro, Normalherstellungskosten oder Brutto-Grundflaeche 0 ergaben
    einen "Sachwert", der nur der Bodenwert war. Eine ausdruecklich
    eingetragene Gesamtnutzungsdauer 0 wird zudem nicht mehr unsichtbar
    durch den Modellansatz des Objekttyps ersetzt (Anzeige und Rechnung
    fielen sonst auseinander).
  - PRUEFTIEFE DER EIGENEN SELBSTTESTS ERHOEHT: Der strukturelle
    Vollstaendigkeitstest besass eine wirkungslose (immer erfuellte)
    Typstrengepruefung; sie iteriert jetzt tatsaechlich ueber jede
    einzelne Regel. Neu hinzugekommen ist eine UNABHAENGIGE Sollliste
    der fachlich geforderten Querregeln mit vorgeschriebenem Schwere-
    grad und je einem gueltigen und einem ungueltigen Realfall. Damit
    faellt jetzt auch eine FEHLENDE oder zu milde eingestufte Regel auf
    — die Aussage in Version 2026.36.15, das sei bereits der Fall
    gewesen, war zu weitgehend und wird hiermit richtiggestellt.

VERSION 2026.36.15
==================

  - DEKLARATIVE QUERREGEL-LISTE (strukturell): Die fachlichen Beziehungen
    zwischen jeweils zwei Feldern stehen in einer zentralen, deklarierten
    Liste und werden von der Pruefliste generisch ausgewertet — statt als
    verstreute Einzelpruefungen. Der Selbsttest prueft die Liste auf
    Struktur, eindeutige Namen, existierende Felder und Verdrahtung.

VERSION 2026.36.14 (dreizehnter Pruefbericht)
=============================================

  Querbeziehungen zwischen Feldern, die eine Einzelfeld-Regel nicht
  ausdruecken kann:

  - MITEIGENTUMSANTEIL AUSFALLSICHER: Eine aktivierte, aber unvoll-
    staendige oder unzulaessige Quotelung SPERRT den Bodenwert — sie
    faellt nicht mehr still auf den vollen Bodenwert zurueck (bei
    Wohnungseigentum ging so der Wert des GESAMTgrundstuecks statt des
    Anteils in die Bewertung ein). Pflicht ist jetzt 0 < Zaehler <=
    Nenner (§ 1008 BGB: Miteigentum nach Bruchteilen — ein Anteil ueber
    100 Prozent ist kein Bruchteil). Ein Zaehler von 2.000 bei Nenner
    1.000 verdoppelte zuvor den Bodenwert; extreme Importwerte
    vervielfachten ihn unbegrenzt. Verstoesse erscheinen als Fehler in
    der Pruefliste und sperren die Berichte.
  - BAUJAHR GEGEN DEN STICHTAG GEPRUEFT: Ein Baujahr nach dem Wert-
    ermittlungsstichtag wurde vom Restnutzungsdauer-Assistenten still
    als Gebaeudealter 0 behandelt und ergab die VOLLE Restnutzungsdauer
    (im Pruefbeispiel +50 Prozent Verkehrswert). Der Assistent sperrt
    jetzt mit klarer Meldung, und die Pruefliste meldet den Widerspruch
    als Fehler (§ 4 ImmoWertV: Alter = Stichtagsjahr minus Baujahr).
  - BANDGRENZEN GEGENEINANDER GEPRUEFT: Vertauschte Grenzen (Marktband
    "von" groesser als "bis", ebenso die Vergleichsmiete-Spanne) sind
    ein logisch leeres Intervall — statt einer irrefuehrenden Einordnung
    ("unter Bandbreite") gibt es jetzt einen Prueflisten-Fehler und
    keine Statusausgabe.
  - DATUMSFELDER SEMANTISCH GEPRUEFT: Importierte Nicht-Daten (etwa
    "kein-datum" oder der 30. Februar) als Wertermittlungsstichtag
    passierten Pruefung und Bericht als blosser Text. Alle Projekt-
    Datumsfelder werden jetzt streng geprueft (Format UND Kalender-
    gueltigkeit); ein ungueltiger Stichtag ist ein Fehler und sperrt
    die Berichte (§ 2 ImmoWertV). Der Eingabeweg weist Nicht-Daten ab.

  Aus Version 2026.36.13 (zwoelfter Pruefbericht):

  - VOLLSTAENDIGKEITS-ABGLEICH DER ZAHLENFELDER (neu): Der Selbsttest
    vergleicht jetzt automatisch jedes im Programm gerenderte Zahlenfeld
    und jede numerische Tabellenzelle gegen die zentralen Wertebereichs-
    regeln. Ein Feld ohne Regel und ohne ausdruecklich dokumentierte
    Ausnahme laesst den Selbsttest fehlschlagen. Die wiederholten Befunde
    der letzten Pruefrunden folgten alle demselben Muster: Ein neu
    abgesichertes Feld war korrekt, waehrend ein Nachbarfeld derselben
    Rechnung keine Regel besass. Dieser Abgleich deckte auf Anhieb neun
    weitere ungeschuetzte Felder im Datenblatt auf (AfA-Angaben, Anzahl
    Einheiten, Endenergiebedarf, Instandhaltungsruecklage, Investitions-
    stau, GRZ/GFZ, Versicherungssumme); sie sind jetzt ebenfalls
    abgesichert. Zusaetzlich wird geprueft, dass jede Regel eine
    verstaendliche Klartextbezeichnung besitzt.
  - Erbbaurecht typstreng und fachlich begrenzt: Gebaeudewert,
    Restlaufzeit und Kapitalisierungszins muessen echte, endliche Zahlen
    sein. Ein als Zeichenkette importierter Gebaeudewert wurde zuvor in
    einer Addition ANEINANDERGEHAENGT statt addiert und verzehnfachte den
    Wert. Ein Kapitalisierungszins von minus 50 Prozent erzeugte einen
    endlichen, aber astronomisch hohen Betrag, den die Leitplanke gegen
    negative Ergebnisse nicht erkennen konnte. Beide Faelle werden jetzt
    vor jeder Rechenoperation gesperrt; zusaetzlich wird jeder
    Zwischenwert einzeln auf Endlichkeit geprueft.
  - Zinssaetze durchgehend: Kapitalisierungs- und Liegenschaftszins
    muessen groesser 0 Prozent sein. Bisher erzeugte ein Zinssatz kleiner
    oder gleich 0 nur einen Hinweis; er ist jetzt ein FEHLER und sperrt
    damit auch Gutachten und Rechenbericht. Auch die Zinsherleitung
    prueft ihr Ergebnis vor der Uebernahme.
  - Klarstellung NHK-Standardstufen: Die belegten Stufen richten sich
    nach der konkreten Gebaeudeart. Ein- und Zweifamilien-, Doppel- und
    Reihenhaeuser verwenden die Stufen 1 bis 5; Mehrfamilienhaeuser,
    Wohn- und Geschaeftshaeuser mit Mischnutzung sowie die hinterlegten
    Nichtwohngebaeude verwenden die Stufen 3 bis 5.

  Aus Version 2026.36.12 (elfter Pruefbericht):

  - NHK-Standardstufen werden jetzt GEBAEUDEARTBEZOGEN geprueft. Zulaessig
    sind nur echte Zahlen auf dem Raster ganzer oder halber Stufen, deren
    Werte fuer die gewaehlte Gebaeudeart amtlich belegt sind (Anlage 4
    ImmoWertV). Die frueher vorhandene Naeherung ueber Stufe 3 entfaellt:
    Eine importierte Stufe ausserhalb der Matrix (z. B. 6) ergab damit
    einen scheinbar reguleren NHK-Wert. Die Auswahl bietet nur noch die
    belegten Stufen an (Nichtwohngebaeude 3 bis 5); Uebernahme und
    Berechnung sind zusaetzlich gesperrt, und die Pruefliste meldet
    gespeicherte Verstoesse.
  - Die Abschlagsrechnung (frueher "Beleihungswert") hat jetzt Werte-
    bereiche: Ausgangswert nicht negativ, beide Abschlaege 0 bis 100
    Prozent. Ein negativer Abschlag haette den Wert ERHOEHT statt
    gemindert; ueber 100 Prozent waere er negativ geworden. Unzulaessige
    Werte werden am Eingabefeld abgewiesen, sperren die Berechnung auch
    nach Import und erscheinen als Fehler in der Pruefliste.
  - Der vereinbarte Erbbauzins muss ein Jahresbetrag von mindestens 0 Euro
    sein. Sein Barwert wird abgezogen; ein negativer Betrag kehrte das
    Vorzeichen um und vervielfachte den Wert des Erbbaurechts. Ein
    umgekehrter Zahlungsstrom ist gesondert zu wuerdigen und nicht ueber
    dieses Feld abbildbar.
  - KLARSTELLUNG ZUR BEZEICHNUNG: Das Modul heisst jetzt durchgehend
    "Abschlagsindikation zum Verkehrswert - kein Beleihungswert nach
    BelWertV". Die Rechnung mindert einen Ausgangswert pauschal um zwei
    Abschlaege. Ein Beleihungswert erfordert dagegen die getrennte
    Ermittlung von Ertrags- und Sachwert (§ 4 BelWertV), den auf den
    Herstellungswert bezogenen Mindestabschlag (§ 16 Abs. 2 BelWertV) und
    eine vorsichtige, nachhaltige Ermittlung durch einen unabhaengigen
    Gutachter (§ 16 PfandBG). Der Vorbehalt steht jetzt unmittelbar an
    jedem ausgegebenen Zahlenwert - in der Eingabemaske, im Gutachten und
    im Rechenbericht.

  Aus Version 2026.36.11 (zehnter Pruefbericht):

  - Zahlenpruefung TYPSICHER: Importierte Zahlen als Zeichenkette ("1"
    statt 1) galten bisher als gueltig und wurden in den Gewichtssummen
    aneinandergehaengt statt addiert — ein gewichteter Verkehrswert konnte
    dadurch um ueber 80 Prozent zu niedrig ausfallen. Der Regelkern
    verlangt jetzt echte, endliche Zahlen; die Rechenfunktionen addieren
    zusaetzlich defensiv nur konvertierte Zahlwerte, und die Pruefliste
    meldet typfremde Werte als Fehler.
  - Wertebereiche fuer die vier VERFAHRENSGEWICHTE der Verkehrswert-
    ableitung (§ 6 Abs. 4): negative Gewichte werden am Eingabefeld
    abgewiesen und im gespeicherten Zustand als Fehler gemeldet (zuvor
    fielen sie still aus der Ableitung und verschoben die Anteile).
  - NHK-Assistent absichert: Waegungsanteile muessen echte Zahlen zwischen
    0 und 100 Prozent sein (Setter weist ab, Pruefliste meldet gespeicherte
    Verstoesse). Die Uebernahme des bauteilgewichteten NHK ist GESPERRT,
    wenn ein Anteil unzulaessig ist, eine Bauteilgruppe keine Stufe hat
    oder die Summe nicht 100 Prozent ergibt — ein negativer Anteil konnte
    den uebernommenen NHK zuvor fast halbieren (835 auf 451 Euro/m²), bei
    nur optischer Warnung.
  - Vergleichsfall-Einzelfaktoren (zeitlich, Lage, ...): erfasste Faktoren
    muessen echte Zahlen groesser 0 sein. Der Setter weist unzulaessige
    Werte ab; ein importierter unzulaessiger Faktor SPERRT die Berechnung
    (statt still als neutral 1,0 behandelt zu werden) und erscheint als
    Fehler in der Pruefliste.
  - Fundstellen aktualisiert: Normalherstellungskosten 2010 und Gebaeude-
    standards werden jetzt mit der aktuellen amtlichen Fundstelle Anlage 4
    ImmoWertV benannt (statt "SW-RL Anlage 2" bzw. "amtliche Anlage 1");
    die Sachwertrichtlinie wird nur noch als historischer Herkunftshinweis
    genannt. Modernisierungselemente: Anlage 2 ImmoWertV.

  Aus Version 2026.36.10 (neunter Pruefbericht):

  - Wertebereiche fuer dynamische Tabellenzeilen: Mieteinheiten (Menge,
    Miete), Vergleichsfaelle (Kaufpreis, Bezugsgroesse, Anpassung, Gewicht),
    Bodenwert-Zonen (Flaeche, Bodenrichtwert, Koeffizient, Abschlag),
    Lasten-Barwerte, Nebengebaeude und die Bodenwert-Anpassungskette.
    Unzulaessige Eingaben (z. B. negative Menge, Zonen-Koeffizient <= 0,
    Anpassung <= -100 %) werden nicht uebernommen — der bisherige Wert
    bleibt stehen. Bewusst vorzeichenbehaftete Felder (boGM-Betraege,
    Zubehoer-Zu-/Abschlaege, Zinsanpassungen) bleiben frei.
  - Dieselben Regeln prueft die Pruefliste zusaetzlich TIEF im Objekt-
    zustand — auch fuer Werte, die per Import oder Handbearbeitung am
    Eingabeweg vorbei in die Datei gelangt sind. Eine ungueltige Teilgroesse
    kann von positiven Positionen ueberdeckt werden und waere am Endergebnis
    allein nicht erkennbar.
  - Freigabesperre in ALLEN druckbaren Ausgaben: Rechenbericht, Einzel-
    Bewertungsrechnung und Objekt-Datenblatt kennzeichnen Objekte mit
    Prueflisten-Fehlern jetzt ebenso als NICHT FREIGABEFAEHIG wie das
    Gutachten; im Gesamtbericht steht die Warnung bereits im Abschnitt
    "Ergebnis vorab" VOR der ersten Bestandssumme, Summen mit fehlerhaften
    Objekten sind als vorlaeufig gekennzeichnet.
  - Werkzeugkette: Selbsttest und Stresstest waehlen die zu pruefende Datei
    jetzt numerisch nach Version (vorher lexikografisch — ab zweistelligen
    Versionsnummern haette sonst still eine aeltere Datei geprueft werden
    koennen).

  Aus Version 2026.36.9 (achter Pruefbericht):

  - Gewichtete Ableitung wird GESPERRT, wenn ein ausdruecklich gewichtetes
    Verfahren nicht berechenbar ist. Bisher wurde die betroffene Komponente
    ausgelassen und ihr Gewicht still auf die uebrigen Verfahren umgelegt --
    aus einer fehlenden Pflichtangabe (z. B. Freilegungskosten im
    Liquidationsfall) entstand so ein HOEHERER statt gar kein Wert. Wer ein
    Verfahren bewusst ausschliessen will, setzt sein Gewicht auf 0.
  - Import verlangt jetzt eine tatsaechlich nutzbare Datenstruktur. Dateien,
    die nur Metadaten oder leere Listen enthalten, wurden bisher akzeptiert
    und ersetzten den gesamten Bestand durch einen leeren Mandanten. Ein
    struktureller gueltiger, aber LEERER Import muss zusaetzlich ausdruecklich
    bestaetigt werden, wenn dabei vorhandene Objekte verloren gingen.
  - Wertebereiche fuer alle wertbestimmenden Zahlenfelder (Faktoren, Quoten,
    Mengen). Unzulaessige Eingaben werden NICHT mehr still auf 0 gesetzt --
    der bisherige Wert bleibt stehen, damit aus einem Eingabefehler kein
    scheinbar vollstaendiger Nullwert wird. Ein negativer oder nicht
    endlicher Verkehrswert wird als Ergebnis gesperrt statt nur kommentiert.
    Werte, die den Eingabeweg umgehen (Import, handeditierte Dateien), fangen
    zusaetzlich eine Wertebereichspruefung und die Pruefliste ab.
  - Importierte Kennungen werden eindeutig gemacht. Zwei gleiche Kennungen
    blieben bisher erhalten; Bearbeiten, Berechnen oder Loeschen traf dann
    stets den ersten Datensatz, der zweite war ueber die Oberflaeche nicht
    mehr erreichbar.
  - Bericht und Bestandssumme kennzeichnen Objekte, deren Pruefliste Fehler
    enthaelt, ausdruecklich als NICHT FREIGABEFAEHIG. Ein Ergebnis ungleich
    "leer" ist damit nicht laenger gleichbedeutend mit "fertig".

  Aus den vorangegangenen Prueflaeufen (v2026.36.1 bis 2026.36.8):

  - Gewichtete Ableitung korrigiert: Ein mit Gewicht 0 gefuehrtes Ertrags-
    oder Sachwertverfahren loeste bei verbrauchter Restnutzungsdauer faelsch-
    lich den Liquidationsfall aus und drueckte den gewichteten Verkehrswert.
    Die Liquidationslogik greift jetzt nur noch fuer tatsaechlich gewichtete
    Verfahren.
  - Liquidationsfall (Restnutzungsdauer 0) durchgaengig abgesichert:
    Fehlende Freilegungskosten, ein fehlender Bodenwert, negative Freilegungs-
    kosten oder ein negativer Residualwert erzeugen keinen fertigen Verkehrs-
    wert mehr, sondern eine gesperrte Ausgabe mit Fehlerhinweis (§ 43
    ImmoWertV) -- jetzt auch innerhalb der GEWICHTETEN Ableitung (die den
    Liquidationsfall zuvor umging) und mit zusaetzlichem Eintrag in der
    Pruefliste (negativer Residualwert / Freilegung > Bodenwert). Ebenso
    werden negative Freilegungskosten im Ertragswert-Verwertungsfall
    abgewiesen (statt den Wert zu erhoehen).
  - Barrierefreiheit vollstaendig: alle Bedienelemente sind programmatisch
    beschriftet -- nicht nur die statischen Masken in Projekt, Datenblatt,
    Bewertung und Administration, sondern auch die dynamisch erzeugten
    Tabellenzeilen (Mieteinheiten, boGM, Zonen/Teilflaechen, Zins- und
    NHK-Assistent, Kaufpreis-/Vergleichssammlung), saemtliche Dialogtypen
    (Barwertrechner Erbbau/Wohnrecht/Wegerecht, Glossar, Hilfe) und der
    Wizard. Der Zugaenglichkeitstest rendert diese dynamischen Zeilen und
    Dialoge nun tatsaechlich mit (Screenreader/Autofill; geprueft ueber alle
    vier Verfahren: 0 unbenannte Bedienelemente).
  - Normbezug Liquidationswert auf § 43 ImmoWertV korrigiert;
    Baupreisindex-Hilfetext an die hinterlegte Reihe angeglichen.

  - Sicherheit: Zwei XSS-Wege beim Oeffnen praeparierter Dateien
    geschlossen (ungeschuetzte Datumsausgabe sowie importierte Kennungen,
    die in Klick-Handler gelangten). Import von "null"/leeren/fremden
    Dateien wird jetzt mit Fehlermeldung abgewiesen, statt den Bestand
    still zu ersetzen.
  - Robustheit: Zahlen-Parser verwirft nicht endliche Werte (Infinity);
    Liegenschaftszins <= -100 % liefert einen klaren Hinweis statt eines
    stillen Folgefehlers. Vergleichswert-Ausreisserausschluss arbeitet
    jetzt robust gegen den Median.
  - Fachlich: Bei negativem Gebaeudereinertrag im Ertragswertverfahren
    wird kein Wert mehr still auf den Bodenwert gekappt, sondern ein
    transparenter Verwertungsvergleich (Fortfuehrung gegen Bodenwert
    abzueglich Freilegungskosten) mit Hinweis in der Pruefliste gefuehrt.
  - Bedienung: Eingabefelder sind jetzt programmatisch beschriftet
    (Screenreader/Autofill); doppeltes Gesamtnutzungsdauer-Feld entfernt.
  - Dokumentation: Regelwerksbezug auf ImmoWertV 2021 und ImmoWertA
    umgestellt; Baupreisindex und pauschale Gesamtnutzungsdauer als
    editierbare, gegen amtliche Quellen zu pruefende Werte gekennzeichnet.

  Offen (kein Freigabe-Blocker): visuelle Browser-/Druck-/Responsivpruefung
  am realen Geraet.


SYSTEMVORAUSSETZUNGEN
=====================

  - Moderner Webbrowser (Chrome, Firefox, Edge) ab ca. 2022.
  - Betriebssystem: Windows, macOS, Linux (alle aktuellen Versionen)
  - Kein Internet-Zugang erforderlich
  - Keine Installation -- einmal die HTML-Datei oeffnen genuegt
  - Drucker oder PDF-Export fuer die Berichtsausgabe (DIN A4)


ERSTE SCHRITTE
==============

  1. Datei "Finanzstruktur_Immobilienbewertung_2026_36_26.html" mit einem
     Doppelklick oeffnen (oder: Rechtsklick -> "Oeffnen mit Browser").

  2. Zum Ausprobieren oben "Musterfall laden" nutzen -- zwei fiktive
     Beispiel-Mandanten mit fertig berechneten Objekten werden geladen.

  3. Eigener Bestand: Auf der Startseite oben den Mandanten waehlen oder
     ueber "+ Mandant anlegen" anlegen. Dann ueber die Kachel "Bestand
     bewerten" -> Modul 1 "Projekt & Anlass" ausfuellen.

  4. Objekte erfassen: Modul 2 "Bestandserfassung" -> "+ Neues Objekt".
     In der Detailmaske Objekttyp und Verfahren waehlen, Eingaben
     ausfuellen. Optional je Objekt in Modul 3 "Grundstuecksdaten &
     Datenblatt" Grundbuch-, Rechts- und Bestandsdaten erfassen.

  5. Berechnen: je Objekt "Bewertung berechnen". Der Rechenweg wird
     angezeigt und im Objekt gespeichert.

  6. SPEICHERN: Schaltflaeche "Speichern" oben rechts oder Strg+S. Die
     erzeugte HTML-Datei enthaelt das komplette Tool samt eingegebenen
     Daten in einer einzigen Datei -- keine Daten werden extern
     gespeichert. Zum Wiederoeffnen genuegt ein Doppelklick.

  7. Fuer Archiv oder Uebergabe steht in der Administration zusaetzlich ein
     JSON-Export und -Import zur Verfuegung. Sollte die HTML-Datei zu groß
     werden, ist die JSON-Speicherung die schlanke Alternative.

  8. Auswerten: Tab "Analyse" (Kennzahlen, Diagramme, Sensitivitaet) und
     Tab "Bericht" (Verkehrswertgutachten, druckbar per Strg+P).


MENUE-UEBERSICHT
================

  Start            Ueberblick, Mandanten-Auswahl, Schnelleinstieg
  Bewertung        Module 1-8: Projekt & Anlass, Bestandserfassung,
                   Grundstuecksdaten & Datenblatt, Bodenwert,
                   Vergleichswert, Ertragswert, Sachwert,
                   Ergebnis & Plausibilisierung. (Das Verfahren wird je
                   Objekt in der Detailmaske gewaehlt.)
  Analyse          Kennzahlen, Wertverteilung, Baualter, Sensitivitaet
                   (Tornado), Wert je m2, Rendite, Investitionsstau
  Bericht          Verkehrswertgutachten (Gesamtbestand oder Einzel-
                   objekt), druckbar (DIN A4)
  Administration   Mandanten, Speichern/Laden (HTML/JSON), Snapshots,
                   Musterfall, Einstellungen, Sicherheitspruefung, Version,
                   Lizenz


PERSISTENZ-MODELL
=================

  - HTML-Speichern: Schreibt die aktuellen Daten zurueck in die
    HTML-Datei. Empfohlen fuer den laufenden Arbeitsstand.
  - JSON-Export: Schreibt nur die Daten als JSON-Datei -- geeignet fuer
    Archive, Versionskontrolle oder die Uebergabe an einen anderen
    Tool-Stand. Beim Import greift eine additive Schema-Migration.
  - Auto-Save: Ein automatischer Zwischenspeicher im Browser bietet beim
    naechsten Oeffnen die Wiederherstellung ungesicherter Arbeit an.
  - Snapshots: Eingefrorene Datenstaende mit Zeitstempel und Bezeichnung.


SICHERHEIT UND TRANSPARENZ (LOKALE VERARBEITUNG)
================================================

  Die Anwendung verarbeitet alle Eingaben ausschließlich lokal in
  Ihrem Browser und sendet nichts automatisch nach außen. Diese
  Eigenschaft wird nicht nur zugesichert, sondern technisch erzwungen
  und für Sie nachprüfbar gemacht. Drei sauber getrennte Aussagen
  werden dabei bewusst nicht vermischt:

    a) Umgebung - ist der Rechner gerade online oder offline. Reine
       Kontextinformation; sie sagt für sich genommen NICHTS darüber
       aus, ob Daten fließen (ein Programm kann online sein und
       trotzdem nichts senden). Daher kein Beleg, nur Hintergrund.

    c) Netzwerksperre - eine fest in die Datei eingebaute Content-
       Security-Policy mit "connect-src 'none'". Sie unterbindet jede
       automatische Verbindung (fetch, XHR, WebSocket, EventSource,
       sendBeacon) - vom Browser erzwungen, nicht nur versprochen.
       Hinweis: Diese Policy ist eine NETZWERKSPERRE, kein XSS-Schutz;
       das ist bei einer rein lokalen Vertrauensanwendung der bewusst
       gewählte Zuschnitt.

    d) Nachweis - eine Live-Messung der tatsächlich geladenen
       Ressourcen (Resource-Timing). Sie misst, statt zu behaupten,
       und weist 0 externe Ressourcen aus, weil Schriften, Logos und
       Diagramme vollständig in die Datei eingebettet sind.

  Sichtbar wird das an zwei Stellen mit demselben Prüf-Panel:

    - Im Kopf der Anwendung zeigt ein anklickbarer Status das Schloss
      "Lokal - keine automatische Übertragung". Grün erscheint NUR,
      wenn die Sperre (connect-src 'none') tatsächlich gemessen wird;
      fehlt sie, schlägt der Status auf eine bernsteinfarbene Warnung
      um. So ist Grün nie eine leere Behauptung.

    - Im Tab "Administration" öffnet der Block "Sicherheit" dasselbe
      Panel. Es zeigt den Umgebungsstatus, die Content-Security-Policy
      im Klartext und die Liste der tatsächlich geladenen Ressourcen.

  Bewusste Wortwahl: "keine AUTOMATISCHE Datenübertragung". Das von
  Ihnen angeklickte Öffnen der Impressum-/Datenschutz-Links bleibt
  selbstverständlich möglich - eine von Ihnen ausgelöste Navigation
  ist keine automatische Verbindung. Auch das Speichern als HTML und
  der JSON-Im-/Export funktionieren unverändert; dabei wird nichts
  über das Netz gesendet, sondern nur eine lokale Datei geschrieben
  bzw. gelesen.

  Eine eigene Selbsttest-Kategorie (Tab Administration -> Selbsttest)
  prüft die Sperre bei jedem Lauf: CSP gesetzt, connect-src 'none'
  aktiv, default-src 'none' aktiv, 0 externe Ressourcen.


RECHTLICHE HINWEISE
===================

  Keine Steuerberatung -- Keine Rechtsberatung -- Keine
  Sachverstaendigenleistung.

  Der Entwickler ist weder Steuerberater noch Wirtschaftspruefer,
  Rechtsanwalt oder oeffentlich bestellter Sachverstaendiger. Die
  Software ist ein neutrales, modellhaftes Rechen-, Dokumentations- und
  Darstellungswerkzeug. Sie ersetzt nicht die fachliche Verantwortung
  des Anwenders fuer die methodischen Entscheidungen, die Eingabe der
  Marktdaten und die Plausibilisierung der Ergebnisse.

  Hinweis zur Eingabe-Konvention: Numerische Eingaben werden im deutschen
  Zahlenformat (Komma als Dezimaltrenner, Punkt als Tausendertrenner)
  erwartet.

  Keine Gewaehr fuer Richtigkeit, Vollstaendigkeit und Aktualitaet. Die
  Nutzung erfolgt ausschliesslich auf eigene Verantwortung und eigenes
  Risiko.

  (c) 2026 Andreas Ebert -- Urheberrechtlich geschuetzt (§ 69a UrhG)


DRITT-KOMPONENTEN UND LIZENZEN
==============================

  Die HTML-Datei ist eine vollstaendig in sich geschlossene Anwendung.
  Sie enthaelt ausschliesslich eigene Programmlogik, das Logo als
  Eigenmarke sowie zwei freie Schriftarten unter SIL Open Font License
  (OFL 1.1): DM Sans und JetBrains Mono. Darueber hinaus keine
  Bibliotheken, kein Charting-Framework, keine externen Web-Fonts, kein
  Telemetrie- oder Analytics-Code. Saemtliche Rechen-, Render-, Wizard-
  und Persistenz-Routinen sind Eigenentwicklung im Sinne von § 69a UrhG.
