FINANZSTRUKTUR Altersvorsorge

Vergleichsrechner für Privat-ETF · Altersvorsorgedepot · Riester-Bestand · Rürup  ·  Rechtsstand: Altersvorsorgereformgesetz (BGBl. 2026 I Nr. 156 vom 29.05.2026)
🔒 Lokal · keine autom. Übertragung

Altersvorsorge — einfach durchgerechnet

Dieses Werkzeug zeigt Ihnen, wie sich vier Wege der privaten Altersvorsorge für Ihre Lebenssituation rechnen — verständlich und ohne Fachvorwissen. Im Schnellrechner wählen Sie Ihre Situation aus, geben drei bis vier Angaben ein und sehen sofort einen Vergleich. Unter Was nun? erfahren Sie, wie der nächste Schritt praktisch abläuft.

Bitte beachten: Bei der staatlichen Förderung der Altersvorsorge ist derzeit vieles in Bewegung — das Altersvorsorgedepot startet zum 01.01.2027, und einzelne Förderdetails können sich bis dahin noch ändern. Die jeweils aktuelle Fassung dieses Werkzeugs finden Sie unter www.privatbilanz.de. Es lohnt sich, von Zeit zu Zeit dort nach einer neueren Version zu sehen.
Die vier Wege — kurz erklärt
  • Privat-ETF-Sparplan: Ein Wertpapiersparplan ohne staatliche Förderung. Sie bleiben jederzeit flexibel und kommen jederzeit an das Geld; auf die Erträge fällt jedoch Steuer an.
  • Altersvorsorgedepot: Ein neues, ab 2027 verfügbares gefördertes Depot. Der Staat legt Zulagen obendrauf, und es gibt einen Steuervorteil. Dafür ist das Geld bis zum Ruhestand gebunden. Achten Sie hier besonders auf die laufenden Kosten — sie wirken sich über die lange Laufzeit stark auf das Endkapital aus.
  • Riester (Bestand): Der bekannte geförderte Vertrag. Neue Riester-Verträge können nur noch bis zum 31.12.2026 abgeschlossen werden; danach ist kein Neuabschluss mehr möglich. Bereits bestehende Verträge bleiben darüber hinaus geschützt.
  • Rürup (Basisrente): Eine geförderte Rente vor allem für Selbstständige. Hoher Steuervorteil beim Einzahlen, dafür lebenslange Rente ohne Möglichkeit der Auszahlung auf einen Schlag.
So gehen Sie vor
  1. Wechseln Sie zum Tab Schnellrechner.
  2. Wählen Sie das Profil, das am ehesten zu Ihnen passt.
  3. Ergänzen Sie Geburtsjahr, monatlichen Sparbetrag und Einkommensbereich.
  4. Lesen Sie das Ergebnis — welcher Weg in Ihrer Situation am meisten übrig lässt.
  5. Unter Was nun? sehen Sie, wie es konkret weitergeht.

Wenn Sie alle Annahmen selbst steuern möchten — Rendite, Inflation, Kosten, Auszahlphase je Produkt —, wechseln Sie oben rechts in den Experten-Modus.

Wichtiger Hinweis — dies ist keine Beratung.
Dieses Werkzeug ist ein Rechen- und Anschauungshilfsmittel. Es ersetzt weder eine Steuer-, Rechts- noch eine Anlage- oder Versicherungsberatung und gibt keine Empfehlung ab, welches Produkt Sie abschließen sollten. Alle Berechnungen beruhen auf vereinfachten Annahmen und typisierten Durchschnittswerten und können von Ihrer tatsächlichen Situation abweichen. Bevor Sie eine Entscheidung treffen, lassen Sie sich von einer dafür zugelassenen Fachperson individuell beraten.
Keine Steuerberatung · Keine Rechtsberatung · Keine Anlageberatung
Modellhaftes Rechen- und Darstellungswerkzeug zur persönlichen Finanzplanung. Der Entwickler ist weder Steuerberater noch Wirtschaftsprüfer, Rechtsanwalt, Anlage- oder Versicherungsberater und ist insbesondere nicht zur geschäftsmäßigen Hilfeleistung in Steuersachen im Sinne des § 3 StBerG befugt. Durch die Nutzung der Software kommt keine Beratungsbeziehung zustande. Berechnungen, Befunde und Hinweise sind rein modellhaft und stellen keine Empfehlung im rechtlichen, steuerlichen, anlage- oder versicherungsbezogenen Sinne dar. Keine Gewähr, kein Support, Haftung im gesetzlich zulässigen Umfang ausgeschlossen (Vorsatz und grobe Fahrlässigkeit sowie Schäden an Leben, Körper und Gesundheit ausgenommen; § 521 BGB bleibt unberührt). Vor jeder Umsetzung steuerlicher, rechtlicher, anlage- oder versicherungsbezogener Entscheidungen ist eine individuelle Prüfung durch eine zugelassene Berufsperson erforderlich (Steuerberater, Wirtschaftsprüfer, Rechtsanwalt, Anlageberater nach WpHG, Vermittler nach § 34d GewO).
© 2026 Andreas Ebert · Freeware zur persönlichen Nutzung · Bezug: www.privatbilanz.de

Schnellrechner

Wählen Sie Ihre Situation und ergänzen Sie wenige Angaben. Alles Übrige rechnet das Werkzeug mit dokumentierten Standardwerten — diese sehen Sie unter dem Ergebnis.

1
Welche Situation passt zu Ihnen?
Familienstand und Kinder beeinflussen die staatliche Förderung — etwa die Kinderzulage und, bei Verheirateten, den doppelten Steuervorteil bei Rürup.
2
Ihre Angaben
Nur diese wenigen Werte hängen so stark von Ihnen persönlich ab, dass sie nicht pauschal angenommen werden können.
Daraus ergibt sich, wie viele Jahre noch zum Sparen bleiben.
Je Kind gibt es bei den geförderten Wegen eine zusätzliche Zulage.
In Euro pro Monat. Dieser Betrag ist das Vergleichsbudget für alle vier Wege. Wo ein gesetzlicher Höchstbeitrag greift, wird er nicht vollständig eingesetzt — das Ergebnis weist das dann aus.
Das zu versteuernde Einkommen ist der Betrag, der nach Abzügen tatsächlich besteuert wird — er steht in Ihrem Steuerbescheid. Daraus leitet das Werkzeug einen typischen Steuersatz ab.
Wichtig für die Rürup-Rente: Wer bereits über eine Basisversorgung der 1. Schicht verfügt — gesetzliche Rente, berufsständisches Versorgungswerk oder Beamtenpension —, hat für zusätzliche Rürup-Beiträge weniger steuerlichen Spielraum (gemeinsamer Höchstbetrag § 10 Abs. 3 EStG). Das Werkzeug schätzt den bereits genutzten Betrag aus Ihrem Einkommen und rechnet ihn an. Nur Selbstständige ohne Pflichtvorsorge erhalten den vollen Höchstbetrag.
Bei Verheirateten senkt das Ehegattensplitting den Steuersatz — wie stark, hängt davon ab, wie sich das Einkommen auf beide verteilt.
Bitte wählen Sie oben in Schritt 1 eine Situation aus, dann erscheint das Ergebnis.

Was nun? — Der nächste Schritt

Sie wissen jetzt, welcher Weg sich für Sie rechnen könnte — doch wie geht es praktisch weiter? Beantworten Sie ein paar Fragen, und das Werkzeug zeigt Ihnen einen anbieterneutralen Leitfaden für den nächsten Schritt. Es werden bewusst keine konkreten Banken, Broker oder Produkte genannt — die Auswahl bleibt Ihre Entscheidung.

Worum geht es?

Dieses Werkzeug rechnet vier Wege der privaten Altersvorsorge unter identischen Annahmen gegeneinander: einen klassischen Privat-ETF-Sparplan, das ab 01.01.2027 verfügbare Altersvorsorgedepot, einen bestehenden Riester-Vertrag und Rürup (Basisrente). Die Steuer- und Liquiditätseffekte werden nach den Vorgaben des Altersvorsorgereformgesetzes modelliert, das am 29.05.2026 im Bundesgesetzblatt verkündet wurde (BGBl. 2026 I Nr. 156) und dessen wesentliche Teile zum 01.01.2027 in Kraft treten.

Rechtsstand
Das Altersvorsorgereformgesetz wurde am 29.05.2026 im Bundesgesetzblatt verkündet (BGBl. 2026 I Nr. 156, ausgefertigt am 26.05.2026); seine wesentlichen Teile treten zum 01.01.2027 in Kraft, einzelne Regelungen (u. a. Wohnförderkonto, Grenzgänger) zum 01.01.2028. Die Förderparameter sind dem Gesetzeswortlaut und den begleitenden Materialien (FAQ des Bundesfinanzministeriums) entnommen. Die ersten Produkte können ab dem 01.01.2027 angeboten werden, sobald sie vom Bundeszentralamt für Steuern zertifiziert sind; abschlussfähige Angebote liegen derzeit noch nicht vor. Riester-Bestandsverträge bleiben über den 31.12.2026 hinaus geschützt, neue Verträge können dort nicht mehr geschlossen werden.
Aktualität: Das Gesetz ist verkündet (29.05.2026), die geförderte Altersvorsorge befindet sich aber weiterhin in einer Übergangsphase: Die Produkte starten erst zum 01.01.2027, die Zertifizierung läuft an, und einzelne Detailfragen (siehe Kasten unten) sind noch nicht abschließend geklärt. Die jeweils aktuelle Fassung dieses Werkzeugs mit dem neuesten Rechtsstand wird unter www.privatbilanz.de bereitgestellt. Ein gelegentlicher Abgleich mit der dortigen Version wird empfohlen.
Aktuelle Entwicklung — Stand Oktober 2026

Das Altersvorsorgedepot ist beschlossen, aber noch nicht am Markt. Wer sich gerade informiert, sollte den folgenden Stand kennen:

  • Gesetz in Kraft, Produkte ab 2027. Das Altersvorsorgereformgesetz ist am 29.05.2026 im Bundesgesetzblatt verkündet worden (BGBl. 2026 I Nr. 156). Die wesentlichen Regelungen gelten ab dem 01.01.2027; erst ab diesem Zeitpunkt dürfen Altersvorsorgedepots angeboten werden.
  • Angekündigt, aber noch nicht abschlussfähig. Zahlreiche Banken, Neobroker, Fondsgesellschaften und Versicherer haben Altersvorsorgedepots für den 01.01.2027 angekündigt, viele bereits mit Kostenangaben — beim Standarddepot teils deutlich unter dem gesetzlichen Höchstwert von 1 %. Alle Angaben stehen unter dem Vorbehalt der Zertifizierung; abschließen lässt sich vor dem 01.01.2027 noch nichts. Verbindliche Rentenfaktoren für die lebenslange Rente liegen weiterhin nicht vor. Der im Werkzeug für die Auswertung „mit oder ohne Absicherung" verwendete Rentenfaktor (Vorgabe 27 € je 10.000 €) bleibt daher eine Modellannahme ohne Marktbeleg.
  • Zertifizierung und Standarddepot. Jedes Produkt muss vom Bundeszentralamt für Steuern zertifiziert sein, bevor es angeboten werden darf. Ab dem 01.01.2027 geschieht das grundsätzlich ohne vollständige Vorabprüfung unter dem Vorbehalt des Widerrufs; auf Antrag und gegen eine höhere Gebühr ist eine vollständige Vorabprüfung möglich, dann ohne Widerrufsvorbehalt (§ 5 Abs. 4 Altersvorsorgeverträge-Zertifizierungsgesetz, AltZertG). Der Vorbehalt endet regulär zwei Jahre, für bis Ende 2028 eingegangene Anträge vier Jahre nach Ablauf des Kalenderjahres, in dem die Zertifizierungsnummer versandt wurde (§ 5 Abs. 1, § 14 Abs. 7 AltZertG). Wer Garantieprodukte oder Altersvorsorgedepots anbietet, muss zugleich mindestens ein Standarddepot anbieten — selbst oder über einen kooperierenden Anbieter (§ 1 Abs. 3 AltZertG) —, dessen Effektivkosten höchstens 1,0 % pro Jahr betragen; für diese Verträge sind die Effektivkosten auszuweisen (§ 2a AltZertG).
  • Vergleich der Angebote. Eine staatliche Vergleichsplattform ist nicht vorgesehen. Anbieter und Zertifizierungsstelle müssen Muster-Produktinformationen veröffentlichen; auf dieser Grundlage können Dritte Vergleiche anbieten (Antwort der Bundesregierung, Bundestagsdrucksache 21/6726 vom 25.06.2026).
  • Öffentliches Standarddepot. Das Gesetz erlaubt der Bundesregierung, ein Standarddepot durch einen öffentlichen Träger anbieten zu lassen; dafür ist eine Rechtsverordnung nötig, die noch nicht vorliegt. Einen Träger und einen Starttermin hat die Bundesregierung bislang nicht genannt. Ob ein öffentliches Angebot zum 01.01.2027 bereitsteht, ist offen.
  • Auszahlung. Der Auszahlbeginn ist frühestens mit Vollendung des 65. Lebensjahres möglich (früher nur, wenn vorher eine Leistung aus einem gesetzlichen Alterssicherungssystem beginnt, etwa die gesetzliche Altersrente), spätestens mit dem 70. Lebensjahr. Zulässig sind eine lebenslange Leibrente oder ein Auszahlplan, der frühestens mit Vollendung des 85. Lebensjahres endet; bis zu 30 % des Kapitals können zu Beginn der Auszahlungsphase gesondert ausgezahlt werden.
  • Kranken- und Pflegeversicherung. Pflichtversicherte in der Krankenversicherung der Rentner zahlen auf Leistungen aus dem Altersvorsorgedepot keine Beiträge, auch nicht auf Teilkapital: Beitragspflichtig sind dort nur die gesetzliche Rente, Versorgungsbezüge und Arbeitseinkommen (§ 237 SGB V), und Leistungen aus gefördertem Altersvorsorgevermögen zählen nicht zu den Versorgungsbezügen (§ 229 Abs. 1 SGB V). Das Werkzeug bildet das ab (Schalter im Tab Eingaben). Bei freiwillig gesetzlich Versicherten sind die Auszahlungen beitragspflichtig. Offen ist dort, wie Einmal- und Teilkapitalauszahlungen aus dem Altersvorsorgedepot zeitlich zu verteilen sind; hierzu fehlt bislang eine ausdrückliche Festlegung. Das Werkzeug verteilt sie in Anlehnung an § 229 SGB V auf 120 Monate — als ausgewiesene, vorsichtige Modellannahme.
  • Was sich noch ändern kann. Ein Anwendungsschreiben des Bundesfinanzministeriums zur neuen Förderung ist bislang nicht veröffentlicht; es kann Auslegungsfragen — etwa zur Besteuerung von Kapital- und Teilkapitalauszahlungen aus dem nicht geförderten Teil — noch klären. Zertifizierungsdetails und die Produktlandschaft entwickeln sich bis zum Start und danach weiter. Die Berechnungen dieses Werkzeugs sind modellhaft und beim tatsächlichen Produktabschluss anhand der dann gültigen Bedingungen zu prüfen.
Modellannahmen im Überblick
  • Grundzulage Altersvorsorgedepot: 50 ct/€ bis 360 € Eigenbeitrag, danach 25 ct/€ bis 1.800 €, maximal 540 €/Jahr.
  • Mindesteigenbeitrag: 120 €/Jahr (10 €/Monat). Die einkommensabhängige Kürzung der Zulagen wie bei Riester entfällt vollständig.
  • Kinderzulage: 1 € Zulage je 1 € Eigenbeitrag bis 300 €/Kind/Jahr, je Kind nur an einen Elternteil.
  • Berufseinsteigerbonus: einmalig 200 €, wenn der Anleger zu Beginn des Beitragsjahres unter 25 Jahre alt ist (Stichtag ist nicht der Vertragsabschluss).
  • Sonderausgabenabzug § 10a EStG: 1.800 € zuzüglich Zulagenanspruch. Die Günstigerprüfung wird im Modell durchgeführt.
  • Anspar-Besteuerung: Keine. Weder Vorabpauschale noch Abgeltungsteuer auf laufende Erträge.
  • Auszahl-Besteuerung — Zwei-Töpfe-Logik: Der geförderte Anteil wird in voller Höhe nach § 22 Nr. 5 EStG besteuert (Grenzsteuersatz im Ruhestand). Für Beiträge oberhalb der 1.800-€-Grenze (nicht geförderter Topf) kommt es auf die Auszahlform an:
    • Als lebenslange Rente nur Ertragsanteilsbesteuerung nach § 22 Nr. 5 Satz 2 i. V. m. § 22 Nr. 1 Satz 3 EStG. Der Ertragsanteil richtet sich nach dem Alter bei Rentenbeginn (mit 67: 17 %; bei abweichendem Renteneintrittsalter im Experten-Modus rechnet das Werkzeug mit dem jeweils gesetzlich maßgeblichen Wert).
    • In allen übrigen Auszahlformen — Kapitalauszahlung (Einmalbetrag oder 30 % vorab) und befristeter Auszahlplan — ist der Unterschiedsbetrag steuerpflichtig: die Auszahlung abzüglich der darauf entfallenden eingezahlten Beiträge, also nur der Gewinn (§ 22 Nr. 5 Satz 2 Buchst. c i. V. m. § 20 Abs. 1 Nr. 6 EStG). Nach der 12/62-Regel ist davon nur die Hälfte steuerpflichtig, wenn der Vertrag mindestens 12 Jahre bestanden hat und die Auszahlung nach Vollendung des 62. Lebensjahres erfolgt; sonst der volle Unterschiedsbetrag. (Das Altersvorsorgedepot kann frühestens 2027 abgeschlossen werden, daher gilt hier stets die Altersgrenze 62; bei Riester-Verträgen mit Abschluss vor 2012 sind es 60.) Besteuert wird jeweils mit dem persönlichen Grenzsteuersatz im Ruhestand (keine Abgeltungsteuer, da sonstige Einkünfte). Maßgeblich ist, dass die Ertragsanteilsbesteuerung eine lebenslange Leibrente voraussetzt — ein bis zum Auszahlende befristeter Plan ist keine.
  • Rechtsstand wird nicht fortgeschrieben: Alle steuerlichen und sozialrechtlichen Größen bleiben über die gesamte Laufzeit auf ihrem heutigen Stand — insbesondere der gemeinsame Höchstbetrag § 10 Abs. 3 EStG (30.826 € / 61.652 €), der Einkommensteuertarif § 32a EStG, die Beitragssätze zur Kranken- und Pflegeversicherung sowie die Zulagenbeträge. In der Wirklichkeit steigt der Höchstbetrag jährlich mit der Beitragsbemessungsgrenze (die Lohnentwicklung 2026 lag bei 4,25 %), und der Tarif wird regelmäßig an die Inflation angepasst. Die Rechnung unterschätzt dadurch bei hohen Rürup-Beiträgen den steuerlich abziehbaren Spielraum und überschätzt die Steuerlast im Ruhestand. Die Zulagenbeträge sind dagegen gesetzlich feste Nominalbeträge und steigen ohne Gesetzesänderung ohnehin nicht. Die nächste turnusmäßige Anpassung der Rechengrößen erfolgt mit der Sozialversicherungs-Rechengrößenverordnung 2027 (Herbst 2026).
  • Übertragung Rürup ↔ Altersvorsorgedepot: nicht möglich (verschiedene Säulen).
  • Begünstigtenkreis Altersvorsorgedepot: Gesetzlich Rentenversicherungspflichtige, Beamte (mit Einwilligung), Selbstständige nach § 15 / § 18 Abs. 1 Nr. 1–3 EStG bei Steuererklärung, Pflichtmitglieder berufsständischer Versorgungswerke (mit Einwilligung gegenüber ZfA). Mittelbar berechtigte Ehegatten max. 175 € Grundzulage.
Bedienlogik
  1. Im Tab Eingaben die persönlichen, steuerlichen und die Globalparameter (Rendite, Inflation, Renteneintritt, Auszahlendalter) erfassen.
  2. Im Tab Vergleich die vier Spalten gegenüberstellen. Jede Spalte erlaubt einen Override der Globalparameter und individuelle Einstellungen zur Auszahlphase im gesetzlichen Rahmen.
  3. Im Tab Steuersatz-Szenarien die Sensitivität gegenüber dem Grenzsteuersatz im Ruhestand prüfen.
  4. Im Tab Auswertung die neutrale Modell-Aussage zur Vorzugswürdigkeit lesen. Die Auswertung verzichtet bewusst auf normative Empfehlungen.
  5. Im Tab Druckreport eine kompakte Druckansicht erzeugen.
Keine Steuerberatung · Keine Rechtsberatung · Keine Anlageberatung
Modellhaftes Rechen- und Darstellungswerkzeug zur persönlichen Finanzplanung. Der Entwickler ist weder Steuerberater noch Wirtschaftsprüfer, Rechtsanwalt, Anlage- oder Versicherungsberater und ist insbesondere nicht zur geschäftsmäßigen Hilfeleistung in Steuersachen im Sinne des § 3 StBerG befugt. Durch die Nutzung der Software kommt keine Beratungsbeziehung zustande. Berechnungen, Befunde und Hinweise sind rein modellhaft und stellen keine Empfehlung im rechtlichen, steuerlichen, anlage- oder versicherungsbezogenen Sinne dar. Keine Gewähr, kein Support, Haftung im gesetzlich zulässigen Umfang ausgeschlossen (Vorsatz und grobe Fahrlässigkeit sowie Schäden an Leben, Körper und Gesundheit ausgenommen; § 521 BGB bleibt unberührt). Vor jeder Umsetzung steuerlicher, rechtlicher, anlage- oder versicherungsbezogener Entscheidungen ist eine individuelle Prüfung durch eine zugelassene Berufsperson erforderlich (Steuerberater, Wirtschaftsprüfer, Rechtsanwalt, Anlageberater nach WpHG, Vermittler nach § 34d GewO).
© 2026 Andreas Ebert · Freeware zur persönlichen Nutzung · Bezug: www.privatbilanz.de

Eingaben

Tragen Sie hier Ihre persönlichen Angaben und die Annahmen für die Rechnung ein. Das kleine i Fahren Sie mit der Maus über das Zeichen, dann erscheint eine Erklärung zum Feld. -Zeichen neben einem Feld blendet eine kurze Erklärung ein. Die allgemeinen Annahmen (Rendite, Inflation, Alter bei Rentenbeginn) gelten zunächst für alle vier Vergleichswege. Weiter unten lassen sie sich bei Bedarf je Produkt abweichend einstellen.

Angaben zur Person
Beginn der Ansparphase — frühestens 2027 (Start des Altersvorsorgedepots)
Alle eigenen Kinder — Zulage bis 300 €/Jahr je Kind mit Kindergeldanspruch; Geburtsjahr zählt zusätzlich für die Pflegeversicherung
Je Kind erhält nur ein Elternteil die Zulage
Erscheint je erfasstem Kind. Die Förderdauer steuert die Kinderzulage, das Geburtsjahr zusätzlich den Pflegeversicherungs-Abschlag
Beim Altersvorsorgedepot ist die Beitragspflicht noch nicht abschließend geklärt — siehe Erklärung
Setzen, wenn mindestens ein Kind vorhanden ist. Alle Kinder gehören zusätzlich oben mit Geburtsjahr erfasst — auch ohne Kindergeldanspruch, sonst entfällt der Abschlag für das zweite bis fünfte Kind
%
0 %, wenn keine Kirchensteuerpflicht besteht
Angaben zur Steuer
Nur bei bestehendem Riester-Vertrag nötig; sonst leer lassen
Nur für angestellte Rürup-Sparer; GRV-Beitrag inkl. Arbeitgeberanteil. Selbstständige: leer lassen
%
Solidaritätszuschlag einrechnen; Kirchensteuer wird separat erfasst
%
Schätzwert — wird im Tab Steuersatz-Szenarien variiert
Wie finde ich diese Werte? — kurze Orientierungshilfe

Zu versteuerndes Einkommen. Der Wert steht im letzten Einkommensteuerbescheid im Festsetzungsteil, dort ausdrücklich als „zu versteuerndes Einkommen“ bezeichnet. Liegt kein Bescheid vor: Bei abhängig Beschäftigten fällt das zu versteuernde Einkommen in aller Regel deutlich niedriger aus als der Bruttojahreslohn, weil unter anderem die Sozialversicherungs­ beiträge, die Werbungskosten und Sonderausgaben abgezogen werden. Eine genaue Umrechnung aus dem Bruttolohn hängt von zu vielen Einzelfaktoren ab, um sie hier seriös abzubilden — verlässlich ist allein der Steuerbescheid.

Steuersatz auf den letzten Euro (Grenzsteuersatz). Die folgende Tabelle gibt eine grobe Orientierung für Alleinstehende im Grundtarif, ohne Solidaritätszuschlag und ohne Kirchensteuer. Die Zwischenwerte sind gerundete Näherungen; belastbar sind vor allem die drei Eckpunkte (Grundfreibetrag, Spitzensteuersatz, oberste Tarifstufe).

Zu versteuerndes Einkommen im Jahr Grenzsteuersatz (ungefähr)
bis rund 12.000 €0 % — Grundfreibetrag
rund 15.000 €etwa 25 %
rund 25.000 €etwa 30 %
rund 35.000 €etwa 35 %
rund 50.000 €etwa 40 %
ab rund 68.000 €42 % — Spitzensteuersatz
ab rund 278.000 €45 %

Zu beachten: Bei Zusammenveranlagung von Eheleuten oder eingetragenen Lebenspartnern gilt das Ehegattensplitting; die genannten Einkommensschwellen verdoppeln sich dann näherungsweise. Solidaritätszuschlag und Kirchensteuer erhöhen die Belastung des letzten Euro zusätzlich. Maßgeblich bleibt stets der individuelle Steuerbescheid — die Tabelle dient nur der ersten Einordnung.

Allgemeine Annahmen für die Rechnung
%
Gilt bis zum Rentenbeginn
%
Verzinsung des Restkapitals im Ruhestand
%
Obergrenze beim Standardprodukt: 1,0 % laut Reform
%
%
Altersvorsorgedepot: frühestens mit 65
Rechengröße für Auszahlplan und Vergleichswert
%
%
Informationswert (amtlicher Basiszins 2026); die Vorabpauschale wird in dieser Version nicht berechnet
Vergleichsbasis der vier Wege i Die geförderten Wege (Altersvorsorgedepot, Riester, Rürup) erzeugen in der Ansparphase eine jährliche Steuererstattung; der Privat-ETF nicht. Damit ein Vergleich aussagekräftig ist, muss klar sein, wie diese Erstattung im Modell behandelt wird. Drei Varianten stehen zur Wahl — siehe Hinweise unter den Optionen.

Die geförderten Wege bringen in der Ansparphase eine Steuererstattung mit; der Privat-ETF nicht. Wählen Sie hier, wie das Modell diese Erstattung behandelt. Die Wahl beeinflusst den Vergleichswert spürbar — die Voreinstellung „gleicher Bruttobeitrag" zeigt die Erstattung nur an, ohne sie weiter anzulegen.

Monatliche Sparbeiträge der vier Wege

Tragen Sie hier ein, wie viel Sie monatlich in den jeweiligen Weg einzahlen würden. Damit ein Vergleich entsteht, sollten mindestens zwei Wege einen Beitrag größer null haben. Wege, die Sie nicht nutzen, lassen Sie auf 0 stehen. Unter dem Beitrag lässt sich je Weg eine jährliche Steigerung der Sparrate (Dynamisierung) einstellen. Die vier Wege sind durchgehend farblich gekennzeichnet — dieselben Farben finden sich im Tab Vergleich wieder.

Privat-ETF
%
Altersvorsorgedepot
%
Riester (Bestand)
%
Rürup (Basisrente)
%
So wird das Ersparte später ausgezahlt

Hier legen Sie je Weg fest, wie das angesparte Geld im Ruhestand genutzt wird — als gleichmäßige Auszahlung, lebenslange Rente, Einmalbetrag oder Mischform. Die Wahl verändert die jährliche Auszahlung, die Steuerlast und damit den Vergleichswert deutlich; was erlaubt ist, ist je Weg gesetzlich unterschiedlich.

Verzinsung in der Auszahlphase. In allen Auszahlformen verzinst sich das noch nicht entnommene Restkapital weiter — und zwar mit der oben eingestellten Rendite vor Kosten der Auszahlphase (abzüglich der Produktkosten). Die Auszahlformen unterscheiden sich nur in der Struktur: Beim gleichmäßigen Auszahlplan wird jedes Jahr der feste Betrag „angespartes Kapital geteilt durch Auszahljahre" entnommen; weil sich das Restkapital verzinst, verbleibt am Ende eine zusätzliche Schlusszahlung. Beim Auszahlplan mit Verzinsung wird stattdessen eine etwas höhere, konstante Jahresrate gezahlt, die das verzinste Kapital über die Laufzeit exakt aufbraucht — es bleibt keine Schlusszahlung. Beim Einmalbetrag fließt alles zu Rentenbeginn, danach gibt es keine Verzinsung mehr.
Privat-ETF
Altersvorsorgedepot
Riester (Bestand)
Rürup (Basisrente)
Eine Kapitalauszahlung ist gesetzlich nicht möglich
Altersvorsorgedepot: Auszahlung mit oder ohne Absicherung i Zu Beginn der Auszahlphase des Altersvorsorgedepots kann zwischen einer lebenslangen Leibrente (Schutz gegen das Risiko, das eigene Kapital zu überleben) und einem zeitlich begrenzten Auszahlplan gewählt werden. Diese Auswertung stellt beide Wege gegenüber. Sie ist bewusst vom Vier-Wege-Vergleich getrennt und greift das oben für das Altersvorsorgedepot errechnete Endkapital auf.

Die lebenslange Leibrente zahlt monatlich weniger, dafür bis zum Lebensende; der Auszahlplan zahlt mehr, endet aber zum Auszahlende, und ein verbleibendes Restkapital ist vererbbar. Maßgeblich ist die persönliche Einschätzung zur eigenen Lebenserwartung.

€ monatlich je 10.000 € Kapital
Weitere Auszahlvarianten in Vorbereitung. Das Altersvorsorge­reformgesetz lässt über die hier abgebildeten Grundformen hinaus weitere Gestaltungen zu, unter anderem: eine lebenslange Leibrente mit Hinterbliebenenabsicherung (Rentengarantiezeit, Witwen-/Witwerrente); einen Auszahlplan mit anschließender Teilverrentung ab höherem Alter; dynamisch steigende statt konstanter Renten; sowie Kombinationen aus Teilkapital und Verrentung in frei wählbarer Quote. Sobald eine belastbare Zahl konkreter Marktangebote vorliegt, wird das Programm um diese Varianten erweitert.
Vorzeitige Kündigung: was bleibt nach Rückforderung der Förderung? i Wer ein Altersvorsorgedepot oder einen Riester-Vertrag vor dem Rentenbeginn auflöst und sich das Kapital auszahlen lässt, verwendet es „förderschädlich". Diese Auswertung zeigt, was nach Rückzahlung der Förderung und nach Steuern übrig bleibt. Sie ist bewusst vom Vier-Wege-Vergleich getrennt: dort wird stets die reguläre Auszahlung im Ruhestand gerechnet.

Bei einer förderschädlichen Verwendung sind die erhaltenen Zulagen und die darüber hinausgehenden Steuerermäßigungen zurückzuzahlen (§ 93 Absatz 1 Einkommensteuergesetz). Das verbleibende Kapital gilt nach Abzug der Zulagen als Leistung nach § 22 Nummer 5 Satz 3 Einkommensteuergesetz: besteuert wird der Unterschiedsbetrag zur Summe Ihrer Eigenbeiträge. Bei mindestens zwölf Jahren Vertragsdauer wird er nur zur Hälfte angesetzt, wenn die Auszahlung nach Vollendung des maßgeblichen Lebensjahres erfolgt: 60 bei Vertragsabschluss vor 2012, sonst 62 (§ 20 Absatz 1 Nummer 6 Satz 2 Einkommensteuergesetz in der für den Vertrag geltenden Fassung). Das Altersvorsorgedepot kann frühestens 2027 abgeschlossen werden; dort gilt stets 62.

ganzes Lebensalter, vor dem Rentenbeginn
bestimmt die Riester-Auswertung

Riester-Bestandsdaten (aus Standmitteilung und Steuerbescheiden). Diese Angaben werden nur ausgewertet, wenn oben „Bestehender Vertrag" gewählt ist — dann sind sie alle erforderlich. Ein bewusst eingetragener Wert 0 zählt als Angabe, ein leeres Feld nicht. Die Angaben wirken ausschließlich in dieser Auswertung, nicht im Vier-Wege-Vergleich.

Jahr ab 2002
Stand zu Jahresbeginn
€
€
€
€
Wichtig: Die Auszahlung ist nur eine von mehreren Möglichkeiten. Eine Beitragsfreistellung (der Vertrag ruht, die Förderung bleibt erhalten) oder eine Übertragung auf einen anderen geförderten Vertrag sind in der Regel die schonenderen Wege und lösen keine Rückforderung aus. Prüfen Sie das vor einer Kündigung anhand Ihres konkreten Vertrags.
Eigene Werte je Weg (wenn gewünscht) ersetzt die allgemeinen Annahmen

Normalerweise gelten für alle vier Wege dieselben allgemeinen Annahmen von weiter oben. Wenn ein einzelner Weg mit anderen Werten gerechnet werden soll — etwa eine vorsichtigere Rendite für das Altersvorsorgedepot oder höhere Kosten bei einem alten Riester-Vertrag — können Sie das hier einschalten. Die Rendite vor Kosten lässt sich getrennt für die Anspar- und die Auszahlphase angeben; die Kosten gelten für beide Phasen. Solange der Schalter aus ist, gelten die allgemeinen Annahmen.

Privat-ETF
%
%
%
Altersvorsorgedepot
%
%
%
Riester (Bestand)
%
%
%
Rürup (Basisrente)
%
%
%

Vergleich der vier Wege

Je Weg eine Spalte: oben die beiden Kennzahlen Endkapital und Barwert, darunter der Detailkasten mit der vollständigen Rechenkette. Wo im Eingaben-Tab eigene Werte aktiviert sind, gelten für das betreffende Produkt abweichende Renditen und Kosten. Der Barwert diskontiert die Nettoauszahlungen auf den Renteneintritt; er ist die Kennzahl, die Produkte mit unterschiedlicher Auszahlmechanik vergleichbar macht.

noch nicht berechnet

Endkapital und kumulierte Nettoauszahlung im Vergleich
Eigenschaften jenseits der Rendite
Eigenschaft Privat-ETF AV-Depot Riester Rürup
Liquidität in der Ansparphase jederzeit gebunden bis 65 gebunden gebunden
Beleihbarkeit grundsätzlich ja nein nein nein
Vererbbarkeit (Kapital) voll eingeschränkt (Rentengarantiezeit / Restkapital) eingeschränkt grds. nicht (Hinterbliebenenrente möglich)
Bürgergeld-Schutz § 12 SGB II grds. anrechenbar geschützt geschützt geschützt
Verwertung in Grundsicherung § 90 SGB XII verwertbar grds. geschützt grds. geschützt geschützt
Förderschädliche Verwendung irrelevant Rückforderung Förderung Rückforderung Förderung grds. nicht möglich
Auszahlbeginn jederzeit frühestens 65 62/63 (vertragsabhängig) 62 (gesetzl. Mindest)

Norm-Hinweis: § 12 Abs. 1 Nr. 3 SGB II (Bürgergeld), § 90 Abs. 2 Nr. 2 SGB XII (Grundsicherung), § 851c ZPO (Pfändungsschutz Altersvorsorgeverträge). Tabellarische Darstellung ohne Anspruch auf vollständige Wiedergabe des Einzelfalls.

Zahlungsströme

Diese Ansicht macht sichtbar, was Jahr für Jahr tatsächlich fließt: in der Ansparphase der eigene Beitrag und die staatliche Förderung, in der Auszahlphase die Brutto-Auszahlung, die darauf entfallende Steuer, ein etwaiger Kranken- und Pflegeversicherungsbeitrag und der Nettobetrag. Wählen Sie oben den Weg, dessen Zahlungsströme Sie betrachten möchten.

Zahlungsströme Jahr für Jahr

Steuersatz-Szenarien

Sensitivität der Vergleichswerte gegenüber dem Steuersatz auf den letzten Euro im Ruhestand. Drei Szenarien werden parallel berechnet — niedrig 18 %, mittel 28 %, hoch 38 %. Alle übrigen Parameter (Rendite, Kosten, Beiträge, Inflation, Diskont) bleiben unverändert. Die historische Tarifentwicklung seit 1960 dient als Modellkontext: Verschiebungen um fünf bis zehn Prozentpunkte über einen 25- bis 40-jährigen Anlagehorizont sind nicht ungewöhnlich.

Drei-Szenarien-Tabelle noch nicht berechnet
Szenario Grenzsatz Ruhestand Privat-ETF (Barwert) AV-Depot (Barwert) Riester (Barwert) Rürup (Barwert) Modell-Spitzenreiter

Der Privat-ETF reagiert nicht auf den Ruhestand-Grenzsatz (Abgeltungsteuer 25 % fix); seine Barwerte sind in allen drei Spalten identisch. Riester und das Altersvorsorgedepot reagieren am stärksten, weil ihre Auszahlungen voll bzw. anteilig nach § 22 Nr. 5 EStG mit dem persönlichen Grenzsatz besteuert werden.

Barwerte je Produkt im Szenarienvergleich
Einkommensteuer-Spitzensätze in Deutschland 1960–2026 (Modellkontext)

Die Grafik zeigt fünf Reihen in Fünf-Jahres-Schritten. Die durchgezogene Spitzensteuersatz-Linie ist der höchste reguläre Grenzsteuersatz nach § 32a Einkommensteuergesetz; er liegt seit 2005 bei 42 %. Die durchgezogene Linie Höchststeuersatz — umgangssprachlich „Reichensteuer" — ist die 2007 eingeführte zusätzliche Tarifstufe von 45 % für sehr hohe Einkommen; davor existierte sie nicht, weshalb diese Linie beim Stützpunkt 2010 einsetzt. Zu jeder dieser beiden Linien gibt es eine gestrichelte Variante in derselben Farbe: sie zeigt den Satz einschließlich Solidaritätszuschlag. Der Zuschlag erhöht die Belastung um 5,5 % des Steuerbetrags — aus 42 % werden so rund 44,3 %, aus 45 % rund 47,5 %. Im Tooltip wird der Soli-Wert in Klammern bei der jeweiligen Hauptlinie ausgewiesen. Die rechte Achse misst alle Steuersatz-Linien in Prozent.

Die graue gestrichelte Linie (linke Achse) zeigt, ab welchem Vielfachen des durchschnittlichen Bruttojahresgehalts der Spitzensteuersatz greift: 1965 erst beim rund 15-fachen, heute bereits beim etwa 1,9-fachen — der Spitzensteuersatz trifft also längst nicht mehr nur Spitzenverdiener. Belastbare Stützwerte (1965, 1980, 1990, 2000, 2017) stammen vom Institut der deutschen Wirtschaft Köln; die Zwischenjahre sind näherungsweise interpoliert. Hinweis zur Bezugsgröße: Die zitierfähige Quelle misst am durchschnittlichen Bruttogehalt aller Arbeitnehmer. Bezogen allein auf Vollzeitbeschäftigte läge der heutige Faktor noch etwas niedriger; ein durchgehender, belastbarer Median-Zeitverlauf liegt nicht vor. Quelle der Steuersätze: § 32a Einkommensteuergesetz in den jeweiligen Fassungen sowie die Tarifhistorie des Bundesministeriums der Finanzen.

Modellgrenze. Variiert wird ausschließlich der Grenzsteuersatz im Ruhestand. Eine echte Sensitivitätsanalyse würde zusätzlich Renditeschwankung, Inflationspfad, Kohortenverschiebung und ggf. eine veränderte Höchstbetragslogik einbeziehen — das wird in einer späteren Ausbaustufe oder im Tool Finanzstruktur Vermögensplanung abgebildet.

Auswertung

Auswertung — nicht Empfehlung. Das Modell zeigt die Vorzugswürdigkeit der vier Wege in neutraler Sprache und unter Offenlegung der zugrunde liegenden Annahmen. Maßgröße ist der Barwert; was er aussagt, erläutert der Abschnitt weiter unten.

Barwert der vier Wege im Vergleich

Dargestellt ist der abgezinste Barwert der Nettoauszahlungen je Weg — also der unten erläuterte Vergleichswert. Je höher der Balken, desto mehr ist die gesamte spätere Auszahlung, auf heutige Kaufkraft und den Renteneintritt umgerechnet, im Modell wert. Nur Wege mit einem Beitrag größer null werden dargestellt.

Was der Barwert bedeutet — und was nicht

Die vier Wege zahlen das Ersparte sehr unterschiedlich aus: der eine als Einmalbetrag, der andere als lebenslange Rente, ein dritter als Auszahlplan über zwanzig Jahre. Solche Zahlungsströme lassen sich nicht unmittelbar vergleichen — 1.000 Euro heute sind mehr wert als 1.000 Euro in zwanzig Jahren, weil Geld zwischenzeitlich an Kaufkraft verliert und angelegt werden könnte.

Der Barwert löst dieses Problem. Er rechnet jede künftige Netto-Auszahlung auf einen gemeinsamen Stichtag — den Renteneintritt — zurück und bereinigt sie um die Geldentwertung. Eine Zahlung, die erst spät fließt, zählt dadurch weniger als eine frühe Zahlung gleicher Höhe. Die Summe all dieser zurückgerechneten Beträge ist der Barwert. Vereinfacht: Er beziffert, wie viel die gesamte spätere Auszahlung eines Weges aus heutiger Sicht wert ist.

Kurz gesagt: Der Barwert ist die Kennzahl, die ungleich strukturierte Auszahlungen auf einen Nenner bringt. Ein höherer Barwert bedeutet im Modell den finanziell vorteilhafteren Weg. Er ist jedoch kein Maß für Sicherheit, Flexibilität oder Vererbbarkeit — diese Eigenschaften zeigt die Tabelle im Tab Vergleich. Und er beruht auf Annahmen (Rendite, Abzinsung, Steuersatz), die über Jahrzehnte nicht konstant bleiben; deshalb lohnt der Blick in den Tab Steuersatz-Szenarien.
Was die Auswertung nicht leistet
  • Sie ersetzt keine steuerliche, rechtliche, anlage- oder versicherungsbezogene Beratung.
  • Sie berücksichtigt nicht die individuelle Risikoneigung, Liquiditätsplanung und Lebenssituation.
  • Sie unterstellt eine konstante steuerliche und sozialrechtliche Rahmenlage über die gesamte Laufzeit. Das ist realitätsfern; die Sensitivität gegenüber Steuersatzänderungen wird in Tab Steuersatz-Szenarien geprüft.
  • Sie modelliert die Kosten als Pauschalwert. Echte Anbieter weichen davon ab.
  • Der Privat-ETF wird steuerlich vereinfacht gerechnet, und zwar mit gegenläufigen Vereinfachungen — beide werden hier genannt, damit nicht der Eindruck einer einseitigen Verzerrung entsteht:
    • Zugunsten des ETF: Die Vorabpauschale (§ 18 Investmentsteuergesetz) ist im Modell auf null gesetzt, und die Steuer auf Auszahlungen nutzt eine über den gesamten Bestand gemittelte Gewinnquote statt der gesetzlichen Reihenfolge „zuerst angeschafft, zuerst veräußert" (§ 20 Absatz 4 Satz 7 Einkommensteuergesetz).
    • Zulasten des ETF: Der Sparer-Pauschbetrag (§ 20 Absatz 9 Einkommensteuergesetz, 1.000 € je Person und Jahr) wird nicht angesetzt. Grund: Das Werkzeug weiß nicht, ob er bereits durch andere Kapitalerträge verbraucht ist; ihn ungeprüft anzurechnen wäre eine stillschweigende Annahme zugunsten des ETF. Im Standardfall werden dadurch rund 260 € Steuer je Auszahljahr zu viel angesetzt — etwa 2,7 % des ETF-Barwerts. Wer den Freibetrag tatsächlich noch frei hat, darf den ETF also etwas besser einschätzen, als das Werkzeug ihn ausweist.
    Die beiden Effekte heben sich teilweise auf; welcher überwiegt, hängt vom Einzelfall ab. Deshalb gilt: Liegen zwei Wege im Barwert dicht beieinander (Richtwert unter etwa 5 %), ist die Rangfolge nicht entscheidungsfest — dann geben Sicherheit, Flexibilität, Vererbbarkeit und die individuelle Lage den Ausschlag, nicht der knappe Barwertvorsprung.

Druckreport

Der Druckreport stellt die gewählten Auswertungsteile als mehrseitiges Dokument zusammen. Wählen Sie unten, welche Abschnitte enthalten sein sollen; die Vorschau darunter aktualisiert sich sofort. Über die Schaltfläche „Druckreport drucken" oder „Drucken" oben rechts wird ausschließlich dieser Bericht gedruckt — Kopf, Tab-Leiste und Bedienelemente werden ausgeblendet.

Abschnitte des Druckreports

Die Abschnitte Steuersatz-Szenarien und Zahlungsströme sind umfangreich und standardmäßig nicht ausgewählt. Jeder Abschnitt beginnt im Druck auf einer neuen Seite.

Administration

Dieser Bereich dient der Qualitätssicherung. Die Plausibilitätsprüfung läuft automatisch bei jeder Berechnung mit und kontrolliert die aktuell erfassten Werte auf typische Fehler und Unstimmigkeiten. Der Selbsttest prüft die Rechenregeln des Werkzeugs gegen feste Erwartungswerte; er muss eigens gestartet werden. Beide Routinen ersetzen keine fachliche Durchsicht, sie helfen aber, offensichtliche Probleme früh zu erkennen.

Plausibilitätsprüfung der Eingaben läuft automatisch

Diese Prüfung sieht sich die im Tab Eingaben erfassten Werte an und meldet Unstimmigkeiten — etwa einen Renteneintritt vor dem heutigen Alter, fehlende Beiträge oder einen unrealistisch gewählten Parameter. Sie wird bei jeder Neuberechnung automatisch aktualisiert. Hinweise, die nach fachlicher Durchsicht in Ordnung sind, lassen sich über das Kästchen geprüft als erledigt markieren; diese Markierung bleibt beim Speichern und Laden erhalten.

Wird mit der ersten Berechnung gefüllt.

Sicherheit

Transparenznachweis der lokalen Verarbeitung: erzwungene Netzwerksperre (Content-Security-Policy mit connect-src 'none') und Auflistung der tatsächlich geladenen Ressourcen. Das Werkzeug sendet keine Eingaben oder Ergebnisse automatisch nach außen. Die Prüfung lässt sich auch über den Status oben links im Kopf öffnen.

Selbsttest der Rechenregeln

Der Selbsttest rechnet feste Beispielfälle durch und vergleicht das Ergebnis mit dem erwarteten Wert. Er prüft die steuerlichen und rechtlichen Grundregeln, die innere Schlüssigkeit der Berechnung und das Verhalten der einzelnen Auszahlwege. Anders als die Plausibilitätsprüfung hängt er nicht von den Eingaben ab und wird nur auf Knopfdruck ausgeführt.

Noch nicht ausgeführt.

Verwendete Quellen

Die folgenden Quellen liegen den gesetzlich fixierten Größen und der Berechnungslogik des Werkzeugs zugrunde. Maßgeblich ist stets der jeweils aktuelle Gesetzes- und Verwaltungsstand; die Angaben geben den Stand zum Bearbeitungszeitpunkt wieder.

GegenstandQuelle / Fundstelle
Altersvorsorgedepot — Förderung, Auszahlung, Standardprodukt Gesetz zur Reform der privaten Altersvorsorge (Altersvorsorgereformgesetz), vom Deutschen Bundestag beschlossen am 27.03.2026, vom Bundesrat bestätigt am 08.05.2026; Inkrafttreten der Förderung zum 01.01.2027
Förderparameter im Einzelnen — Grundzulage, Kinderzulage, Berufseinsteigerbonus, Mindesteigenbeitrag Fragen-und-Antworten-Katalog des Bundesministeriums der Finanzen zur Reform der privaten Altersvorsorge, bundesfinanzministerium.de (Bereich „FAQ")
Steuerlicher Abzug der Beiträge (Sonderausgaben) § 10 und § 10a Einkommensteuergesetz
Besteuerung der Auszahlungen, Renten und Teilkapitalauszahlungen § 22 Nummer 1 und Nummer 5 Einkommensteuergesetz
Keine Fünftelregelung bei Teilkapitalauszahlung Bundesfinanzministerium, Schreiben vom 05.10.2023 (Bundessteuerblatt I 2023 Seite 1726, Randziffer 128); ersetzt das Schreiben vom 21.12.2017 (Bundessteuerblatt I 2018 Seite 93). In Fortentwicklung Bundesfinanzhof, Urteil vom 30.10.2025, Aktenzeichen X R 25/23, sowie Senatsurteile vom 20.09.2016, X R 23/15, vom 11.06.2019, X R 7/18, und vom 06.05.2020, X R 24/19 (Maßstab der tatsächlichen Atypik statt allein der vertraglichen Gestaltung des Kapitalwahlrechts)
Einkommensteuertarif, Spitzen- und Höchststeuersatz § 32a Einkommensteuergesetz in den jeweiligen Fassungen; Tarifhistorie des Bundesministeriums der Finanzen (Lohn- und Einkommensteuerrechner)
Einkommensschwelle für den Spitzensteuersatz im Zeitverlauf Institut der deutschen Wirtschaft Köln, Gutachten zu Belastungswirkungen der Einkommensteuer (2017); Stützwerte als Näherung, siehe Hinweis bei der Grafik im Tab Steuersatz-Szenarien
Sparer-Pauschbetrag, Abgeltungsteuer, Vorabpauschale § 20 Absatz 9 und § 32d Einkommensteuergesetz (Sparer-Pauschbetrag, Abgeltungsteuer); § 18 Investmentsteuergesetz (Vorabpauschale); Basiszins jährlich durch das Bundesministerium der Finanzen festgesetzt nach § 18 Absatz 4 Investmentsteuergesetz
Besteuerung der Auszahlung — Ertragsanteil, Unterschiedsbetrag und hälftiger Ansatz (12/60- bzw. 12/62-Regel) § 22 Nummer 5 Satz 2 Einkommensteuergesetz: Buchstabe a (Ertragsanteil nach § 22 Nummer 1 Satz 3 Buchstabe a Doppelbuchstabe bb, nur bei lebenslanger Rente), Buchstabe c (Auffangtatbestand für alle übrigen Leistungen — Unterschiedsbetrag unter entsprechender Anwendung von § 20 Absatz 1 Nummer 6 Einkommensteuergesetz). Hälftiger Unterschiedsbetrag nach § 20 Absatz 1 Nummer 6 Satz 2 in der jeweils für den Vertrag geltenden Fassung: zwölf Jahre Vertragsdauer und Auszahlung nach Vollendung des 60. Lebensjahres (Verträge vor dem 01.01.2012) beziehungsweise des 62. Lebensjahres (Verträge ab 2012, Übergangsregelung § 52 Einkommensteuergesetz)
Förderschädliche Verwendung — Rückzahlungsbetrag und Besteuerung § 93 Absatz 1 Einkommensteuergesetz (Rückzahlung der Zulagen und der nach § 10a Absatz 4 gesondert festgestellten Steuerermäßigungen; Satz 2 auch für bestimmte Auszahlungen nach Beginn der Auszahlungsphase); § 94 Einkommensteuergesetz (Verfahren über zentrale Stelle und Anbieter); § 22 Nummer 5 Satz 3 Einkommensteuergesetz (ausgezahltes gefördertes Altersvorsorgevermögen gilt nach Abzug der Zulagen als Leistung im Sinne des Satzes 2); Schreiben des Bundesministeriums der Finanzen zur steuerlichen Förderung der privaten Altersvorsorge, Randnummern 147 bis 149

Wo Rechtslage und Verwaltungsauffassung zum Bearbeitungszeitpunkt noch nicht abschließend geklärt sind — insbesondere bei der Beitragspflicht zur Kranken- und Pflegeversicherung auf Auszahlungen aus dem Altersvorsorgedepot — ist dies an der betreffenden Stelle ausdrücklich vermerkt.

Versions- und Standinformationen
v2026.12.16
Altersvorsorgereformgesetz, BGBl. 2026 I Nr. 156 vom 29.05.2026
Änderungen v2026.12.16 gegenüber v2026.12.15 (Standard-Patch, Befunde der unabhängigen Prüfung)

Zwei Textkorrekturen. Keine Änderung an Rechenergebnissen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-037 (niedrig, wieder geöffnet) — Zertifizierung zu pauschal. Der Absatz „Zertifizierung und Standarddepot" im Start-Reiter nennt jetzt die Ausnahme der vollständigen Vorabprüfung auf Antrag (§ 5 Abs. 4 AltZertG), den Fristbeginn des Widerrufsvorbehalts (nach Ablauf des Kalenderjahres der Versendung der Zertifizierungsnummer; § 5 Abs. 1, § 14 Abs. 7) und beschränkt die Pflicht zum Standarddepot sowie den Kostenausweis auf die gesetzlich erfassten Verträge (§ 1 Abs. 3, § 2a). Gefunden von Codex am 17.10.2026.
  • BUG-038 (niedrig) — Druckbericht. Unter „Kranken-/Pflegevers. im Ruhestand" stand bei Pflichtversicherten „pflichtversichert (halber Beitrag)", gerechnet wird aber — zutreffend — beitragsfrei. Die Beschriftung entspricht jetzt der Eingabemaske. Gefunden von Codex am 17.10.2026.
Änderungen v2026.12.15 gegenüber v2026.12.14 (Standard-Patch, redaktionelle Aktualisierung)

Start-Reiter: aktuelle Entwicklung auf Stand Oktober 2026. Keine Änderung an Rechenergebnissen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-037 (niedrig) — Vergleichsplattform. Der Kasten „Aktuelle Entwicklung" kündigte zum Start eine unabhängige, digitale Vergleichsplattform an. Das Gesetz sieht keine vor, und die Bundesregierung hat erklärt, eine Vergleichsplattform bei der Zertifizierungsstelle sei nicht vorgesehen; Vergleiche bieten Dritte auf Grundlage der veröffentlichten Muster-Produktinformationen an (Bundestagsdrucksache 21/6726). Berichtigt.
  • Stand Oktober 2026. Angekündigte Angebote mit Kostenangaben (noch nicht abschlussfähig, Rentenfaktoren weiter offen), Zertifizierung unter Widerrufsvorbehalt, Pflicht zum Standarddepot, offenes öffentliches Standarddepot, Auszahlbeginn auch mit einer früher beginnenden gesetzlichen Altersrente, 30-%-Teilkapital, Kranken- und Pflegeversicherung nach Versichertengruppe getrennt, ausstehendes Anwendungsschreiben. Eine Änderung des Gesetzes seit der Verkündung ist nicht ersichtlich (Recherche vom 17.10.2026).
Änderungen v2026.12.14 gegenüber v2026.12.13 (Standard-Patch, Befund der unabhängigen Prüfung)

Beim Laden gilt die zuletzt gewählte Datei. Keine neuen Funktionen und keine Änderung an Rechenergebnissen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-036 (mittel) — überholter Dateiimport. Wählte man mit „Daten laden" eine Datei und noch während des Lesens eine zweite, übernahm der Lesevorgang, der zuletzt fertig wurde. Ein verspätet gelesener älterer Stand konnte so den neueren Fall und danach erfasste Eingaben überschreiben; eine anschließende Sicherung trug ihn weiter, und eine überholte Fehlermeldung ersetzte die neuere Erfolgsmeldung. Jetzt verwirft ein überholter Lesevorgang sein Ergebnis und seine Meldung. Gefunden von Codex am 15.10.2026.

Prüfstand: Eine neue Prüfung startet über das echte Dateiauswahlfeld zwei Ladevorgänge und stellt ihre Abschlüsse in allen Reihenfolgen zu — mit Folgeeingabe, ungültiger Datei, Lesefehler und Sicherung — in beiden Bedienmodi.

Änderungen v2026.12.13 gegenüber v2026.12.12 (Standard-Patch, Maßnahme des Strukturaudits)

Steuerregel für Einmalbeträge an einer Stelle. Keine neuen Funktionen und keine Änderung an Rechenergebnissen, Anzeige oder gespeicherten Daten; daher ein Standard-Patch.

  • SA-006 — gemeinsamer Helfer. Der Steuersatz für Einmal- und Teilkapitalauszahlungen (bis 20.000 € der Steuersatz im Ruhestand, ab 40.000 € mindestens 42 %, dazwischen linear übergeleitet) stand wortgleich zweimal in der Berechnung — beim Altersvorsorgedepot und bei Riester. Er steht jetzt in einer Funktion, die beide Wege nutzen; die 42 % kommen aus dem hinterlegten Steuertarif. Eine künftige genauere Berechnung ist damit nur noch an einer Stelle umzusetzen.

Prüfstand: Die Ergebnisse sind über alle Eingabekombinationen des Vergleichs bitgleich mit v2026.12.12, mit Teilkapitalbeträgen unter 20.000 €, im Übergangsbereich und über 40.000 €. Eine neue Prüfung rechnet die Regel an festen Werten nach und hält fest, dass sie nur an einer Stelle steht.

Änderungen v2026.12.12 gegenüber v2026.12.11 (Standard-Patch, Maßnahme des Strukturaudits)

Fördergrenzen an einer Stelle. Keine neuen Funktionen und keine Änderung an Rechenergebnissen, Anzeige oder gespeicherten Daten; daher ein Standard-Patch.

  • SA-003 — Fördergrenzen zentral. Der geförderte Eigenbeitrag zum Altersvorsorgedepot (1.800 € je Jahr), der dort höchstens einzahlbare Beitrag (6.840 €) und der Riester-Höchstbetrag (2.100 €) standen als feste Zahl an 16 Stellen der Berechnung. Sie stehen jetzt an einer Stelle (FOERDERGRENZEN_2026), wie schon der Steuertarif und der Rürup-Höchstbetrag. Ändert der Gesetzgeber eine dieser Grenzen, ist nur noch diese Stelle nachzuziehen — dazu die Texte, die die Beträge nennen. Die Werte selbst sind unverändert.

Prüfstand: Die Ergebnisse sind über 1.728 Eingabekombinationen (Vergleichsbasen, Beiträge unter, an und über den Grenzen, Familienstand, Kinder, Einkommen, Auszahlformen) bitgleich mit v2026.12.11. Eine neue Prüfung hält fest, dass die drei Grenzen nirgends sonst als feste Zahl in der Berechnung stehen.

Änderungen v2026.12.11 gegenüber v2026.12.10 (Standard-Patch, Befund des Strukturaudits)

Bei der Vergleichsbasis mit parallelem ETF geht die Aufstellung jetzt auf. Keine neuen Funktionen, keine Änderung an Rechenergebnissen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-035 (niedrig) — paralleler ETF nicht ausgewiesen. Bei der Vergleichsbasis „gleicher Bruttobeitrag plus Steuererstattung im parallelen ETF" enthielten Endkapital, Summe netto und Barwert der geförderten Wege den parallelen ETF, die Topf-Aufteilung, die Rente und der Tab Zahlungsströme dagegen nur den Vertrag. Die Karte im Tab Vergleich ging dadurch nicht auf, und der Tab Zahlungsströme zeigte ohne Erklärung andere Summen. Vergleich und Druckreport weisen den parallelen ETF jetzt gesondert aus („davon im Vertrag", „davon paralleler ETF"), der Tab Zahlungsströme sagt, dass er nur den Vertrag zeigt. Gefunden im Strukturaudit vom 15.10.2026.

Prüfstand: Die angezeigten Teilbeträge ergeben zusammen die angezeigten Summen, und der Vertragsanteil stimmt mit dem Tab Zahlungsströme überein; ohne parallelen ETF erscheint keine zusätzliche Zeile.

Änderungen v2026.12.10 gegenüber v2026.12.9 (Standard-Patch, Befund der eigenen Abnahme der Mobilansicht)

Auf dem Telefon bleibt die Seite wieder in der Bildschirmbreite. Keine neuen Funktionen, keine Änderung an Rechenwegen, Eingaben oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-033 (niedrig) — seitlicher Überlauf in der Mobilansicht. Bei 375 Pixel Breite war die Seite in den Tabs „Eingaben", „Zahlungsströme" und im Schnellrechner breiter als der Bildschirm: Geschlossene Erklärtexte nahe am rechten Rand belegten trotz Unsichtbarkeit ihre Breite, die Schaltfläche „Weiter zu ‚Was nun?'" brach nicht um, und zwei Gegenüberstellungen im Tab „Eingaben" (mit und ohne Absicherung; förderschädliche Verwendung, sobald auch Riester bespart wird) blieben zweispaltig, obwohl die zweite Spalte nicht mehr auf den Bildschirm passte. Die Seite ließ sich dadurch seitlich verschieben, und die Schaltfläche „Impressum & Hinweise" rutschte aus dem Bild. Der Hauptbereich beschneidet seitlichen Überlauf jetzt, die Schaltfläche bricht um, und die beiden Gegenüberstellungen stehen auf schmalen Bildschirmen untereinander. Auf Tablet und Rechner bleibt die Darstellung unverändert.

Prüfstand: Regel für den Hauptbereich vorhanden; in beiden Modi und allen Tabs keine Schaltfläche mit langem Text ohne Umbruch und kein fest mehrspaltiges Raster ohne Anpassung an die Breite. Im echten Browser bei 375, 768 und 1400 Pixeln nachgemessen: alle Tabs in Bildschirmbreite, nichts Sichtbares abgeschnitten, alle geöffneten Erklärtexte vollständig sichtbar.

Änderungen v2026.12.9 gegenüber v2026.12.8 (Standard-Patch, Befund des eigenen Kontrollaudits)

Eine HTML-Sicherung enthält keine Lademeldung der vorherigen Sitzung mehr. Keine neuen Funktionen, keine Änderung an Rechenwegen, Importdaten oder gesicherten Eingaben; daher ein Standard-Patch.

  • BUG-032 (niedrig) — Lademeldung in der HTML-Sicherung festgehalten. Wer „Als HTML sichern" wählte, solange die Meldung nach dem Laden einer Datei noch zu sehen war (3,5 bzw. 6 Sekunden), fand diese Meldung in der gespeicherten Datei wieder — und dort blendete sie sich nie aus. Nach einem abgelehnten Import stand so in einer einwandfrei geöffneten Datei dauerhaft „Import fehlgeschlagen". Die Meldung wird jetzt nicht mehr mitgesichert; am Bildschirm bleibt sie bis zu ihrem regulären Ausblenden stehen.

Prüfstand: Sichern während sichtbarer Erfolgs- und Fehlermeldung: Die Datei enthält die Meldung nicht, die geöffnete Sicherung zeigt keine, die laufende Sitzung zeigt sie weiter. Kontrolle: Eine beim Öffnen der Sicherung neu entstehende Meldung (angepasste Expertenwerte) erscheint wie bisher.

Änderungen v2026.12.8 gegenüber v2026.12.7 (Standard-Patch, Befund der unabhängigen Prüfung von v2026.12.7)

Eine neue Lademeldung bleibt wieder ihre volle Zeit sichtbar. Keine neuen Funktionen, keine Änderung an Rechenwegen, Importdaten oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-031 (niedrig) — alte Ausblendung versteckte eine neue Meldung. Die Meldung nach dem Laden einer Datei blendet sich nach 3,5 Sekunden (Erfolg) bzw. 6 Sekunden (Fehler) innerhalb von 0,4 Sekunden aus. Lud man genau in diesen 0,4 Sekunden die nächste Datei, verschwand deren Meldung fast sofort wieder, weil der zweite Ausblendschritt der alten Meldung nicht abgebrochen wurde. Jetzt werden beide Schritte abgebrochen; jede Meldung hat ihre eigene Anzeigedauer. Gefunden von der unabhängigen Prüfung.

Prüfstand: Erfolg und Fehler als erste und zweite Meldung, die zweite vor, während und nach der Ausblendung der ersten — sichtbar bis zum Ende der eigenen Anzeigedauer, danach regulär ausgeblendet; zusätzlich ein Ablauf über den echten Ladeweg mit echter Wartezeit.

Änderungen v2026.12.7 gegenüber v2026.12.6 (Standard-Patch, Befund der unabhängigen Prüfung von v2026.12.6)

Ein schneller Wechsel in den Schnellrechner kostet ihn nicht mehr sein eigenes letztes Ergebnis. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-024 (niedrig, fünfte Fassung) — verzögerte Neuberechnung nach dem Moduswechsel. Eine Eingabe im Expertenmodus wird mit 200 Millisekunden Verzögerung neu gerechnet. Wechselte man innerhalb dieser Zeit in den Schnellrechner, lief die Neuberechnung dort ab und ersetzte dessen Ergebnis durch ein zahlengleiches, das nicht mehr als eigenes Ergebnis des Schnellrechners erkannt wurde. Die nächste unvollständige Angabe zeigte dann „kein gültiges Ergebnis" statt des letzten eigenen Ergebnisses. Die verzögerte Neuberechnung entfällt jetzt nach einem Moduswechsel; die Eingabe ist zu diesem Zeitpunkt bereits gerechnet. Gefunden von der unabhängigen Prüfung.

Prüfstand: Schneller und langsamer Wechsel in allen vier Lebenssituationen mit anschließender unvollständiger Eingabe; Rückkehr zum Experten innerhalb der Verzögerung. Der Zufallsprüfer kennt den schnellen Wechsel als Bedienschritt und prüft zusätzlich, dass ein gültiges Ergebnis im Schnellrechner als dessen eigenes gekennzeichnet ist.

Änderungen v2026.12.6 gegenüber v2026.12.5 (Standard-Patch, Befund der unabhängigen Prüfung von v2026.12.5)

Ein gescheiterter Import stellt den Schnellrechner jetzt auch in seinem Verhalten vollständig wieder her. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-012 (mittel, siebte Fassung) — Herkunft des Ergebnisses beim Rücksprung. Seit v2026.12.5 merkt sich der Schnellrechner, für welche Lebenssituation er ein Ergebnis gerechnet hat; bei unvollständigen Angaben zeigt er nur ein solches eigenes Ergebnis weiter. Scheiterte ein Import erst spät, stellte der Rücksprung Eingaben und Zahlen zwar richtig her, aber ohne diese Herkunft. Die nächste unvollständige Eingabe verwarf dann das eigene letzte Ergebnis und zeigte den Hinweis „kein gültiges Ergebnis" (gemessen in allen vier Lebenssituationen, z. B. Privat-ETF 95.989 € verworfen). Die Herkunft gehört jetzt zum gesicherten Stand und wird beim Rücksprung wiederhergestellt; ein geladener Fall übernimmt sie nicht. Gefunden von der unabhängigen Prüfung.

Prüfstand: Rücksprung nach spätem Importfehler in allen vier Lebenssituationen, an zwei Fehlerstellen, gegen eine Kontrollsitzung ohne Fehler — vollständiges Ergebnis einschließlich Herkunft und anschließend eine unvollständige Eingabe ohne dazwischen liegende Neuberechnung. Der Zufallsprüfer verändert den geprüften Zustand nicht mehr selbst, erzeugt nun auch späte Importfehler und verlangt eine Mindestzahl ausgewerteter Fälle je Regel.

Änderungen v2026.12.5 gegenüber v2026.12.4 (Standard-Patch, Befund aus dem eigenen Kontrollaudit)

Der Schnellrechner zeigt bei unvollständigen Angaben nur noch sein eigenes letztes Ergebnis. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-024 (mittel, vierte Fassung) — Zahlen eines anderen Falls im Schnellrechner. Sind die Angaben unvollständig (etwa ein Geburtsjahr ohne Ansparphase), zeigt das Werkzeug das zuletzt gültige Ergebnis. Im Schnellrechner war das nicht immer sein eigenes: Wurde das Geburtsjahr vor der Wahl der Lebenssituation eingegeben, erschien das Ergebnis der Vorgabewerte des Expertenmodus (verheiratet, 300 €) unter „ledig ohne Kinder"; nach einem Wechsel der Lebenssituation blieben die Zahlen der vorher gewählten stehen; und nach dem Laden einer Schnellrechner-Sicherung ohne gewählte Lebenssituation erschien ein Ergebnis aus deren Expertenwerten, das zu keinem gezeigten Fall gehörte. Jetzt zeigt der Schnellrechner ein eingefrorenes Ergebnis nur, wenn er es selbst für dieselbe Lebenssituation gerechnet hat — sonst den Hinweis „kein gültiges Ergebnis", ebenso die Ergebnis-Tabs des Expertenmodus. Gefunden mit einer neuen Prüfung, die zufällige Folgen von Bedienschritten durchläuft und nach jedem Schritt prüft, dass keine Anzeige zu einem anderen Stand gehört.
Änderungen v2026.12.4 gegenüber v2026.12.3 (Standard-Patch, Befund der unabhängigen Prüfung von v2026.12.3)

Auch der Schnellrechner zeigt nach dem Laden keine Zahlen eines anderen Falls mehr. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-024 (mittel, dritte Fassung) — Schnellrechner-Ausgabe nach dem Laden. v2026.12.1 hatte die Ergebnis-Tabs des Experten geschützt, die getrennte Ergebnisanzeige des Schnellrechners nicht. Wurde ein Schnellrechner-Fall mit unvollständigen Eingaben geladen, blieben dort Rangfolge, Summen und Rententabelle des vorher bearbeiteten Falls stehen (gemessen: Privat-ETF 95.989 € des Paar-Falls mit 150 € unter den geladenen Angaben 1940 und 500 €) — auch nach Sicherung als HTML und Neuöffnen. Jetzt zeigt der Schnellrechner in diesem Fall den Hinweis „kein gültiges Ergebnis"; er erscheint auch im Ausdruck. Mitbehoben: Brachte eine Datei geänderte Schnellrechner-Angaben ohne eigenes Profil mit, rechnete der Schnellrechner nicht neu und zeigte die Zahlen der vorherigen Angaben — jetzt rechnet er neu. Wird eine Experten-Sicherung in eine Schnellrechner-Sitzung geladen, wird dessen dann verborgene alte Ausgabe entfernt, damit sie nicht unsichtbar in HTML-Sicherungen mitreist. Beim Bearbeiten von Hand und bei einem abgelehnten Import bleibt die Anzeige wie bisher. Gefunden von der unabhängigen Prüfung.

Prüfstand: Zwei verschiedene Schnellrechner-Fälle, eigener Export des unvollständigen Falls, Laden in den anderen, sichtbare Ausgabe geprüft — dann HTML sichern und neu öffnen. Kontrollen: gültige Eingabe zeigt die Zahlen des geladenen Falls, ein abgelehnter Import lässt die Ausgabe unverändert, nach dem Laden einer Experten-Datei steht die alte Ausgabe weder im Dokument noch in der HTML-Sicherung. An der vorigen Fassung schlagen drei dieser Prüfungen an.

Änderungen v2026.12.3 gegenüber v2026.12.2 (Standard-Patch, Befund aus der Browserabnahme)

Tabellen werden im Druck nicht mehr abgeschnitten. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-030 (mittel) — Rollbalken und abgeschnittene Spalten im Druck. Die Tabellen liegen in einem Rahmen, der auf schmalen Bildschirmen quer scrollt. Im Druck waren zwei Tabellen breiter als die Seite — die Rangfolge im Tab Auswertung (680 statt 646 Bildpunkte) und die Szenarientabelle im Tab Steuersatz-Szenarien (751 statt 646). Gedruckt wurde ein Rollbalken, und die rechten Spalten fehlten; auf Papier lässt sich nicht scrollen. Ursache waren Spaltenüberschriften, die nicht umbrechen durften. Im Druck dürfen sie das jetzt; alle Tabellen passen, im Browser gemessen auch mit großen Beträgen. Die Bildschirmansicht ist unverändert. Der Fehler bestand schon länger; sichtbar wurde er, nachdem die Diagramme nicht mehr über die Tabellen ragen (BUG-029). Gefunden bei der Browserabnahme durch den Produktverantwortlichen.
Änderungen v2026.12.2 gegenüber v2026.12.1 (Standard-Patch, Befund aus der Browserabnahme)

Diagramme werden wieder vollständig gedruckt. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-029 (mittel) — Diagramme im Druck zerschnitten. Beim Drucken eines Tabs mit Diagrammen (Vergleich, Zahlungsströme, Steuersatz-Szenarien, Auswertung) behielten die Diagramme ihre Bildschirmgröße: Im Browser gemessen ragte jedes der fünf Diagramme 641 Bildpunkte über den rechten Seitenrand und 140 Bildpunkte in den folgenden Inhalt. Die Diagramme passen sich der Fenstergröße an, das Druckbild entsteht aber, bevor sie das tun. Jetzt werden sie unmittelbar vor dem Druck auf die Druckgröße gebracht (Seitenbreite, 220 Bildpunkte hoch, doppelte Pixeldichte für ein scharfes Bild) und danach zurückgesetzt; eine zusätzliche Druckregel hält jedes Diagramm in seinem Rahmen und unverzerrt, falls ein Browser die Neubemessung nicht auslöst. Gefunden bei der Browserabnahme durch den Produktverantwortlichen.

Prüfstand: Die Druckbehandlung wird mit einem Stellvertreter-Diagramm geprüft; die erwartete Druckgröße leitet die Prüfung aus den Stilregeln des Werkzeugs ab (Seitenrand, Karte, Druckhöhe), nicht aus der Behandlung selbst. Die tatsächliche Zeichnung ist im Browser gemessen: vorher 1.287 × 360 Bildpunkte in einem Rahmen von 646 × 220, jetzt 645 × 220, gezeichnet, Seitenverhältnis erhalten.

Änderungen v2026.12.1 gegenüber v2026.12.0 (Standard-Patch, Befunde der unabhängigen Prüfung von v2026.12.0)

Nach dem Laden eines unvollständigen Stands erscheint kein Ergebnis eines anderen Falls mehr. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-024 (mittel, wieder geöffnet) — Ergebnis eines anderen Falls nach Sicherung und Laden. Sind die Eingaben unvollständig, rechnet das Werkzeug nicht und zeigt das zuletzt gültige Ergebnis. Innerhalb einer Sitzung ist das richtig — über eine Sicherung hinweg nicht: Wer im Expertenmodus mit unvollständigen Eingaben in den Schnellrechner wechselte, dort sicherte und die Sicherung später lud, sah nach dem Wechsel zum Experten die Zahlen des Schnellrechners (ETF-Barwert 95.988,89 € statt 237.675,27 €). Ebenso zeigte das Laden einer Experten-Datei mit unvollständigen Eingaben das Ergebnis des Falls, der vor dem Laden bearbeitet wurde. Eine Sicherung trägt kein Ergebnis mit, und ein Ergebnis ungeprüft aus einer Datei zu übernehmen, schiede aus. Jetzt gilt: Gibt es für einen geladenen, geöffneten oder aus einer Sicherung zurückgeholten Stand mit unvollständigen Eingaben kein zugehöriges Ergebnis, zeigen die Ergebnis-Tabs statt Zahlen einen Hinweis, bis die Eingaben vollständig sind. Beim Bearbeiten von Hand bleibt es beim zuletzt gültigen Ergebnis des eigenen Falls. Gefunden von der unabhängigen Prüfung.
  • BUG-028 (niedrig) — Hinweise beim Öffnen einer HTML-Sicherung. Mitgesicherte Experten-Werte außerhalb der Feldgrenzen wurden beim Öffnen einer HTML-Sicherung richtig angepasst, aber ohne Meldung; beim Laden der JSON-Sicherung erschien sie. Jetzt in beiden Fällen. Gefunden von der unabhängigen Prüfung.

Prüfstand: Die beiden Befunde lagen in Verkettungen, deren Teilpfade einzeln geprüft waren. Neu geprüft werden deshalb die ganzen Ketten: Fehlerzustand → Schnellrechner → Sicherung (JSON und HTML) → Laden → Experte; Laden unvollständiger Dateien in gültige und unvollständige Sitzungen; Öffnen einer HTML-Sicherung mit unvollständigen Eingaben mit anschließendem abgelehnten Import; das Wiedererscheinen des Ergebnisses nach Vervollständigen der Eingaben; die Meldung beim HTML-Öffnen. An der vorigen Fassung schlagen sieben dieser Prüfungen an.

Änderungen v2026.12.0 gegenüber v2026.11.11 (Feature-Release: Umbau von Laden, Rücksprung und Moduswechsel; Expertenwerte in Sicherungen aus dem Schnellrechner)

Laden, Rücksprung und Moduswechsel beruhen jetzt auf einer einzigen Beschreibung des Werkzeugstands — und eine Sicherung aus dem Schnellrechner enthält die Experten-Werte. Der innere Aufbau des Imports wurde umgestellt, und es kommt eine Funktion hinzu; daher ein Feature-Release. Rechenwege und Rechtsstand sind unverändert, das Datenschema bleibt 3.

  • Neu (DF-001) — Experten-Werte in Sicherungen aus dem Schnellrechner. Wer im Experten-Modus Werte erfasst, in den Schnellrechner wechselt und dort sichert, fand seine Experten-Angaben bisher nach dem Laden nicht wieder: Sie waren nur für die laufende Sitzung zwischengespeichert. Jetzt tragen „Daten sichern" und „Als HTML sichern" sie mit; beim Wechsel in den Experten-Modus kehren sie zurück. Beim Laden werden sie genauso geprüft wie jede andere Angabe der Datei: Werte außerhalb der Feldgrenzen werden angepasst und mit dem Vorsatz „Expertenwerte:" benannt; ungültige Werte lehnen beim Laden einer JSON-Sicherung den ganzen Import ab, beim Öffnen einer HTML-Sicherung wird der Mangel benannt und nichts davon übernommen. Hinweis zur Weitergabe: Eine solche Sicherung enthält damit auch die Experten-Angaben, nicht nur den sichtbaren Schnellrechner-Fall.
  • BUG-023 (hoch) — geleerte Felder rechneten mit einem verdeckten Wert. Setzte das Werkzeug selbst ein Feld auf leer — beim Rückwechsel in den Experten-Modus oder beim Laden einer Datei mit leerem Feld —, blieb das Feld leer, gerechnet wurde aber mit einem früheren Wert, den niemand sah. Gemessen: Ein leeres Vorjahresbrutto wurde nach einem Abstecher in den Schnellrechner mit 27.500 € gerechnet (Riester-Barwert 68.694,83 € statt 66.819,41 €); eine Datei mit leerem ETF-Beitrag rechnete mit dem zuvor eingetippten Beitrag weiter. Ein leer geschriebenes Feld bedeutet jetzt „keine Angabe" — beim Vorjahresbrutto greift wieder die Schätzung aus dem zu versteuernden Einkommen (Faktor 1,30, Hinweis P17). Leert der Nutzer ein Feld selbst, stellt das Werkzeug es wie bisher sichtbar auf den verwendeten Wert zurück.
  • BUG-025 (hoch) — Start im Einsteiger-Modus: Der Wechsel zum Experten verwarf den eigenen Fall. Wer das Werkzeug im Einsteiger-Modus begann, seinen Fall erfasste und dann in den Experten-Modus wechselte, fand dort nicht seinen Fall, sondern die Vorgabewerte (etwa „verheiratet" und 300 € statt „ledig" und 500 €). Die Wahl im Startdialog legte eine Sicherung der Vorgabewerte an, als wären es erfasste Experten-Werte. Jetzt bleibt der Fall beim Wechsel erhalten. Wer vorher im Experten-Modus gearbeitet hat, erhält wie bisher seine Experten-Werte zurück.
  • BUG-024 (mittel) — Moduswechsel bei unvollständigen Eingaben. Sind die Eingaben unvollständig, rechnet das Werkzeug nicht und zeigt das zuletzt gültige Ergebnis. Nach einem Abstecher in den Schnellrechner zeigten die Tabs danach dessen Zahlen (etwa zu versteuerndes Einkommen 45.000 € und zwei Kinder) unter den Experten-Feldern (65.000 €, keine Kinder). Jetzt wieder das Experten-Ergebnis.
  • BUG-027 (niedrig) — Hilfetext zum Vorjahresbrutto. Er beschrieb für ein leeres Feld noch die Näherung vor Mai 2026 (zu versteuerndes Einkommen ohne Aufschlag, „tendenziell zu niedrig"). Gerechnet wird seit Befund B-07 mit dem Faktor 1,30; der Hilfetext sagt das jetzt. Die Rechnung ändert sich nicht.
  • Umbau. Der Stand des Werkzeugs — Felder, Kinderzeilen, Hinweise, Modus, Profil, zuletzt gültige Werte, Ansicht, eingefrorenes Ergebnis — ist an einer Stelle beschrieben. Der Import baut daraus erst den vollständigen Zielstand und übernimmt ihn in einem Schritt; scheitert etwas, stellt derselbe Weg den Vorstand her. Der Moduswechsel sichert über dieselbe Beschreibung; die zweite, von Hand gepflegte Feldliste ist entfallen. Mitgesichert werden dabei jetzt auch die Überschreibungswerte je Weg; der Schnellrechner verändert sie nicht, im Ergebnis ändert sich dadurch nichts.
  • Randfall. Eine Datei ohne Kinderliste mit leerem Feld „Anzahl Kinder" zeigt nach dem Laden die tatsächlich verwendete Kinderzahl statt eines leeren Feldes.

Prüfstand: Ein Sicherheitsnetz hält das Verhalten des Imports für 39 Dateien aus drei Ausgangslagen fest (117 Fälle) und prüft, dass jeder Fehler an jeder Stelle eines Imports den Vorstand unverändert lässt (973 Läufe in voller Tiefe). Neu sind die Prüfungen des Zustandskatalogs, des Moduswechsels hin und zurück, der mitgesicherten Experten-Werte und eine Zählung, die im Import keinen direkten Schreibzugriff mehr zulässt. BUG-023 und BUG-024 fand die neue Prüfung des Moduswechsels, BUG-025 und BUG-027 die sachliche Durchsicht der Texte; an der vorigen Fassung schlagen alle 19 Prüfungen des Moduswechsels an.

Begleittext (BUG-026, niedrig): Die Liesmich.txt nannte „Werte außerhalb der Feldgrenzen" pauschal als Ablehnungsgrund des Imports. Abgelehnt werden nur Jahresangaben der Kinder und des Riester-Bestands außerhalb ihres Bereichs; andere Zahlen werden auf die Grenze angepasst und benannt. Der Text ist berichtigt.

Änderungen v2026.11.11 gegenüber v2026.11.10 (Standard-Patch, eigene Messung zum Rücksprung des Imports)

Ein abgewiesener Import lässt jetzt auch im Zustand „Eingaben unvollständig" die angezeigten Ergebnisse unverändert. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-012 (mittel, wieder geöffnet) — eingefrorene Ergebnisse im Fehlerzustand. Sind die Eingaben unvollständig (etwa ein Geburtsjahr ohne Ansparphase), rechnet das Werkzeug nicht und zeigt unter dem Warnbanner die zuletzt gültigen Ergebnisse. Scheiterte in diesem Zustand ein Import erst spät, stellte der Rücksprung zwar die Eingaben wieder her — die Tabs zeigten danach aber die Zahlen der abgewiesenen Datei. Gemessen: ETF-Barwert 390.024 € statt 237.675 €, Leibrente 231 € statt 342 € im Monat, bei der Zusage, der Stand bleibe unverändert. Im Fehlerzustand gehört das zuletzt gültige Ergebnis jetzt zum gesicherten Stand; der Rücksprung zeichnet die Tabs damit neu. Danach ist der gesamte sichtbare Text wieder identisch. Mitbehoben: Der Rücksprung stellt jede der beiden Reiterleisten (Schnellrechner und Experte) exakt zurück, nicht nur die sichtbare.

Prüfstand: Das Sicherheitsnetz des Imports vergleicht jetzt auch den gesamten sichtbaren Text und prüft den Rücksprung aus einer dritten Ausgangslage, dem Fehlerzustand. An der vorigen Fassung schlagen 35 Läufe an, an dieser keiner.

Änderungen v2026.11.10 gegenüber v2026.11.9 (Standard-Patch, Befund aus der Zustandsprüfung des Umbaus)

Das Feld „Endjahr" erscheint nur noch dort, wo es auch wirkt. Für den Umbau des Imports entsteht eine neue Prüfung, die den gesamten sichtbaren Zustand des Werkzeugs vergleicht — auch, welche Felder ein- oder ausgeblendet sind. Sie fand einen Anzeigefehler in den Kinderangaben. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-022 (mittel) — sichtbares, aber wirkungsloses Feld „Endjahr". Bei jedem neu gezeichneten Kind stand das Feld „Endjahr" sichtbar da, auch im Fördermodus „bis 18", in dem sein Wert nicht verwendet wird. Ein dort eingetragenes Förderende änderte kein Ergebnis — wer es eingab, musste aber annehmen, es werde berücksichtigt. Ursache: Das Element erhielt beim Zeichnen zwei style-Angaben; nach HTML-Standard gilt dann die erste, die zweite („ausblenden") wurde verworfen. Erst ein Moduswechsel oder das Zurückschreiben einer Sicherung blendete das Feld aus — die Anzeige hing also davon ab, was vorher geschah. Die Sichtbarkeit wurde an vier Stellen mit drei verschiedenen Regeln gesetzt; jetzt gilt eine Regel an allen vier Stellen: sichtbar nur im Modus „eigenes Endjahr". Die Ergebnisse ändern sich dadurch nicht.

Prüfstand: 276 Prüfungen im Bedienpfad (zuvor 273), 88 eingebaute Selbsttests und das Sicherheitsnetz des Imports. Die neuen Prüfungen folgen dem Bedienweg — neu zeichnen, Modus wechseln, erneut zeichnen — und schlagen an der vorigen Fassung an.

Änderungen v2026.11.9 gegenüber v2026.11.8 (Standard-Patch, Befunde aus dem neuen Sicherheitsnetz des Imports)

„Daten laden" nimmt jetzt jede Sicherung an, die „Daten sichern" geschrieben hat — auch einen noch unfertigen Arbeitsstand. Vor dem geplanten Umbau des Imports wurde ein Sicherheitsnetz gebaut, das das Verhalten des Imports vollständig festhält und prüft. Es fand gleich beim ersten Lauf einen schweren Fehler: In fünf Fällen wies das Werkzeug seine eigene Sicherung zurück. Keine neuen Funktionen, keine neuen Eingabefelder, keine Schema-Änderung; daher ein Standard-Patch.

  • BUG-020 (hoch) — die eigene Sicherung wurde abgelehnt. Das Formular lässt Angaben zu, die noch unvollständig oder widersprüchlich sind: ein Kind ohne Geburtsjahr, ein eigenes Förderende ohne Jahr, ein Förderende vor dem Geburtsjahr eines künftigen Kindes, einen halb ausgefüllten Riester-Bestand oder ein Stichjahr vor dem Vertragsbeginn. „Daten sichern" schreibt sie in die Datei — „Daten laden" lehnte dann aber die ganze Datei ab. Da das Werkzeug keine andere Speicherung hat, war die Sicherung für den Nutzer damit wertlos. Ursache: Der Import prüfte strenger, als das Formular erlaubt. Seitdem gilt eine einfache Regel: Was das Formular aufnehmen kann, stellt der Import wieder her; was es nicht aufnehmen kann, lehnt er ab. Solche Angaben werden wie gesichert übernommen und in der Meldung benannt; das Werkzeug erklärt sie dort, wo es sie auch im Formular erklärt. Beim Riester-Bestand bleibt die Auswertung „Vorzeitige Kündigung" gesperrt, bis die Angaben stimmen — der Vergleich der vier Wege verwendet die Bestandsangaben nicht und rechnet unverändert. Weiterhin abgelehnt werden gebrochene Jahre, Werte außerhalb der Feldgrenzen und unbekannte Modi. Zu früheren Prüfberichten: Einzelne dieser Ablehnungen gingen auf frühere Befunde zurück. Deren Anliegen war, dass nichts still übernommen oder umgedeutet wird — das bleibt gewahrt: Umgedeutet wird nichts, und jede unvollständige Angabe steht in der Meldung.
  • BUG-021 (niedrig) — ein Fehler beim Sichern des Vorzustands blieb stumm. Scheiterte der Import schon beim Festhalten des bisherigen Stands, tat er nichts und zeigte auch keine Meldung. Jetzt meldet er das; geändert ist zu diesem Zeitpunkt nichts.

Das neue Sicherheitsnetz (Schritt 0 des geplanten Umbaus) hält das Verhalten des Imports an 39 Dateien aus zwei Ausgangslagen fest, lässt zwölf im Formular herstellbare Stände durch „Daten sichern" und „Daten laden" laufen und löst an jeder Stelle, die ein erfolgreicher Import aufruft, einmal einen Fehler aus. In 785 solchen Läufen blieb der Stand kein einziges Mal verändert. Die Behebung änderte im Golden Master genau die sechs beabsichtigten Fälle — die übrigen 72 blieben gleich.

Änderungen v2026.11.8 gegenüber v2026.11.7 (Standard-Patch, vierter unabhängiger Prüfbericht [Codex] vom 27.09.2026)

Ein abgewiesener Import gibt die zwischengespeicherten Experten-Werte jetzt in jedem Fall zurück. Der vierte unabhängige Prüfbericht bestätigte die Behebungen BUG-016 bis BUG-019 und fand in BUG-012 einen letzten Restfall. Diese Fassung schließt ihn und zusätzlich eine Nebenwirkung derselben Ursache, die bei der systematischen Nachmessung auffiel. Keine neuen Funktionen, keine neuen Eingabefelder, keine Schema-Änderung; daher ein Standard-Patch.

  • BUG-012 (mittel, wieder geöffnet) — der Kurzweg verlor die Expertensicherung. Wer im Schnellrechner arbeitet, dessen Experten-Eingaben liegen für die Sitzung zwischengespeichert bereit. Ein Import verwirft diese Zwischenspeicherung früh. Scheiterte er danach, obwohl sich kein Feld geändert hatte, nahm der Rücksprung einen Kurzweg — und übersprang dabei die Rückgabe der Zwischenspeicherung. Gemessen: gesicherter Expertenfall 1971/321 €, Import mit unveränderter Sparrate scheitert spät, Meldung „Der bisherige Stand bleibt unverändert." — beim nächsten Wechsel in den Expertenmodus aber 1985/150 €. Die Zwischenspeicherung wird jetzt in jedem Zweig zurückgegeben, und die Zusage im Meldungstext prüft sie mit. Mitbehoben: Scheiterte ein Import nach einem Moduswechsel, stellte der Rücksprung den Modus her, öffnete aber einen anderen Tab als zuvor (gemessen: „Start" statt „Vergleich"). Der geöffnete Tab gehört jetzt zum gesicherten Stand.

Zur Arbeitsweise: Diesmal wurden nicht nur die gemeldeten Fälle nachgestellt, sondern alle Zustandsänderungen erfasst, die der Import vor einem möglichen Fehler vornimmt, und für vier Kombinationen aus Ausgangs- und Dateimodus gemessen, welche davon der Rücksprung noch nicht abdeckte. Es waren genau zwei: die Expertensicherung und der geöffnete Tab.

Prüfstand: 275 Prüfungen im Bedienpfad (zuvor 261) und 88 eingebaute Selbsttests. Die neuen Prüfungen arbeiten mit einem Paar, das den Kurzweg erzwingt oder vermeidet: Ohne die Behebung fallen genau die beiden Fälle des Kurzwegs, der Fall mit abweichendem Wert besteht.

Änderungen v2026.11.7 gegenüber v2026.11.6 (Standard-Patch, Druckabnahme im echten Browser)

Das Erstellungsdatum wird im gedruckten Bericht jetzt zweistellig geschrieben. Die Abnahme der Druckausgabe — der zweite Teil der Browserabnahme, die der Prüfstand grundsätzlich nicht leisten kann — brachte einen Befund in der Darstellung. Keine neuen Funktionen, keine Änderung an Rechenwegen oder gespeicherten Daten; daher ein Standard-Patch.

  • BUG-019 (niedrig) — zwei Datumsformate in einem Dokument. Auf dem Deckblatt stand „Erstellt am 27.9.2026" unmittelbar über dem Rechtsstand „… vom 29.05.2026". Ursache: toLocaleDateString('de-DE') liefert in gängigen Browsern ein einstelliges Tages- und Monatsfeld. Deutsche Schriftstücke schreiben das Datum zweistellig (DIN 5008). Alle vier Ausgabestellen — Deckblatt, Druckfußzeile, Kopf der Auswertung und die Angabe „Aufruf am" in der Administration — ziehen die Schreibweise nun aus einer einzigen Stelle.

Druckabnahme (ABN-001, zweiter Teil): Die Druckregeln wurden am A4-Satzspiegel nachgestellt (182 mm Textbreite bei 14 mm Seitenrand). Ergebnis: In allen acht druckbaren Tabs ragt kein Element über die Seitenbreite hinaus; Kopfzeile und Tabs werden ausgeblendet, Deckblatt und Fußzeile erscheinen. Der Druckreport wird bei jeder Eingabeänderung neu erzeugt — gedruckt wird nie ein veralteter Stand. Die Abschnittsauswahl wirkt wie beschrieben und stellt den vorherigen Umfang vollständig wieder her. Nicht abschließend prüfbar bleibt, wie sich die Diagramme beim tatsächlichen Druck verhalten: Das erfordert eine echte Druckvorschau am Bildschirm.

Prüfstand: 261 Prüfungen im Bedienpfad (zuvor 259) und 88 eingebaute Selbsttests. Die beiden neuen Prüfungen messen die Schreibweise an allen vier Ausgabestellen, nicht nur an der Hilfsfunktion; der Wiedereinbau des Fehlers lässt sie an allen vier anschlagen.

Änderungen v2026.11.6 gegenüber v2026.11.5 (Standard-Patch, dritter unabhängiger Prüfbericht [Codex] vom 20.09.2026 und erste Abnahme in einem echten Browser)

Ein abgewiesener Import hinterlässt jetzt auch im Gedächtnis der Felder nichts, und die Erklärungstexte sind erstmals ohne Maus erreichbar. Der dritte unabhängige Prüfbericht bestätigte drei der vier Behebungen der Vorfassung und hielt zwei Restfälle fest. Zusätzlich wurde das Werkzeug erstmals in einem echten Browser abgenommen — die Prüfung, die der Prüfstand grundsätzlich nicht leisten kann. Sie bestätigte die Diagramme und brachte zwei eigene Befunde zur Bedienung ohne Maus. Keine neuen Funktionen, keine neuen Eingabefelder, keine Schema-Änderung; daher ein Standard-Patch.

  • BUG-012 (mittel, wieder geöffnet) — der abgewiesene Wert überlebte im Gedächtnis der Felder. Zum Stand gehören nicht nur Felder, Kinderzeilen, Bestätigungen, Modus und Profil, sondern auch die zuletzt gültigen Werte der Eingabefelder und die bereits gezeichnete Auswertung des Schnellrechners. Gemessen: Nach einem abgewiesenen Import stand im Gedächtnis ein Budget von 999 €/Monat aus der fremden Datei; beim nächsten Leeren des Feldes wurde es sichtbar und hob den ETF-Jahresbeitrag von 1.800 € auf 11.988 € — bei der Zusage, der bisherige Stand bleibe unverändert. In einem zweiten Fall blieb eine bereits gezeichnete Auswertung mit den Zahlen der abgewiesenen Datei stehen, während Felder und Ergebnis längst zurückgestellt waren. Beides gehört jetzt in den gesicherten Stand — und damit auch in die Prüfung, die der Zusage vorausgeht.
  • BUG-017 (mittel, eigene Browserabnahme) — Erklärungstexte nur mit der Maus. Die 54 Erklärungstexte hingen an einem Zeichen, das nicht fokussierbar war; die im Stilblatt vorhandene Regel für den Tastaturfokus konnte deshalb nie greifen, und der Text stand an keiner anderen Stelle. Wer ohne Maus arbeitet — mit Tastatur, Fingertipp oder Bildschirmleseprogramm —, kam an keine einzige Erklärung. Jedes Zeichen ist nun fokussierbar, benannt und mit seinem Text verknüpft; der Tastaturfokus ist sichtbar, ESC schließt wieder. Zweiter Teil: Auf schmalen Geräten ragte der Text über den rechten Rand — bei 375 px Breite 43 von 52 Texten, bis zu 154 px weit. Solange er nur per Maus erschien, fiel das nicht auf; mit dem neuen Zugang wäre er dort unlesbar. Er wird beim Öffnen in das Sichtfeld geschoben (danach gemessen: 0 von 52).
  • BUG-018 (niedrig, eigene Browserabnahme) — der Startdialog war nur optisch ein Dialog. Der Fokus blieb beim Laden außerhalb, der verdeckte Hintergrund war mit der Tabulatortaste bedienbar, und es fehlten Dialogsemantik und Beschriftungsbezug. Wer ohne Maus arbeitet, bediente also ein Formular, das er nicht sehen kann, ohne zu erfahren, dass zuerst eine Wahl ansteht. Der Dialog ist jetzt als solcher ausgezeichnet, übernimmt den Fokus, hält ihn bis zur Wahl und blendet den Hintergrund für Hilfsmittel aus. Die Eingabetaste ESC schließt bewusst nicht: Die Wahl ist erforderlich.
  • BUG-016 (niedrig) — die Anleitung benannte die falsche Vergleichszahl. Sie beschrieb das Balken-Ranking des Schnellrechners als Vergleich nach der Netto-Auszahlsumme. Sortiert wird jedoch nach dem Barwert der Nettoauszahlungen; die nominale Summe steht nur als zweite Zahl daneben. Im Beispiel unterscheiden sich beide um 25.000,39 €. Die Ergebnisseite des Werkzeugs war richtig — die Anleitung nicht.

Erste Abnahme in einem echten Browser (ABN-001, teilweise erledigt): Alle fünf Diagramme werden gezeichnet, und ihre Werte stimmen auf den Cent mit dem Rechenkern überein (Endkapital, Nominalsumme und Barwert je Weg). Keine Laufzeitmeldungen. 76 der 77 Bedienelemente tragen eine zugängliche Benennung; das eine ohne Benennung ist dauerhaft ausgeblendet und nicht erreichbar. Offen bleiben die Druckvorschau und die Abnahme mit einem echten Bildschirmleseprogramm.

Prüfstand: 258 Prüfungen im Bedienpfad (zuvor 241) und 88 eingebaute Selbsttests. Die siebzehn neuen Prüfungen decken die vier Befunde dauerhaft ab; sieben Mutationen bauten die Fehler einzeln wieder ein und schlugen jeweils bei der zuständigen Prüfung an. Die Anleitung wird mitgeprüft: Wenn das Ranking nach dem Barwert sortiert, darf sie nichts anderes behaupten.

Änderungen v2026.11.5 gegenüber v2026.11.4 (Standard-Patch, zweiter unabhängiger Prüfbericht [Codex] vom 20.09.2026)

Ein abgebrochener Import führt jetzt auch Ansicht und Profilwahl zurück, und der neue Deckelhinweis benennt jede gesetzliche Grenze so, wie sie im Gesetz steht. Der zweite unabhängige Prüfbericht bestätigte die Behebungen der Vorfassung im Kern, meldete aber vier Restfälle: zwei davon in genau den Stellen, die v2026.11.4 neu eingeführt hatte. Diese Fassung schließt alle vier. Keine neuen Funktionen, keine neuen Eingabefelder, keine Schema-Änderung; daher ein Standard-Patch.

  • BUG-012 (mittel, wieder geöffnet) — der Rücksprung erfasste die Ansicht nicht. Eine Sicherung des Schnellrechners schaltet beim Laden zuerst die Ansicht um und wählt das Profil, bevor die Felder geschrieben werden. Scheiterte die Datei erst danach, blieb das Werkzeug im Schnellrechner stehen, mit dem Profil aus der abgewiesenen Datei — während die Meldung zusagte, der bisherige Stand bleibe unverändert. Ansicht und Profilwahl gehören jetzt in denselben Sicherungsstand wie die Felder und werden mitgeprüft, bevor die Zusage überhaupt ausgesprochen wird. Zur Reihenfolge: Die Ansicht wird zuerst zurückgestellt und erst danach die Feldsicherung eingespielt — umgekehrt überschrieb der Ansichtswechsel die gerade zurückgeholten Werte mit den importierten (im Versuch: 777 € statt 321 € ETF-Beitrag). Die Profilwahl wird dabei nur noch angezeigt und nicht neu gerechnet; Anzeige und Berechnung der Profilwahl sind dafür getrennt.
  • BUG-014 (mittel, wieder geöffnet) — 570 € sind keine Fördergrenze. Der in v2026.11.4 eingeführte Hinweis nannte für alle Wege dieselbe Formulierung („gefördert sind höchstens …"). Für das Altersvorsorgedepot ist das falsch: Dort sind 6.840 €/Jahr (570 €/Monat) einzahlbar, gefördert aber nur 1.800 €/Jahr (150 €/Monat). Bei Rürup ist die Grenze eine steuerliche Abzugsgrenze (30.826 €/Jahr für Ledige, § 10 Abs. 3 EStG), bei Riester tatsächlich eine Fördergrenze (2.100 €/Jahr, § 10a EStG). Jeder Weg trägt die Art seiner Grenze jetzt selbst und wird entsprechend benannt; beim Altersvorsorgedepot steht der geförderte Teil daneben. Eine richtige Zahl mit falscher Begründung ist ein eigener Fehler, weil die Begründung angezeigt wird.
  • BUG-015 (mittel, neu) — ein erfolgreicher Import konnte die HTML-Sicherung unbrauchbar machen. Der Profilwert aus der Datei wurde ungeprüft übernommen. Ein Wert, der kein Profilname ist, blieb bis zum Speichern unentdeckt und ließ die HTML-Sicherung scheitern — der Import galt da längst als erfolgreich. Der Wert wird jetzt gegen die vier zulässigen Profile geprüft; ein unbekannter Wert wird im Hinweis benannt und übergangen, statt die ganze Datei abzulehnen: Er betrifft nur die Ansicht, nicht die Rechengrößen.
  • BUG-013 (niedrig, wieder geöffnet) — Leeren vor der ersten Profilwahl. Die Felder des Schnellrechners sind schon bedienbar, bevor ein Profil gewählt ist; die Rechnung steigt dann aber vorzeitig aus — und mit ihr das in v2026.11.4 ergänzte Merken des zuletzt gültigen Werts. Wer als Allererstes das Geburtsjahr leerte, sah weiterhin ein leeres Feld, während später mit der Vorgabe gerechnet wurde. Das Merken steht jetzt vor diesem Ausstieg und wird zusätzlich einmal beim Start ausgeführt.

Prüfstand: 241 Prüfungen im Bedienpfad (zuvor 226) und 88 eingebaute Selbsttests. Die fünfzehn neuen Prüfungen decken die vier Befunde dauerhaft ab; jede wurde durch Wiedereinbau des Fehlers auf Wirksamkeit geprüft. Die Erwartungs- werte des Deckelhinweises stammen aus dem Gesetz, nicht aus der geprüften Funktion.

Änderungen v2026.11.4 gegenüber v2026.11.3 (Standard-Patch, unabhängiger Prüfbericht [Codex] vom 11.09.2026 und Nachtrag vom 20.09.2026)

Der Schnellrechner sagt jetzt, wenn gleicher Aufwand nicht möglich ist — und ein abgelehnter Import lässt den Stand wirklich unangetastet. Die unabhängige Prüfung bestätigte die vier Behebungen der Vorfassung (BUG-008 bis BUG-011) und meldete zugleich drei offene Punkte: einen wieder geöffneten, einen neuen hohen und den bereits bekannten niedrigen Befund. Diese Fassung schließt alle drei. Keine neuen Funktionen, keine neuen Eingabefelder, keine Schema-Änderung; daher ein Standard-Patch.

  • BUG-014 (hoch) — Gleichheitszusage trotz gedeckelter Beiträge. Der Schnellrechner vergleicht bei gleichem Nettoaufwand und erklärte ohne Einschränkung, jeder Weg koste unter dem Strich gleich viel. Tatsächlich begrenzt das Gesetz mehrere Wege: Bei einem Budget von 1.000 €/Monat kostet das Altersvorsorgedepot real 544,88 € und Riester 126,64 € im Monat — 455,12 € beziehungsweise 873,36 € des Budgets bleiben unberücksichtigt. Die nötigen Angaben lagen seit v2026.3.2 je Weg vor, wurden im Einsteiger aber nicht ausgewertet. Das Ergebnis weist jetzt je betroffenem Weg den tatsächlichen Aufwand, das ungenutzte Budget und den für gleichen Aufwand nötigen Bruttobeitrag aus; die Methodenaussage wird entsprechend eingeschränkt. Auch Eingabehilfe und Begleittext sind berichtigt. Zur Häufigkeit: Bei Riester greift der Deckel schon ab etwa 150 €/Monat Budget, also im Normalfall — nicht nur in Extremfällen.
  • BUG-012 (mittel, wieder geöffnet) — abgelehnter Import veränderte den Stand. Der in v2026.11.3 eingeführte Rücksprung lief auch dann, wenn die Datei schon vor dem ersten Schreibzugriff abgewiesen wurde, und spielte dabei einen normalisierten Stand zurück: Ein leer gelassenes Kindergeburtsjahr wurde zu 2022, die Riester-Zulage stieg von 175 € auf 475 €, das Endkapital um 11.683,02 €. Ebenso gingen abgehakte Plausibilitätshinweise verloren, die der Snapshot gar nicht erfasste — beides bei der Meldung „Der bisherige Stand bleibt unverändert.". Jetzt sichert eine verlustfreie Rohwert-Sicherung alle Felder, Kinderzeilen und Bestätigungen (leer bleibt leer), der Rücksprung läuft nur bei tatsächlicher Änderung, und die Zusage im Meldungstext wird nicht mehr behauptet, sondern durch einen Vergleich geprüft. Mitbehoben: Dieselbe verlustbehaftete Sicherung steckte im Moduswechsel — auch dort blieb ein leeres Geburtsjahr nicht leer. Beide Wege nutzen nun dieselbe Schreibstelle.
  • BUG-013 (niedrig) — geleerte Felder im Schnellrechner. Ein geleertes Geburtsjahr oder eine geleerte Kinderzahl blieben sichtbar leer, während intern 1985 beziehungsweise ein Kind gerechnet wurde. Ursache: Die Einsteiger-Felder werden an der zentralen Zahleneinlesung vorbei gelesen, sodass die vorhandene Rückschreibung des zuletzt gültigen Werts (Befund R-04) für sie nie griff. Der zuletzt gültige Wert wird jetzt gemerkt; angezeigter und gerechneter Wert stimmen wieder überein.

Absicherung: Selbsttest weiterhin 88 Prüfungen, Produktionspfad jetzt 226 — zwölf neue Prüfungen, jede mit einer Vorbedingung, die ein leeres Bestehen ausschließt. Besonderheit bei BUG-012: Weil ein früh abgelehnter Import nichts mehr anfasst, wäre der verlustfreie Rücksprung durch diesen Fall allein nicht belegt — eine zusätzliche Prüfung erzwingt deshalb den Rücksprung bei leerem Feld. Mutationsnachweise: leere Werte nicht zurückschreiben, Bestätigungen nicht sichern, Einsteiger-Werte nicht merken, Deckel nicht erkennen — jede Mutation lässt genau ihre Prüfungen fallen, Rückgabewert 1.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1). Offen bleiben die Designfrage DF-001 zur Sicherung aus dem Einsteiger-Modus und die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme. Für HTML-Sicherungen älterer Fassungen gilt der Hinweis der Vorfassung unverändert: Sie bringen ihren eigenen Ladecode mit.

Änderungen v2026.11.3 gegenüber v2026.11.2 (Standard-Patch, unabhängiger Prüfbericht [Codex] und eigene Kontrollaudits 10.09.2026)

Gesicherte und geladene Fälle kommen wieder vollständig zurück. Diese Fassung behebt die fünf Befunde des unabhängigen Prüfberichts vom 10.09.2026 — vier hoch, einer mittel. Den ersten davon (BUG-008) hatten die eigenen Kontrollaudits zeitgleich gefunden. Gemeinsam ist allen, dass Zustand beim Moduswechsel, beim Sichern oder beim Laden verloren ging oder durch überholte Werte ersetzt wurde. Keine neuen Funktionen, keine neuen Eingabefelder, keine Schema-Änderung; daher ein Standard-Patch.

  • BUG-008 (hoch) — Laden überschrieb den gesicherten Fall. Zwei Wege mit derselben Wirkung. Teil A: Wurde der Einsteiger-Modus in einer Sitzung auch nur einmal benutzt, trug jede spätere Sicherung aus dem Expertenmodus dessen Fallwahl mit. Beim Öffnen der HTML-Datei und beim Laden der JSON-Datei rief das Werkzeug daraufhin ohne Modusprüfung egWaehleFall auf, und egRechne ersetzte sämtliche Expertenangaben durch den typisierten Fall (verheiratet → ledig, 73.000 € → 45.000 €, zwei Kinder → keine). Beide Lesestellen prüfen jetzt den Modus. Teil B: Wer im Einsteiger-Modus eine Datei lud, bekam sie sofort durch die beim Moduswechsel angelegte Expertensicherung ersetzt, bei der Meldung „Import erfolgreich.". Ein erfolgreicher Import verwirft diese Sicherung jetzt; ein abgelehnter lässt sie unberührt.
  • BUG-009 (hoch) — Einsteiger-Rententabelle mit falschen Beiträgen. Der Schnellrechner vergleicht bei gleichem Nettoaufwand und erhöht dafür die Bruttobeiträge der geförderten Wege (Rürup 150 € → 233,97 €). Die Monatsrententabelle las dagegen die unskalierten 150 € erneut ein: Rürup 361 € statt 564 € bei 20 Jahren, daneben ein Ranking, das mit 564 € rechnete. Sie nutzt jetzt dieselben Eingaben je Weg wie der Vergleich.
  • BUG-010 (hoch) — Rückwechsel änderte die Vergleichsbasis. Der Einsteiger stellt die Vergleichsbasis auf „gleicher Nettoaufwand"; die Sicherung beim Moduswechsel kannte die Radiogruppe nicht. Nach der Rückkehr stand ein Expertenfall mit gleichem Bruttobeitrag still auf Nettovergleich — Rürup-Barwert 77.572,85 € → 111.662,49 €, der führende Weg wechselte. Die Vergleichsbasis wird jetzt mitgesichert.
  • BUG-011 (hoch) — HTML-Sicherung verlor das Startjahr. Beim Öffnen setzte die Initialisierung das Startjahr stets auf das laufende Jahr, mindestens 2027. Aus 2035 wurde 2027, aus 17 wurden 25 Ansparjahre, das ETF-Endkapital verdoppelte sich nahezu. Ab dieser Fassung gesicherte Dateien sind als solche gekennzeichnet und behalten ihr Jahr.
  • BUG-012 (mittel) — fehlgeschlagener Import hinterließ halbe Übernahmen. Der Import beschrieb jede im Dokument vorhandene ID. Traf ein Schlüssel das Dateiauswahlfeld, brach er mit „Import fehlgeschlagen" ab — nachdem andere Felder bereits geschrieben waren. Jetzt werden nur Felder des Datenschemas übernommen; unbekannte Angaben werden übergangen und gezählt, damit auch Sicherungen künftiger Fassungen ladbar bleiben. Schlägt ein Import dennoch fehl, kehrt das Werkzeug vollständig zum Vorzustand zurück, einschließlich Ergebnis.

Wichtig für bereits vorhandene HTML-Sicherungen: Eine als HTML gesicherte Datei enthält den Programmstand ihrer eigenen Fassung und öffnet sich deshalb weiterhin mit dem alten Ladeverhalten. Eine Sicherung aus dem Expertenmodus nach vorheriger Einsteiger-Nutzung zeigt dann den Einsteiger-Fall, ein abweichendes Startjahr springt auf das laufende Jahr. Solche Dateien werden durch diese Fassung nicht repariert; die Angaben sind mit dieser Fassung neu zu erfassen und zu sichern. JSON-Sicherungen älterer Fassungen lädt diese Fassung dagegen korrekt.

Absicherung: Selbsttest weiterhin 88 Prüfungen, Produktionspfad jetzt 214. Die Sicherungsrundläufe vergleichen den gesamten Feldzustand statt einer Auswahl und stellen ihre Vorgeschichte selbst her; jede neue Prüfung hat eine Vorbedingung, die ein leeres Bestehen ausschließt. Jede Behebung ist einzeln mutationsgeprüft. Das Nachweisprogramm des Prüfberichts bestätigt sieben seiner acht Prüfpunkte; der achte erwartet bei einem unbekannten Schlüssel die Ablehnung der ganzen Datei, was hier bewusst anders gelöst ist (siehe BUG-012).

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1). Bekannt und offen: BUG-013 (niedrig — ein geleertes Feld im Schnellrechner rechnet mit einem verdeckten Standardwert), die Designfrage DF-001 zur Sicherung aus dem Einsteiger-Modus und die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.11.2 gegenüber v2026.11.1 (Standard-Patch, eigener Kontrollaudit 10.09.2026)

Der Einsteiger-Modus rechnete mit Kinderangaben, nach denen er nie gefragt hat. Diese Fassung geht nicht auf einen externen Prüfbericht zurück, sondern auf den eigenen Kontrollaudit nach der Freigabe von v2026.11.1 — verbunden mit einer Rechtsstandsprüfung zum 10.09.2026. Keine neuen Funktionen, keine neuen Eingabefelder, keine Schema-Änderung; daher ein Standard-Patch.

  • BUG-005 (hoch) — der Einsteiger-Modus übernahm stumm die Kinderangaben aus dem Expertenmodus. Der Schnellrechner fragt weder Geburtsjahr noch Fördermodus noch Zulagen-Zuordnung ab; egRechne verließ sich darauf, dass renderKinderRows konservative Vorgaben setzt (Kinder, geboren im Startjahr − 5, Förderung bis 18, Zulage an die anfragende Person). Tatsächlich übernahm die Funktion die zuletzt im Expertenmodus erfassten Werte. Wer zuvor im Expertenmodus etwas anderes eingetragen hatte, bekam auf dieselben Einsteiger-Antworten ein anderes Ergebnis:
    Sollzustand (ohne Vorgeschichte) 600 €/Jahr KinderzulageRiester 103.322 €AV 119.013 €
    zuvor „Zulage an: Partner" 0 €/Jahr97.755 €106.304 €
    zuvor Geburtsjahr 1990 —97.755 €106.304 €
    zuvor Fördermodus „bis Jahr 2028" 600 €/Jahr88.440 €104.130 €
    Bis zu 14.883 € Unterschied im Barwert bei identischer Beantwortung — ohne jeden sichtbaren Anlass, weil die Kinderzeilen im Einsteiger-Modus gar nicht angezeigt werden. Der Aufrufer entscheidet jetzt ausdrücklich, ob vorhandene Werte übernommen oder die Vorgaben neu gesetzt werden; der Einsteiger setzt zurück. Die im Expertenmodus erfassten Angaben gehen dabei nicht verloren — setMode sichert sie vor dem Wechsel und stellt sie bei der Rückkehr vollständig wieder her (in beide Richtungen geprüft). Zur Herkunft: Die Übernahme des Geburtsjahres bestand schon lange; die Korrektur H-02 in v2026.11.1 hat sie auf Zuordnung und Pflege-Kennzeichen ausgedehnt und den Fehler damit verschärft. Für den Expertenmodus ist jenes Verhalten richtig und bleibt unverändert — falsch war, dass der Einsteiger denselben Pfad ohne eigenen Bedarf mitbenutzte.
  • BUG-006 (niedrig) — Rententabelle des Einsteigers ohne Querscroll-Rahmen. Sie entsteht erst zur Laufzeit und war deshalb die einzige Tabelle, die der Prüfstand nie zu Gesicht bekam; sie lag als einzige nicht in einem tbl-wrap. Drei Spalten mit langen Überschriften schoben auf schmalen Geräten die gesamte Seite quer — ausgerechnet im Einsteiger-Modus. Dieselbe Lücke hatte der neunte Bericht bereits für zwei statische Tabellen festgestellt; gefunden wurde sie jetzt, weil die neue Prüfung den Einsteiger-Modus erstmals wirklich durchrechnet.
  • BUG-007 (niedrig) — fehlende Offenlegung zum eingefrorenen Rechtsstand. Die Modellannahmen nannten nicht, dass sämtliche steuerlichen und sozialrechtlichen Größen über die gesamte Laufzeit auf dem heutigen Stand bleiben. Das ist jetzt genannt, mit Richtung der Verzerrung: Der Höchstbetrag § 10 Abs. 3 EStG steigt jährlich mit der Beitragsbemessungsgrenze, bleibt hier aber bei 30.826 € — die Rechnung unterschätzt daher bei hohen Rürup-Beiträgen den abziehbaren Spielraum.

Rechtsstandsprüfung zum 10.09.2026 — kein Anpassungsbedarf. Geprüft wurde insbesondere die Rentenanpassung zum 01.07.2026: Die Renten stiegen um 4,24 %, der aktuelle Rentenwert von 40,79 € auf 42,52 € je Entgeltpunkt (Haltelinie 48 % nach dem Rentenpaket 2025). Das Werkzeug führt keinen Rentenwert und keine gesetzliche Rente als Rechengröße — es vergleicht vier private Vorsorgewege —, sodass die Anpassung keine Rechnung berührt. Ebenfalls geprüft: das GKV-Beitragssatz­stabilisierungs­gesetz vom 10.07.2026 (Anhebung der Beitragsbemessungsgrenze um zusätzlich 300 €/Monat für 2027) — die Beitragsbemessungsgrenze ist im Modell ausdrücklich nicht abgebildet, die verwendeten Beitragssätze (14,0 % ermäßigt, 14,6 % allgemein, 2,9 % Zusatzbeitrag, 3,6 % Pflege) bleiben unverändert. Die Rechengrößen 2027 werden erst im Herbst 2026 verkündet.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Fehlerbehebung ohne neue Funktion, ohne neue Eingabefelder und ohne Schema-Änderung. Selbsttest weiterhin 88 Prüfungen, Produktionspfad jetzt 195 (vier neue Prüfungen des Einsteiger-Pfades; die Tabellenprüfung erfasst nun auch dynamisch erzeugte Tabellen). Beide Korrekturen sind mutationsgeprüft. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.11.1 gegenüber v2026.11.0 (Standard-Patch, fünfundzwanzigster externer Prüfbericht 27.07.2026)

Die Zuordnung je Kind wirkt jetzt auch im Riester-Bestand, und Bedienhandlungen setzen die Kinderangaben nicht mehr zurück. Der fünfundzwanzigste Prüfbericht fand zwei hohe Befunde — beide Folgelücken der in v2026.11.0 eingeführten Erfassung je Kind. Keine neuen Felder, keine Schema-Änderung; daher ein Standard-Patch.

  • H-01 (hoch) — Riester-Bestand ignorierte die Zuordnung je Kind. _kinderzulageBetragImJahr und _riesterKinderzulageVoll behielten den alten globalen Frühausstieg (kinder_zuordnung === 'partner'), während das Altersvorsorgedepot über aktiveKinderImJahr bereits richtig je Kind filterte. Im Mischfall „ein Kind mir, eines dem Partner" ergab der Riester-Bestand je nach globaler Vorgabe 775 € oder 175 € Gesamtzulage statt richtig 475 € — ±300 € pro Jahr, mit Folgewirkung auf Mindesteigenbeitrag, Kürzungsfaktor, Endkapital, Nettoaufwand und Rangfolge. In der Zuordnungsmatrix des Prüfers wichen 52 von 120 Fällen ab. Beide Funktionen filtern jetzt über _kindZuordnung; Altstände ohne Angabe je Kind folgen weiter der globalen Vorgabe. Warum die 88 grünen Tests das nicht sahen: A53 prüfte nur die Hilfsfunktion aktiveKinderImJahr — nicht deren Riester-Verbraucher. Der neue A54 geht durch das vollständige Ergebnis von calcRiester und verlangt, dass die globale Vorgabe bei gesetzter Zuordnung je Kind keinen Einfluss hat — einschließlich Teilzulage bei zu niedrigem Eigenbeitrag und Geburtsjahren vor 2008.
  • H-02 (hoch) — Bedienhandlungen setzten die neuen Felder zurück. Die Zustandssicherung in renderKinderRows erfasste nur Geburtsjahr, Modus und Endjahr; restauriereAlleExperteWerte stellte ebenfalls nur diese drei wieder her. Schon das Erhöhen der Kinderzahl von 2 auf 3 — oder ein Wechsel Einsteiger/Experte — stellte alle Zuordnungen still auf „mir" und alle Pflege-Kennzeichen auf „ja". Beide Pfade sichern und restaurieren jetzt sämtliche Kindereigenschaften.
  • M-01 (mittel) — Druckbericht und Plausibilität nur global. Deckblatt und Eingabenliste des Druckberichts gaben pauschal „dieser Person" oder „dem Partner" aus; P11 prüfte alle Kinder oder keines, P16 erklärte alle als einheitlich zugeordnet. Eine gemeinsame Auswertung (_kinderZuordnungStat) liefert jetzt getrennt: erfasste Kinder, dieser Person zugeordnete, dem Partner zugeordnete und für die Pflegeversicherung berücksichtigte. Der Bericht weist den Mischfall als solchen aus („1 dieser Person · 1 dem Partner").
  • L-01 (niedrig) — Schemahistorie unvollständig. Die Historie am SCHEMA_VERSION-Block endete bei Schema 2, obwohl die Konstante 3 lautet. Schema 3 ist jetzt dokumentiert; der Export-Kommentar verweist auf die EINE Historie statt sie zu wiederholen — genau solches Auseinanderlaufen zweier Beschreibungen war der Befund. Die Warnschwelle des Imports bleibt bewusst bei Schema < 2: Nur der Übergang 1 → 2 änderte die Bedeutung bestehender Daten; Schema 3 ergänzt Felder mit rückwärtsverträglichen Vorgaben.
  • Prüfumfang: Selbsttest jetzt 88 Prüfungen (A54); Produktionspfad jetzt 190 — neu sind die echten Bedienpfade: Kinderzahl erhöhen und senken, Moduswechsel in beide Richtungen, Export-Import-Rundlauf der neuen Felder und die Druckbericht-Ausweisung des Mischfalls. Zwei Mutationstests belegen die Wirksamkeit: Ohne Je-Kind-Filter schlägt A54 fehl („775 € / 775 €"), ohne Zustandssicherung schlagen sieben Produktionspfadprüfungen fehl („mir/mir/true/true") — jeweils mit Prüfstand-Status 1.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Behebung von Prüfberichtsbefunden am bestehenden Merkmal, ohne neue Funktion, ohne neue Eingabefelder und ohne Schema-Änderung. Die Referenzbarwerte sind unverändert. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.11.0 gegenüber v2026.10.1 (Feature-Release, vierundzwanzigster externer Prüfbericht 27.07.2026)

Die Kinderangaben werden jetzt je Kind erfasst — Zulagen-Zuordnung und Berücksichtigung in der Pflegeversicherung. Der vierundzwanzigste Prüfbericht bestätigte die Rechenkorrektur der Vorversion und fand drei hohe sowie einen mittleren Befund in der Erfassung der Kinder. Zwei neue Angaben je Kind und eine fachliche Schema-Version machen dies zum Feature-Release.

  • H-01 (hoch) — Kinderzulage war nur global zuzuordnen. Das Werkzeug kannte „alle Kinder mir" oder „alle dem Partner". Nach § 85 Abs. 2 EStG und dem BMF-Schreiben vom 05.10.2023 (Rz. 52) kann der Antrag jedoch für jedes einzelne Kind gestellt werden. Der reale Fall „ein Kind mir, eines dem Partner" war nicht darstellbar und ergab je nach Schalterstellung 300 € Kinderzulage zu viel oder zu wenig pro Jahr — mit Wirkung auf Förderung, Steuerwirkung, Endkapital, Nettoaufwand und Rangfolge. Jede Kinderzeile hat jetzt ein eigenes Feld „Zulage an"; der bisherige Schalter bleibt als Vorgabe für neu erfasste Kinder und für Altstände. Nachgerechnet: gemischte Zuordnung ergibt jetzt 300 € statt 600 € oder 0 €.
  • M-01 (mittel) — Adoptiv- und Stiefkinder. § 55 Abs. 4 SGB XI schließt sie unter Umständen vom Pflegeversicherungs-Abschlag aus; maßgeblich sind Adoptionszeitpunkt, Eheschließung und Haushaltsaufnahme. Eine automatische Subsumtion wäre für ein Vergleichswerkzeug unverhältnismäßig — jede Kinderzeile trägt daher ein Kästchen „zählt für Pflege-V." mit Erläuterung der Voraussetzungen. Vorbelegung und Verhalten bei fehlender Angabe: berücksichtigungsfähig, wie bisher. Wichtig und eigens geprüft: Die Zulagen-Zuordnung lässt den Abschlag unberührt — er knüpft an die eigene Elternschaft an, nicht daran, wer die Zulage erhält.
  • H-02 (hoch) — Altstände trugen die geänderte Bedeutung weiter. Mit v2026.10.1 änderte sich die Bedeutung der Kinderliste (alle Kinder statt nur zulagenberechtigte), ohne dass ein Import das bemerkt hätte. Neu ist eine fachliche Schema-Version _meta.schema, bewusst getrennt von der Programmversion: Sie zählt nur hoch, wenn sich die Bedeutung gespeicherter Felder ändert. Sicherungen vor Schema 2 lösen jetzt einen ausdrücklichen Prüfhinweis aus — fehlende Kinder lassen sich nicht automatisch ergänzen, deshalb wird zum Vervollständigen aufgefordert statt stillschweigend übernommen. Aktueller Stand: Schema 3.
  • H-03 (hoch) — Hilfetext widersprach der neuen Eingabelogik. Neben dem Feld zur Elterneigenschaft stand weiterhin, das Kinderfeld zähle nur Kinder mit Kindergeldanspruch und wer ausschließlich erwachsene Kinder habe, solle dort 0 eintragen. Das hätte den in v2026.10.1 behobenen Fehler erneut ausgelöst: Bei drei 22- bis 24-jährigen Kindern gingen 0,50 Beitragssatzpunkte verloren. Text und Kurzhilfe sind berichtigt.
  • Regressionstest A53 deckt beides ab: die Wertemenge der Zuordnung aus einer einzigen Quelle, den Kernfall „ein Kind je Elternteil", den Rückfall von Altdaten auf die Vorgabe, die Unabhängigkeit von Zuordnung und Pflege-Abschlag, das Ausschlusskennzeichen sowie die typstrenge Schemaprüfung. Selbsttest jetzt 87 Prüfungen. Der Produktionspfad-Prüfstand prüft zusätzlich die Migrationswarnung für alte Sicherungen und dass der eigene Export die Schema-Version aus der Programmkonstante trägt — jetzt 182 Prüfpunkte. Mutationstest: Zuordnung zurück auf global → A53 schlägt fehl, Prüfstand Status 1.

Versionsschritt nach den Versionierungsregeln: Feature-Release (MAJOR + 1, MINOR = 0) — zwei neue Eingabefelder je Kind und eine neue fachliche Schema-Version. Ältere Sicherungen bleiben ladbar: Fehlt die Angabe je Kind, gilt die globale Vorgabe, und der Import weist ausdrücklich darauf hin. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.10.1 gegenüber v2026.10.0 (Standard-Patch, dreiundzwanzigster externer Prüfbericht 27.07.2026)

Der in v2026.10.0 eingeführte Eltern-Abschlag wirkt jetzt auch auf Kapitalzahlungen — und die Eingabemaske fragt die dafür nötigen Kinder vollständig ab. Der dreiundzwanzigste Prüfbericht fand zwei hohe Befunde, beide am neuen Merkmal der Vorversion. Keine neue Funktion, keine neuen Eingabefelder, keine Änderung der Datenstruktur; daher ein Standard-Patch.

  • H-02 (hoch) — Abschlag fehlte bei Einmal-, Teilkapital- und Schlusszahlung. Der zeitabhängige Satz war nur bei laufender Rente wirksam. Kapitalzahlungen trugen weiterhin den ungekürzten Satz — obwohl der Kommentar zu _kvpvSatzStrom ausdrücklich ein Element „für den Einmalbetrag" vorsah. Behoben: Der über 120 Monate verteilte Beitrag von Altersvorsorgedepot und Riester wird jahrweise gebildet und barwertgewichtet gemittelt (_kvpvEinmalBarwertsatz); die sofort fällige Kapitalzahlung des Privat-ETF trägt den Satz des Rentenbeginnjahres, die Schlusszahlung den des letzten Auszahljahres. Die Sätze treffen die unabhängig nachgerechneten Werte des Prüfberichts exakt (18,091126 % statt 18,414299 % bei Altersvorsorgedepot und Riester, 9,735847 % beim ETF). Rückwärtsverträglich: Ohne Kinder unter 25 ergibt sich auf 10⁻¹⁴ genau das frühere Verfahren — die Änderung verschiebt keine Fälle, die sie nicht betrifft.
  • H-01 (hoch) — Eingabemaske führte zu unvollständigen Kinderangaben. Das Feld hieß „Anzahl Kinder mit Zulagenanspruch" und erläuterte: „Gemeint sind Kinder, für die Kindergeld bezogen wird." § 55 SGB XI stellt dagegen allein auf Kinder unter 25 ab. Wer der Beschreibung folgte, ließ ältere Kinder ohne Kindergeldanspruch weg und bekam einen zu hohen Beitrag ausgewiesen. Bewusst nicht umgesetzt wurde die vorgeschlagene zweite Kinderliste. Zwei Listen derselben Kinder können auseinanderlaufen — genau diese Doppelpflege hat in dieser Berichtsreihe bereits drei Befunde verursacht (Fördermodi v2026.9.6, Zahlungsstrom v2026.9.11, Beitragssatz v2026.9.12). Sie ist hier auch nicht nötig: Die Zulagen laufen über aktiveKinderImJahr, das je Kind die Förderdauer auswertet — ein Kind ohne laufenden Anspruch erzeugt dort automatisch keine Zulage. Eine vollständige Liste ist also für beide Zwecke richtig. Geändert wurden daher Beschriftung und Erläuterung: „Anzahl Ihrer Kinder", mit ausdrücklicher Trennung der beiden Regeln und dem Hinweis, dass für die Pflegeversicherung allein das Geburtsjahr zählt.
  • M-01 (mittel) — Liesmich-Haupttext nannte weiter 8,70 %. Der Abschnitt zur Kranken- und Pflegeversicherung enthielt unverändert die in v2026.10.0 als falsch erkannte Rechnung, während das Änderungsprotokoll derselben Datei sie bereits richtigstellte. Der Abschnitt ist neu gefasst: beitragsfrei bei Pflichtversicherung, 20,50 / 21,10 % bei freiwilliger Mitgliedschaft samt Eltern-Abschlag, und die Sätze der gesetzlichen Rente ausdrücklich als nicht gerechnete Abgrenzung.
  • Regressionstest A52 rechnet die Sätze für Kapitalzahlungen mit einer eigenen Formel nach — nicht mit den Helfern des Werkzeugs — und prüft zusätzlich die Rückwärtsverträglichkeit ohne Kinder sowie die Beitragsfreiheit bei Pflichtversicherung. Selbsttest jetzt 86 Prüfungen. Anmerkung zur Sorgfalt: Die erste Fassung dieses Tests enthielt bei der Schlusszahlung eine Tautologie — der Sollwert wurde aus dem Prüfling zurückgerechnet und hätte immer bestanden. Der Gewinnanteil der Schlusszahlung wird deshalb jetzt als eigener Rückgabewert ausgewiesen und unabhängig geprüft. Mutationstest: Mit wieder konstantem Einmalsatz schlägt A52 fehl, und der Prüfstand endet mit Status 1.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Behebung von Prüfberichtsbefunden am bestehenden Merkmal, ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.10.0 gegenüber v2026.9.15 (Feature-Release, zweiundzwanzigster externer Prüfbericht 27.07.2026)

Die Pflegeversicherung berücksichtigt jetzt den Eltern-Abschlag für mehrere Kinder unter 25 Jahren — und zwar zeitabhängig. Der zweiundzwanzigste Prüfbericht fand eine fehlende sozialversicherungsrechtliche Regel und einen falschen Beitragssatz in Dokumentation und Selbsttests. Weil der Beitragssatz dafür erstmals jahresabhängig wird, ist das nach den Versionierungsregeln ein Feature-Release und kein Standard-Patch.

  • M-01 — Eltern-Abschlag zur Pflegeversicherung fehlte. Nach § 55 Absatz 3 Sätze 4 und 5 SGB XI vermindert sich der Beitragssatz „für jedes Kind ab dem zweiten Kind bis zum fünften Kind um jeweils einen Abschlag in Höhe von 0,25 Beitragssatzpunkten bis zum Ablauf des Monats, in dem das jeweilige Kind das 25. Lebensjahr vollendet hat". Das Werkzeug kannte nur „Elternteil" und „kinderlos" und setzte für Eltern stets 3,60 %. Die frühere Begründung — in der Auszahlphase seien Kinder „typischerweise" über 25 — trägt nicht: Das Werkzeug lässt einen Rentenbeginn ab 60 zu, kennt die Geburtsjahre der Kinder und rechnet lange Auszahlungsreihen. Freiwillig gesetzlich Versicherte mit mehreren jüngeren Kindern zahlten dadurch auf alle vier Wege bis zu 1,0 Prozentpunkt zu viel. Umgesetzt zeitabhängig: Der Satz wird je Auszahljahr bestimmt und läuft aus, sobald das jeweilige Kind 25 wird. Ein einmal am Rentenbeginn festgelegter Satz hätte den Auslauf nicht abgebildet.
  • Wie die Umsetzung den bestehenden Vertrag wahrt. Der KVPV_SATZ_VERTRAG bleibt gültig: Die Rechenkerne bestimmen den Satz, die Darstellung multipliziert nur. Ergänzt wurde kvpv_satz_strom — der wirksame Satz je Auszahljahr, bereits produktskaliert (beim Privat-ETF also mit dem Gewinnanteil). Die Nettorente bleibt als typischer Jahreswert erhalten; die Entlastung der frühen Jahre geht als eigener Betrag in Summe und Barwert ein, diskontiert mit derselben Konvention wie die übrigen Auszahlungen. Gegenprobe: Die Netto-Summe des Zahlungsstroms trifft summe_netto exakt.
  • M-02 — falscher Eigenanteil in der Krankenversicherung der Rentner. kvpvSatz('kvdr', …) lieferte 8,70 % / 9,30 %, begründet mit „halber Krankenversicherungsbeitrag 3,65 %". Die Hälfte von 14,6 % ist jedoch 7,30 %; und der Satz beschreibt die gesetzliche Rente, die dieses Werkzeug gar nicht als beitragspflichtige Einnahme führt. Der Wert wurde von keiner Rechenfunktion verwendet — alle vier setzen bei Pflichtversicherung hart 0 —, stand aber in der Liesmich-Datei, im Änderungsprotokoll und in zwei Selbsttests, die ihn als gesetzeskonform bestätigten. Statt eine unbenutzte Zahl zu korrigieren, gibt der Zweig jetzt die tatsächliche Modellaussage zurück: 0. Zur Einordnung im Quelltext vermerkt: Aus einer gesetzlichen Rente trägt der Rentner nach § 249a Satz 1 SGB V die Hälfte von Beitrag und Zusatzbeitrag und die Pflegeversicherung allein — 12,35 % beziehungsweise 12,95 %. A49 und D7 sind entsprechend neu aufgebaut; D7b prüft ergänzend den Beitrag bei freiwilliger Mitgliedschaft.
  • Regressionstests: neu A51 — Staffel 0 / 0 / 0,25 / 0,50 / 0,75 / 1,00 Prozentpunkte, Deckelung beim fünften Kind, Auslaufen mit dem 25. Lebensjahr, unbrauchbare Angaben ohne Wirkung, kein Abschlag auf einen Satz von null, und die Entlastung im Barwert. A48 rechnet sein Szenario jetzt mit drei Kindern, sodass der zeitabhängige Satz die Zerlegung jeder Zahlungszeile durchläuft — zuvor lief es mit kinder: 0 und hätte einen fehlenden oder falsch indizierten Abschlag nie bemerkt. Selbsttest jetzt 85 Prüfungen. Mutationstest: Mit wieder entferntem Abschlag schlägt A51 fehl, und der Prüfstand endet mit Status 1.

Versionsschritt nach den Versionierungsregeln: Feature-Release (MAJOR + 1, MINOR = 0) — der Beitragssatz wird erstmals jahresabhängig, wofür der Rechenkern-Vertrag um einen Satzstrom erweitert wurde. Keine neuen Eingabefelder, keine Änderung der Datenstruktur. Modellgrenze: Gerechnet wird kalenderjahrgenau, das Gesetz stellt auf den Monat ab; die Abweichung beträgt höchstens 0,25 Beitragssatzpunkte in einem einzigen Jahr. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.9.15 gegenüber v2026.9.14 (Standard-Patch, einundzwanzigster externer Prüfbericht 26.07.2026)

Der Prüfstand meldet einen fehlgeschlagenen Selbsttest jetzt auch als Fehler an das Betriebssystem. Der einundzwanzigste Prüfbericht stellte an der Anwendung selbst keinen Fehler fest. Beide Befunde betrafen die Qualitätssicherung — und der wichtigere davon war ernst. Keine Änderung am Rechenkern; die Referenzbarwerte sind unverändert.

  • M-01 (mittel) — fehlgeschlagene Selbsttests endeten mit Erfolgsstatus. run_audit.cjs setzte einen Fehlerstatus nur bei fehlgeschlagenen Produktionspfadprüfungen (Status 1) und bei fehlendem jsdom (Status 2). Ein fehlgeschlagener eingebauter Selbsttest wurde zwar im Protokoll ausgewiesen, der Prozess endete aber mit Status 0 — eine Automatik hätte den Lauf als bestanden gewertet und ausgeliefert. Besonders unangenehm: Sämtliche Mutationstests dieser Berichtsreihe liefen genau darüber. Sie belegten, dass ein Test den wieder eingebauten Fehler erkennt — dass der Prüfstand ihn nicht meldet, blieb dabei unbemerkt. Ein Prüfstand, der einen erkannten Fehler nicht weitergibt, ist als Freigabekriterium wertlos. Der Status wird jetzt unmittelbar nach dem Selbsttest gesetzt, zusammen mit einer Meldung auf der Fehlerausgabe, die die betroffenen Testkennungen nennt. Status 1 (Prüfung fehlgeschlagen) wird von Status 2 (Prüfung nicht ausgeführt) nicht mehr überschrieben. Gegenprobe: Mit wieder eingebautem Leerpfad-Fehler endet der Lauf jetzt mit Status 1 und der Meldung „1 eingebaute(r) Selbsttest(s) fehlgeschlagen: A50".
  • N-01 (niedrig) — wirkungslose Feldnamen in den Selbsttests. A46, A48, A49 und A50 setzten rentenalter und planalter; _mkTestInp kennt jedoch alter_eintritt und alter_ende. Die Werte landeten als wirkungslose Zusatzfelder im Objekt, sodass stillschweigend die Vorgabewerte galten. Für die geprüften Invarianten änderte das nichts — die Testdaten entsprachen aber nicht dem, was der Testcode zu sagen schien. In allen acht Fundstellen berichtigt.
  • N-01, zweiter Teil — beide Leerpfad-Auslöser geprüft. Der vorgezogene Rückgabepfad hat zwei Auslöser: kein Beitrag oder keine Ansparjahre. A50 erzeugte bisher nur den ersten; der zweite galt als „mittelbar mit abgedeckt" — das ist eine Annahme, keine Prüfung. A50 erzeugt jetzt beide ausdrücklich (der zweite über einen Renteneintritt im Modellstartjahr), prüft vorab, dass der Leerpfad tatsächlich ausgelöst wurde, und deckt damit 24 statt 12 Leerpfade ab.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Korrektur an Prüfstand und Testdaten ohne Änderung an Berechnung, Funktionsumfang, Eingabefeldern oder Datenstruktur. Selbsttest 83 Prüfungen, Produktionspfad 177. Prozessstatus des Prüfstands: 0 = bestanden, 1 = eine Prüfung fehlgeschlagen (Selbsttest und/oder Produktionspfad), 2 = Produktionspfad mangels jsdom nicht ausgeführt. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.9.14 gegenüber v2026.9.13 (Standard-Patch, zwanzigster externer Prüfbericht 26.07.2026)

Auch der Leerpfad ohne Riester-Beitrag nennt den Versicherungsstatus jetzt richtig. Der zwanzigste Prüfbericht stellte keinen Rechen-, Rangfolge-, Import-, Export- oder Berichtsfehler mehr fest und stufte die Fassung als bedingt freigabefähig ein. Der letzte verbliebene Befund war eine Beschriftung. Keine Änderung am Rechenkern, keine neuen Felder; daher ein Standard-Patch.

  • N-01 (niedrig) — Leerpfad behauptete pauschal „KV-frei". Wird kein Riester-Beitrag erfasst, verlässt calcRiester die Berechnung über einen vorgezogenen Rückgabepfad. Dieser trug weiterhin den festen Kennzeichner gefördert · gebunden · KV-frei — auch für freiwillig gesetzlich Versicherte, für die die Riester-Auszahlung seit v2026.9.9 beitragspflichtig gerechnet wird. Der reguläre Pfad war damals umgestellt worden, dieser nicht. Rechnerisch folgenlos, weil ohne Beitrag keine Auszahlung entsteht; die sichtbare Aussage widersprach jedoch der Unterscheidung, die das Werkzeug an allen anderen Stellen sorgfältig trifft. Der Leerpfad verwendet jetzt denselben Ausdruck wie der reguläre Pfad, statt den Kennzeichner ein zweites Mal fest zu verdrahten. Zwei zugehörige Kommentare — im Kopf von calcRiester und in cashflowWeg — behaupteten ebenfalls noch pauschale Beitragsfreiheit und sind berichtigt.
  • Regressionstest A50. Er prüft die Leerpfade aller vier Wege über alle drei Versicherungsarten: Bei freiwilliger Versicherung darf kein Weg „KV-frei" behaupten, bei Pflichtversicherung kein Weg „KV-pflichtig", und Leerpfad und regulärer Pfad müssen denselben Kennzeichner führen. Diese Lücke war für A46 und A48 unerreichbar, weil beide nur Fälle mit Auszahlung untersuchen. Ein Mutationstest belegt die Wirksamkeit: Mit wieder festverdrahtetem Kennzeichner schlägt A50 fehl und weist den Widerspruch aus („ohne Beitrag: KV-frei, mit Beitrag: KV-pflichtig"), während alle 177 Produktionspfadprüfungen grün bleiben. Selbsttest jetzt 83 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Berichtigung einer Beschriftung samt Regressionstest, ohne Änderung an Berechnung, Funktionsumfang, Eingabefeldern oder Datenstruktur. Die Referenzbarwerte sind unverändert. Damit ist der letzte offene Programmbefund erledigt; als einzige Freigabevoraussetzung verbleibt die manuelle Abnahme in einem echten Browser (Darstellung, Mobilansicht, Tastatur, Diagramme, Druck).

Änderungen v2026.9.13 gegenüber v2026.9.12 (Standard-Patch, neunzehnter externer Prüfbericht 26.07.2026)

Die rechtliche Begründung zum Beitragssatz wird präzisiert — die Rechenergebnisse bleiben unverändert. Der neunzehnte Prüfbericht bestätigte die Beitragssatzkorrektur der Vorversion in allen vier Wegen als richtig, beanstandete aber die Begründung: Sie war zu weit gefasst und hätte Nutzerinnen und Nutzer in die Irre führen können. Keine Änderung am Rechenkern, keine neuen Felder; daher ein Standard-Patch.

  • M-01 (mittel) — zu weit gefasste Rechtsbegründung. Das Werkzeug behauptete an mehreren sichtbaren Stellen, § 247 SGB V gelte „nur für Versicherungspflichtige" und bei freiwilliger Mitgliedschaft entscheide „allein der Krankengeldanspruch". Das ist in dieser Allgemeinheit falsch: § 240 Abs. 2 Satz 5 SGB V ordnet ausdrücklich an, dass „die §§ 238a, 247 Satz 1 und 2 und § 248 Satz 1 und 2 … entsprechend" gelten. Für die gesetzliche Rente und für Versorgungsbezüge gilt daher auch bei freiwilliger Mitgliedschaft der allgemeine Satz von 14,6 %. Die Zahlen bleiben richtig, weil die Einordnung produktbezogen ist: Die vier verglichenen Wege sind private Vorsorge und damit sonstige beitragspflichtige Einnahmen nach § 240 Abs. 1; für diese entscheidet der Krankengeldanspruch, der mit dem Bezug einer Altersvollrente endet (§ 50 Abs. 1), sodass § 243 mit 14,0 % greift. Berichtigt wurden Eingabehilfe, gemeinsamer Ergebnishinweis, kvpvSatz-Kommentar, A49-Begründung, Änderungshistorie und Liesmich-Datei. Alle nennen jetzt ausdrücklich die Abgrenzung zur gesetzlichen Rente und zu Versorgungsbezügen.
  • N-01 (niedrig) — Druckbericht führte die verworfene Bezeichnung weiter. Die Eingabemaske wurde in v2026.9.12 von „voller Beitrag" auf „ermäßigter Satz 14,0 % + Zusatz + Pflege" umgestellt; der Druckbericht — der für Weitergabe und Ablage bestimmt ist — zeigte weiterhin „voller Beitrag". Beide Texte lagen an getrennten Stellen. Neu ist deshalb eine Produktionspfadprüfung, die beide Beschriftungen gegeneinander abgleicht, statt nur eine von beiden zu prüfen; ein Mutationstest belegt, dass sie anschlägt.
  • N-02 (niedrig) — veraltete Kommentare und Testbeschreibung. Der Selbsttest A46 nannte in Kommentar und Erwartungstext weiterhin 21,70 %, obwohl der Satz jetzt 21,10 % beträgt. A46 bleibt bewusst ohne literale Satzangabe: Er ist ein reiner Gleichbehandlungstest — die Höhe des Satzes prüft A49 als einzige maßgebliche Quelle. Genau das steht jetzt dort, statt einer Zahl, die beim nächsten Mal wieder veraltet.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Präzisierung ohne Änderung an Berechnung, Funktionsumfang, Eingabefeldern oder Datenstruktur. Selbsttest 82 Prüfungen, Produktionspfad jetzt 177. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.9.12 gegenüber v2026.9.11 (Standard-Patch, achtzehnter externer Prüfbericht 26.07.2026)

Für freiwillig gesetzlich Versicherte gilt jetzt der ermäßigte Krankenversicherungsbeitrag von 14,0 % statt des allgemeinen von 14,6 %. Der achtzehnte Prüfbericht bestätigte die Behebung des Zahlungsstromfehlers, fand aber einen fachlichen Fehler, der seit Einführung der Beitragsoption unbemerkt geblieben war und alle vier Wege betrifft. Keine neuen Felder, keine Änderung der Datenstruktur; daher ein Standard-Patch.

  • M-01 (mittel) — falscher Krankenversicherungsbeitrag. Das Werkzeug setzte 14,6 % an. Richtig sind für die hier verglichenen privaten Leistungen 14,0 %. (Die ursprünglich hier abgedruckte Begründung war zu weit gefasst und wurde im neunzehnten Bericht berichtigt — siehe den folgenden Änderungsblock.) Maßgeblich ist eine produktbezogene Einordnung: Die vier Wege sind weder Renten der gesetzlichen Rentenversicherung noch Versorgungsbezüge, sondern sonstige beitragspflichtige Einnahmen nach § 240 Abs. 1 SGB V. Für diese richtet sich der Satz nach dem Krankengeldanspruch; dieser endet nach § 50 Abs. 1 SGB V mit dem Bezug einer Vollrente wegen Alters („nach Beginn dieser Leistungen entsteht ein neuer Krankengeldanspruch nicht"), und § 243 SGB V gewährt Mitgliedern ohne Krankengeldanspruch den ermäßigten Satz von 14,0 %. Da das Werkzeug ausschließlich die Auszahlphase ab Rentenbeginn modelliert, ist das der Regelfall. Neue Sätze: 20,50 % für Eltern und 21,10 % für Kinderlose (zuvor 21,10 % und 21,70 %). Die Barwerte aller vier Wege waren dadurch systematisch zu niedrig — im Referenzfall zwischen 623 € (Privat-ETF) und 1.205 € (Altersvorsorgedepot).
  • Warum die bestehenden Prüfungen das nicht bemerkt haben. Der Selbsttest A46 und die Produktionspfadprüfungen bezogen ihre Sollgröße aus kvpvSatz — also aus der geprüften Funktion selbst. Sie folgten jeder Satzänderung blind und blieben grün. Ein Test, der seine Erwartung vom Prüfling bezieht, prüft nichts. Neu ist deshalb der Selbsttest A49, der die Sätze literal festnagelt (20,50 / 21,10 / 8,70 / 9,30 %), den Kinderlosen-Zuschlag auf genau 0,6 Prozentpunkte prüft und ausdrücklich gegenprüft, dass der ermäßigte Satz unter dem allgemeinen liegt. Ein Mutationstest belegt die Wirksamkeit: Mit wieder eingesetztem Satz von 14,6 % schlägt A49 fehl — während die 174 Produktionspfadprüfungen unverändert grün blieben.
  • Benutzerauswahl und Erläuterung berichtigt. Die Bezeichnung „voller Beitrag" vermischte die alleinige Beitragstragung mit der Wahl zwischen allgemeinem und ermäßigtem Satz. Sie lautet jetzt „ermäßigter Satz 14,0 % + Zusatz + Pflege". Der Hilfetext leitet die Rechtslage her und benennt den nicht abgebildeten Sonderfall: Wer in der Auszahlphase keine Altersvollrente bezieht — etwa Selbstständige mit reinem Rürup-Vertrag — kann Krankengeld gewählt haben und zahlt dann 14,6 %.
  • N-01 (niedrig) — veraltete Kommentare. Zwei Codekommentare behaupteten weiterhin pauschal „Riester ist KV-frei" und widersprachen damit dem seit v2026.9.9 korrigierten Rechenweg. Ersetzt durch die einheitliche Aussage: beitragsfrei in der Krankenversicherung der Rentner, beitragspflichtig als sonstige Einnahme nach § 240 SGB V bei freiwilliger Mitgliedschaft.
  • N-02 (niedrig) — Schreibfehler „Sondertwert" in der Liesmich-Datei berichtigt.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Behebung eines fachlichen Fehlers samt Text- und Testkorrektur, ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Selbsttest jetzt 82 Prüfungen, Produktionspfad 174. Nicht umgesetzt (wäre ein Feature-Release): eine gesonderte Auswahl für den allgemeinen Satz bei tatsächlichem Krankengeldanspruch. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.9.11 gegenüber v2026.9.10 (Standard-Patch, siebzehnter externer Prüfbericht 26.07.2026)

Der Zahlungsstrom weist Kranken- und Pflegeversicherungsbeiträge jetzt als solche aus, statt sie der Steuer zuzuschlagen. Der siebzehnte Prüfbericht stellte keine kritischen oder hohen Fehler fest. Der verbliebene mittlere Befund war eine Folgelücke der Korrektur aus v2026.9.9: Der Rechenkern wurde berichtigt, die davon getrennte Darstellungsfunktion nicht. Keine neuen Felder, keine Änderung der Datenstruktur; daher ein Standard-Patch.

  • M-01 (mittel) — Zahlungsstrom ordnete die Beiträge der Steuer zu. cashflowWeg leitete die Beitragspflicht selbst her (wegKey === 'av' || wegKey === 'ruerup') und führte Riester daher weiter als beitragsfrei. Weil die Steuer dort als Rest gebildet wird (brutto − netto − kvpv), fiel der gesamte Beitrag in die Spalte „Steuer"; die Beitragsspalte verschwand ganz, weil alle Werte null waren. Im Referenzfall wies die Tabelle 104.079,38 € Steuer und 0,00 € Beiträge aus statt 58.636,27 € und 45.443,11 €. Nettoauszahlung, Barwert und Rangfolge waren richtig — die Erläuterung, die Tabelle und das Diagramm nicht. Bei einem Werkzeug, das gerade Steuer- und Beitragslast auseinanderhalten soll, wiegt das schwer.
  • Wurzelbehandlung statt Minimalkorrektur. Es wäre genügt, den Weg riester in die Bedingung aufzunehmen. Dieselbe Doppelpflege hatte jedoch bereits den Vorbefund verursacht — die Regel war schlicht zweimal umgesetzt. Neu gilt der KVPV_SATZ_VERTRAG: Jeder Rechenkern liefert drei wirksame Sätze (laufende Rente, Einmalbetrag einschließlich des Barwertfaktors nach § 229 Abs. 1 Satz 3 SGB V, Schlusszahlung); die Darstellung rechnet nur noch brutto × Satz und leitet nichts mehr selbst her. Die parallele Fachlogik ist damit beseitigt, nicht nur berichtigt.
  • Regressionstests: neuer Selbsttest A48 — er prüft jede Zahlungszeile jedes Wegs in jeder Auszahlform gegen den im Rechenkern ausgewiesenen Satz. Wichtig dabei: Die Identität brutto = steuer + kvpv + netto war auch vorher erfüllt und ist als Prüfung allein wertlos — geprüft wird deshalb die Übereinstimmung mit dem Kern. Ein Gegentest stellt sicher, dass überhaupt Beiträge anfallen. Ein Mutationstest belegt die Wirksamkeit: Mit wieder eingebauter alter Regel schlägt A48 fehl und weist „Summe Steuer 104079.38, Summe KV/PV 0.00" aus. Dazu fünf Produktionspfadprüfungen für Spalte, Zeilenzerlegung, Summe, Diagrammreihe und die Gegenprobe bei Pflichtversicherung. Jetzt 81 Selbsttests und 174 Produktionspfadprüfungen.
  • Modellgrenze deutlicher benannt. Der volle Beitragssatz auf die private Auszahlung ist eine Vergleichsannahme: Beitragsbemessungsgrenze und bereits beitragspflichtige andere Alterseinkünfte sind nicht abgebildet, die tatsächliche Mehrbelastung ist meist geringer. Der Hinweis steht jetzt an einer Stelle und wird von allen Wegen verwendet. Rürup erklärte seinen Abzug als einziger Weg bisher gar nicht — auch das ist behoben.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Behebung eines Darstellungsfehlers und Beseitigung der doppelten Fachlogik ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.9.10 gegenüber v2026.9.9 (Standard-Patch, Nachlauf zur Eigenprüfung 26.07.2026)

Zwei Befunde der Eigenprüfung wurden nachgeprüft und bewusst nicht umgesetzt — die vorgeschlagene Korrektur hätte geschadet. Stattdessen sichert eine neue Prüfung das bestehende Verhalten ab. Keine Änderung am Rechenkern, keine neuen Felder; daher ein Standard-Patch.

  • N-01 — Vorschlag widerlegt: NaN bleibt der Sentinel für „kein Kalenderjahr". Die Eigenprüfung hatte beanstandet, dass leere Riester-Jahresfelder als NaN im Ergebnisobjekt stehen, und empfohlen, sie auf null zu normalisieren. Die Nachprüfung hat das widerlegt: Number.isInteger(NaN) ist false, Number(null) ist jedoch 0 und damit Number.isInteger-tauglich. Mit null hätte ein leeres Feld als gültiges Kalenderjahr gegolten, und die Nutzerin hätte die sachlich falsche Meldung „Der Vertragsbeginn darf nicht vor 2002 liegen" erhalten statt des zutreffenden Hinweises, dass gar kein Jahr eingetragen ist. Das NaN ist hier also Absicht, nicht Versehen.
  • N-02 — Vorschlag widerlegt: estTarifGrund(NaN) bleibt NaN. Ein Wächter, der bei ungültiger Bemessungsgrundlage 0 € zurückgäbe, würde einen Fehler in eine plausibel aussehende Nullsteuer verwandeln und ihn damit verdecken. Über die Oberfläche ist der Fall ohnehin nicht erreichbar, weil alle Felder geklemmt sind.
  • Absicherung gegen einen „Aufräum"-Eingriff. Neu sind der Selbsttest A47 (Semantik der Eingabeprüfung) und drei Produktionspfad- prüfungen, die über das echte Formularfeld und getInputs() laufen. Bemerkenswert am Vorgehen: Ein Mutationstest zeigte, dass A47 den Eingriff allein nicht bemerken kann — er übergibt NaN von Hand und läuft gar nicht durch jahrRoh. Erst die Produktionspfadprüfung schlägt an und weist dann genau die irreführende Meldung nach. Selbsttest jetzt 80 Prüfungen, Produktionspfad 169.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Ergänzung von Regressionsprüfungen ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.9.9 gegenüber v2026.9.8 (Standard-Patch, interne Eigenprüfung 26.07.2026)

Die Riester-Auszahlung trägt jetzt Kranken- und Pflegeversicherungs­beiträge wie die übrigen Wege. Eine vollständige Eigenprüfung — Rechenkerne gegen unabhängig neu geschriebene Implementierungen, 6.000 Wegrechnungen mit Zufallsparametern, gezielte Suche nach Widersprüchen zwischen Code und eigener Dokumentation — förderte einen systematischen Fehler zutage, den fünfzehn externe Prüfberichte nicht gefunden haben. Keine neuen Felder, keine Änderung der Datenstruktur; daher ein Standard-Patch.

  • H-01 (hoch) — Riester rechnete als einziger Weg ohne Kranken- und Pflegeversicherung. calcRiester zog niemals Beiträge ab, während calcAV, calcRuerup und calcETF das taten. Bei der Auswahl „Freiwillig gesetzlich versichert (voller Beitrag)" war die Riester-Nettorente dadurch um 21,10 % (kinderlos 21,70 %) zu hoch. Das Werkzeug widersprach damit seiner eigenen Begründung: Im Kommentar zu calcRuerup stand bereits, dass bei freiwillig Versicherten § 240 Sozialgesetzbuch Fünftes Buch greift und der volle Abzug richtig bleibt — eine private Riester-Rente ist ebenso Einkunft wie eine Rürup-Rente. Bei Pflichtversicherung in der Krankenversicherung der Rentner bleibt sie dagegen zu Recht beitragsfrei (§ 229 SGB V, abschließende Aufzählung der Versorgungsbezüge). Auswirkung auf die Rangfolge: Im geprüften Standardfall wies das Werkzeug Riester mit 124.604 € Barwert vor dem Altersvorsorgedepot (106.320 €) aus; tatsächlich liegt Riester mit 87.050 € dahinter. Der Vergleich vertauschte also zwei Ränge — bei einem Werkzeug, dessen Zweck der Vergleich ist. Behoben für Rente und Einmal-/Teilkapitalbetrag; letzterer nach derselben Konvention wie im Altersvorsorgedepot (Barwert der auf 120 Monate verteilten Last, § 229 Abs. 1 Satz 3 SGB V). Der Kennzeichner „gefördert · KV-frei" lautet jetzt versicherungsabhängig „KV-frei" oder „KV-pflichtig".
  • Neue Prüfklasse: Invarianten über alle Wege. Der Fehler blieb so lange unentdeckt, weil stets jeder Weg für sich geprüft wurde — einzeln betrachtet war Riester unauffällig. Neu ist deshalb der Selbsttest A46 und eine entsprechende Produktionspfadprüfung, die eine Invariante quer über alle vier Wege erzwingen: Die Bruttorente muss von der Versicherungsart unabhängig sein, bei Pflichtversicherung darf kein Weg belastet werden, bei freiwilliger Versicherung muss jeder Weg den Abzug tragen (der Privat-ETF nur auf dem Gewinnanteil). Ein Gegentest stellt sicher, dass die Prüfung nicht bestünde, wenn alle Wege den Abzug verlören. Die Wirksamkeit wurde durch einen Mutationstest belegt: Mit wieder eingebautem Fehler schlägt A46 fehl und weist „Riester 0,00 %, AV 21,70 %, Rürup 21,70 %" aus.
  • M-01 (mittel) — einseitige Offenlegung beim Privat-ETF. Der Abschnitt zu den Vereinfachungen nannte nur die Vorabpauschale (auf null gesetzt), die den ETF begünstigt, und schloss mit „kann dadurch geringfügig zu günstig erscheinen". Der ebenfalls fehlende Sparer-Pauschbetrag (§ 20 Abs. 9 EStG) wirkt in die Gegenrichtung — rund 260 € zu viel angesetzte Steuer je Auszahljahr, etwa 2,7 % des ETF-Barwerts — und blieb unerwähnt. Beide Richtungen werden jetzt benannt. Der Freibetrag wird bewusst weiterhin nicht angesetzt, weil das Werkzeug nicht weiß, ob er bereits durch andere Kapitalerträge verbraucht ist; ihn ungeprüft anzurechnen wäre eine stillschweigende Annahme zugunsten des ETF. Eine Erfassung wäre ein neues Eingabefeld und damit ein Feature-Release.
  • M-02 (mittel) — unvollständiger Hinweis beim Riester-Höchstbetrag. Der Hinweis nannte bei Beiträgen über 2.100 €/Jahr nur die fehlende Abzugsfähigkeit. Dass der überschießende Anteil in der Auszahlphase dennoch voll statt nur mit dem Ertragsanteil besteuert wird — eine Modellgrenze, die gegen Riester wirkt —, steht jetzt ebenfalls dort, samt Empfehlung, für einen belastbaren Vergleich höchstens 175 €/Monat anzusetzen.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Behebung eines Berechnungsfehlers und zweier Offenlegungslücken ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Selbsttest jetzt 79 Prüfungen, Produktionspfad 166. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil-, Diagramm- und Druckabnahme.

Änderungen v2026.9.8 gegenüber v2026.9.7 (Standard-Patch, Browserabnahme zum sechzehnten Prüfbericht 26.07.2026)

Zwei Tabellen scrollen jetzt selbst, statt die ganze Seite zu verschieben. Der sechzehnte Prüfbericht stellte keine Programmfehler mehr fest und stufte die Fassung als technisch freigabefähig ein; offen blieb allein die manuelle Abnahme in einem echten Browser (Q-01). Diese Abnahme wurde nachgeholt — dabei trat ein Darstellungsfehler zutage, den eine Prüfumgebung ohne Layout-Engine grundsätzlich nicht finden kann.

  • Q-01 (Darstellung) — zwei Tabellen ohne quer scrollbare Umhüllung. Von zehn Tabellen lagen acht in einem div.tbl-wrap (overflow-x: auto; max-width: 100%), zwei jedoch nicht: die Rangfolge-Tabelle im Reiter „Auswertung" (rund 936 px breit) und die Grenzsteuersatz-Tabelle im Reiter „Eingaben". Auf einem 360 px breiten Gerät schoben sie deshalb die gesamte Seite waagerecht, statt selbst zu scrollen — die Bedienung auf dem Mobilgerät wurde dadurch spürbar erschwert. Beide sind jetzt umschlossen wie alle übrigen Tabellen.
  • Prüfstand: Neuer Produktionspfad-Prüfpunkt, der die Regel festhält — jede Tabelle des Dokuments muss in einem tbl-wrap liegen. Breiten sind ohne Layout-Engine nicht messbar, die Umhüllung selbst ist aber strukturell prüfbar. Der Prüfpunkt fand unmittelbar die zweite betroffene Tabelle, die bei der Sichtprüfung im Browser übersehen worden war. Jetzt 158 Prüfpunkte.
  • In der Browserabnahme ausdrücklich bestätigt: Die Diagramme zeichnen auf einer echten Canvas-Fläche (fünf Diagramme, gültiger 2D-Kontext, rund 20 % Flächendeckung bei erzwungenem Zeichnen) mit den erwarteten Werten. Das Verhalten der Zahlenfelder entspricht in der echten Browser-Engine exakt der Prüfumgebung — einschließlich der Erkenntnis, dass auch " 2007 " mit Leerzeichen vom Feld verworfen würde; die in v2026.9.7 eingeführte Kanonisierung fängt das ab. Keine Konsolenfehler.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Behebung eines Darstellungsfehlers ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die Abnahme in Chrome, Edge, Firefox und Safari mit Tastatur-, Screenreader- und Druckprüfung. Die Vorschauumgebung dieser Abnahme meldet visibilityState: hidden, weshalb Chart.js seinen aufgeschobenen Erstanstrich dort nicht ausführt; das ist eine Eigenschaft der Prüfumgebung, kein Verhalten der Anwendung.

Änderungen v2026.9.7 gegenüber v2026.9.6 (Standard-Patch, sechzehnter externer Prüfbericht 26.07.2026)

Kinderjahre werden vor der Wiederherstellung kanonisiert — Prüfung und Anzeige sind jetzt dieselbe Rechnung. Der sechzehnte Prüfbericht stellte keine hohen Befunde mehr fest. Der verbliebene mittlere Befund lag wieder an der Grenze zwischen Importprüfung und sichtbarem Formularzustand, betraf aber nicht mehr den Modus, sondern die Jahreswerte. Keine neuen Felder, keine Änderung der Datenstruktur; daher ein Standard-Patch.

  • M-01 (mittel) — Kinderjahre wurden numerisch geprüft, aber als ungeprüfter Rohwert wiederhergestellt. Die Vorabprüfung wertete Geburts- und Endjahr über _parseNum(String(roh)) aus; die Wiederherstellung schrieb danach den unveränderten Rohwert in das Zahlenfeld. Das sind zwei verschiedene Darstellungen desselben Werts, und sie fielen auseinander: "2007,0" bestand die Prüfung als 2007, das Browser-Zahlenfeld kann das Komma aber nicht aufnehmen und wurde leer — gerechnet und exportiert wurde 0, die nominale Förderung fiel über 25 Jahre von 21.000 € auf 13.500 € (7.500 € Abweichung) bei einem Import, der Erfolg meldete. "2.007" blieb sichtbar als 2.007 stehen, während 2007 gerechnet wurde. Und [2007, 0] ergab über String() ebenfalls „2007,0" und bestand die Prüfung, obwohl ein Feld kein skalarer Jahreswert ist. Behoben durch _kindJahrKanonisch als einzige Stelle, an der ein Kinder-Jahreswert ausgewertet wird, und pruefeKinderListe, das nicht nur prüft, sondern die kanonische Liste zurückgibt — der Import schreibt ausschließlich diese. Nichtskalare Datentypen werden abgelehnt; eine echte JSON-Zahl läuft nicht mehr durch die Tausenderpunkt-Heuristik (die Zahl 2.007 ist die Dezimalzahl 2,007 und damit kein Kalenderjahr); abweichende Schreibweisen werden in der Importmeldung benannt, wie bei den übrigen Zahlenfeldern. validiereKinderListe bleibt als dünne Hülle über derselben Rechnung erhalten.
  • Angrenzend behoben: Altwert im verborgenen Förderende. Führte eine Sicherungsdatei kein eigenes Förderende (Wert 0), blieb ein Altwert der vorherigen Belegung im ausgeblendeten Feld stehen und wäre wieder exportiert worden. Auch das Leeren ist eine Übernahme; das Feld wird jetzt gesetzt.
  • Regressionstests: neuer Selbsttest A45g — kanonische Angaben, lokalisierte Schreibweisen, die Meldung der Anpassung, die Unterscheidung zwischen JSON-Zahl und Zahlentext sowie die Ablehnung von Feldern, Objekten, Wahrheitswerten und Sonderwerten. Selbsttest jetzt 78 Prüfungen. Der Produktionspfad-Prüfstand deckt zusätzlich fünf Schreibweisen des Geburtsjahrs und drei des Förderendes mit dem Nachweis „sichtbarer Wert = gerechneter Wert = exportierter Wert" ab, sechs typstrenge Ablehnungen samt unveränderter Formularzustände, die benannte Anpassungsmeldung, den Altwertfall und die wirtschaftliche Parität von 21.000 € — jetzt 157 Prüfpunkte.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Umsetzung von Prüfberichtsbefunden ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme einschließlich der Diagrammzeichnung.

Änderungen v2026.9.6 gegenüber v2026.9.5 (Standard-Patch, fünfzehnter externer Prüfbericht 26.07.2026)

Der Fördermodus eines Kindes wird beim Import geprüft, statt still umgedeutet zu werden. Der fünfzehnte Prüfbericht stellte keine hohen Befunde mehr fest. Der verbliebene mittlere Befund lag im selben Eingabepfad wie zuvor, betraf aber ein anderes Feld: nicht das Endjahr, sondern den Modus selbst. Keine neuen Felder, keine Änderung der Datenstruktur; daher ein Standard-Patch.

  • M-01 (mittel) — unbekannter Fördermodus wurde als erfolgreicher Import still auf „bis 18" gesetzt. Die Prüfung der Kinderliste kannte die zulässigen Modi gar nicht; die Wiederherstellung fiel bei jedem unbekannten Wert stillschweigend auf std18 zurück und meldete „Import erfolgreich". Eine Sicherung mit modus: "CUSTOM" und Förderende 2090 wurde damit über 25 Ansparjahre ohne Kinderzulage gerechnet — nominal 13.500 € statt 21.000 € Förderung im Altersvorsorgedepot, also 7.500 € Abweichung bei einem Import, der Erfolg meldete. Ursache war, dass die Wertemenge an vier Stellen getrennt gepflegt war (Prüfung, Wiederherstellung, _leseKinderListe, Auswahlliste) und dabei auseinanderlaufen konnte. Behoben durch eine einzige Quelle KIND_MODI samt Beschriftungen KIND_MODUS_TEXT, aus der auch die Auswahlliste erzeugt wird; ein vorhandener, aber unbekannter Modus wird jetzt atomar abgelehnt. Ein fehlender Modus bleibt als Altdatenfall zulässig (Sicherungen vor v2026.3.0 führten kein solches Feld), wird nach „bis 18" migriert und die Migration in der Importmeldung ausdrücklich benannt. Geprüft wird zudem der Datentyp: Ein Feld ["custom"] ergäbe als Zeichenkette „custom" und käme sonst durch, obwohl es dem Schema nicht entspricht.
  • N-01 (niedrig) — eigenes Förderende konnte vor dem Geburtsjahr liegen. Beide Jahre wurden nur gegen ihre eigenen Grenzen geprüft, ihre Beziehung nicht. Geburtsjahr 2050 mit Förderende 2020 galt als gültig und ergab schlicht kein förderfähiges Jahr. Ein Förderende im Geburtsjahr bleibt zulässig — das Modell rechnet kalenderjahrgenau, eine strengere Mindestdauer wäre eine fachliche Annahme.
  • N-02 (niedrig) — Prüfstand überlagerte sein Ergebnis mit erwartbaren Canvas-Meldungen. Die Dokumentumgebung stellt keine Zeichenfläche bereit; Chart.js meldete das bei jedem Rechenlauf (rund 205 kB Ausgabe je Lauf). Diese erwartbaren Meldungen werden jetzt über eine kontrollierte Konsole getrennt gezählt statt ausgegeben; unerwartete Laufzeitmeldungen schlagen dagegen als eigener Prüfpunkt fehl. Der Prüfstand weist außerdem ausdrücklich aus, dass aus einem grünen Lauf keine Aussage über die Diagrammzeichnung folgt.
  • Regressionstests: neue Selbsttests A45e (Modusliste und Beschriftungen sind deckungsgleich — der Test schlägt fehl, sobald die Quellen wieder auseinanderlaufen) und A45f (Ablehnung unbekannter Modi nach Ursache, Altdatenfall, Beziehungsprüfung). Selbsttest jetzt 77 Prüfungen. Der Produktionspfad-Prüfstand deckt zusätzlich die Ablehnung von sieben ungültigen Modusangaben samt unveränderter Formularzustände ab, alle vier zulässigen Modi mit Import-Export-Import, die benannte Altdaten-Migration, die Beziehungsprüfung sowie die wirtschaftliche Parität (21.000 € gegen 13.500 €) — jetzt 117 Prüfpunkte.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Umsetzung von Prüfberichtsbefunden ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme einschließlich der Diagrammzeichnung.

Änderungen v2026.9.5 gegenüber v2026.9.4 (Standard-Patch, vierzehnter externer Prüfbericht 26.07.2026)

Ein verborgen mitgeführtes Förderende wird jetzt in jedem Fördermodus geprüft. Der vierzehnte Prüfbericht stellte keine hohen Befunde mehr fest. Der verbliebene mittlere Befund war eine Folgelücke der in v2026.9.4 eingeführten Kinderlistenprüfung: Sie sah das eigene Förderende nur dann an, wenn der Fördermodus bereits „eigenes Endjahr" war. Keine neuen Felder, keine Änderung der Datenstruktur; daher ein Standard-Patch.

  • M-01 (mittel) — das eigene Förderende wurde nur im Modus „eigenes Endjahr" geprüft. Ein Wert, den der Import in einem anderen Fördermodus (std18, ausb25, behindert) verborgen mitführte, galt als unbeachtlich und kam ungeprüft durch — er wurde jedoch in das verborgene Feld geschrieben. Wechselte die Anwenderin oder der Anwender später auf „eigenes Endjahr", zeigte das Feld etwa 9999, während _leseKinderListe intern auf die Feldobergrenze 2090 klemmte: sichtbarer Wert ungleich gerechneter Wert, über 25 Jahre nominal bis zu 7.500 € Kinderzulage im Altersvorsorgedepot und 4.625 € bei Riester. Behoben durch zwei einander ergänzende Maßnahmen: validiereKinderListe prüft ein vorhandenes Förderende jetzt unabhängig vom Modus und benennt im Fehlertext, warum der Wert auch außerhalb von „eigenes Endjahr" beanstandet wird; zusätzlich normalisiert der Moduswechsel auf „eigenes Endjahr" das Feld sichtbar, sodass ein Altbestand aus früheren Ständen nicht unbemerkt weiterwirkt. Dafür wurde _clampFieldOnChange aus dem Ereignisblock in den Modulrumpf gehoben — als blockgebundene Konstante wäre der Aufruf sonst wirkungslos geblieben.
  • N-01 (niedrig) — Prüfstand ohne feste Abhängigkeitsauflösung. Dem Prüfstand fehlte eine package-lock.json; jsdom war nicht installiert, sodass die 38 Produktionspfadprüfungen bei der Auslieferung übersprungen wurden (Fehlerstatus 2). Ergänzt wurden ein vollständiges Lockfile mit Integritätsprüfsummen und ein Skript freigabelauf (npm ci && node run_audit.cjs).
  • Regressionstests: neuer Selbsttest A45d — alle drei Fördermodi gegen die Endjahre 2019, 2028,5 und 9999, dazu die Gegenproben (kein Wert, 0, gültiges Jahr) und die Prüfung des erläuternden Fehlertexts. Selbsttest jetzt 75 Prüfungen. Der Produktionspfad-Prüfstand deckt zusätzlich alle neun Kombinationen aus Modus und verborgenem Endjahr im Import ab, den Wechsel jedes Modus auf „eigenes Endjahr" mit dem Nachweis „sichtbarer Wert = gerechneter Wert = exportierter Wert" sowie einen Import-Export-Import-Durchlauf (jetzt 77 Prüfpunkte).

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Umsetzung von Prüfberichtsbefunden ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme.

Änderungen v2026.9.4 gegenüber v2026.9.3 (Standard-Patch, dreizehnter externer Prüfbericht 26.07.2026)

Die Ganzzahlregel gilt jetzt auch für dynamische und Einsteigerfelder. Der dreizehnte Prüfbericht stellte keine hohen Befunde mehr fest. Der verbliebene mittlere Befund betraf denselben Grundfehler — sichtbarer Wert ungleich gerechneter Wert — in einem benachbarten, finanziell wirksamen Eingabepfad. Keine neuen Felder, keine Änderung der Datenstruktur; daher ein Standard-Patch.

  • M-01 (mittel) — Kinder- und Einsteigerfelder waren von der Ganzzahlregel ausgenommen. Die in v2026.9.3 eingeführte Prüfung stützte sich auf eine statische Feldliste und erfasste weder die erst zur Laufzeit erzeugten Kinderfelder (kind_<n>_geburtsjahr, _austrittsjahr) noch die Einsteigerfelder. Ein importiertes Kinder-Geburtsjahr 2007,5 blieb sichtbar stehen, wurde von _leseKinderListe per parseInt aber auf 2007 abgeschnitten — mit unmittelbarer Förderwirkung: 185 € statt 300 € Riester-Kinderzulage je anspruchsberechtigtem Jahr. Ein eigenes Förderende 9999 lief zudem an der sichtbaren Obergrenze 2090 vorbei. Behoben durch: ein gemeinsames Prädikat istGanzzahlFeld (statische Liste + Muster für die dynamischen Kinderfelder + Einsteigerfelder); eine Schema- und Grenzprüfung der verschachtelten Kinderliste (validiereKinderListe), die im Import vor jeder Zustandsänderung greift; Rundung statt Abschneiden in _leseKinderListe samt Erzwingen der Feldgrenzen; und die gemeinsame Grenz-/Rundungsbehandlung auch im delegierten Änderungsereignis der Kinderzeilen sowie im Einsteiger-Modus (dort zusätzlich Rundung statt parseInt in egRechne).
  • N-01 (niedrig) — Versionswahl des Prüfstands sortiert numerisch. findLatestTarget verglich Dateinamen als Zeichenfolgen; bei gleichzeitig vorhandenen Ständen _2026_9_3 und _2026_9_10 hätte es _9_3 als neuesten gewählt und einen veralteten Stand geprüft. Jetzt werden Jahr, Major und Minor numerisch verglichen.
  • Regressionstests: A45b prüft jetzt das Prädikat statt einer Feldliste — einschließlich dynamischer Kinderfelder und der Gegenprobe, dass Geld-, Prozent- und Auswahlfelder nicht erfasst werden; A45c prüft die Schema- und Grenzprüfung der Kinderliste. Selbsttest jetzt 74 Prüfungen. Der Produktionspfad- Prüfstand deckt zusätzlich die sechs Reproduktionsfälle des Berichts sowie die Gegenprobe „sichtbares Kinderjahr = gerechnetes Kinderjahr = angesetzte Zulage" ab (jetzt 38 Prüfpunkte).

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Umsetzung von Prüfberichtsbefunden ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme.

Änderungen v2026.9.3 gegenüber v2026.9.2 (Standard-Patch, zwölfter externer Prüfbericht 26.07.2026)

Zwei Umgehungspfade an der Eingabegrenze geschlossen. Beide Befunde lagen vor der eigentlichen Berechnung und konnten daher mehrere Ausgaben zugleich verfälschen. Keine neuen Felder, keine Änderung der Datenstruktur — daher ein Standard-Patch.

  • H-01 (hoch) — Teilimporte umgingen die atomare Bestandsprüfung. Die Prüfung lief nur, wenn der importierte Datensatz selbst in_ri_modus enthielt. Bei einem Teilimport ohne diesen Schlüssel entfiel sie, und die Riester-Jahresfelder liefen doch durch die allgemeine Grenzwertnormalisierung: ein importierter Vertragsbeginn 2027 wurde auf 2026 verschoben, wodurch sich Vertragsdauer (9 statt 25 Jahre), Altersgrenze (62 statt 60) und damit die ausgewiesene Steuer (6.733 € statt 3.367 €) änderten. Der Kandidatenmodus wird jetzt aus dem Importwert oder — wenn dieser fehlt — aus dem bereits aktiven Formularzustand gebildet. Zusätzlich sind die beiden Riester-Jahresfelder von der allgemeinen Normalisierung ausgenommen: sobald sie im Import vorkommen, werden sie strikt als ganzes Kalenderjahr geprüft und bei Verstoß abgelehnt.
  • M-01 (mittel) — Dezimalwerte erzeugten gemischte Zeitachsen. Semantisch ganzzahlige Felder (Kalenderjahre, Lebensalter, Kinderzahl) akzeptierten Dezimalwerte. Ein Startjahr 2027,5 ergab 24,5 Ansparjahre: geschlossene Formeln rechneten mit 24,5, die jahresweisen Schleifen der Zahlungsreihe liefen 24-mal — Ergebnis und Zahlungsreihe wichen um 1.800 € voneinander ab. Jetzt greift dieselbe Regel in allen Pfaden: der Import lehnt gebrochene Werte ab (GANZZAHL_FELDER), das Änderungsereignis rundet sichtbar, und getPhasen macht die abgeleiteten Phasenlängen als letzte Schutzschicht ganzzahlig — damit können Ergebniskern, Förderung, Zahlungsreihe und Druckbericht nicht mehr auf unterschiedlichen Zeitrastern beruhen.
  • N-01 (niedrig) — Prüfstand ist reproduzierbar und meldet Lücken hart. Dem Prüfverzeichnis liegt jetzt eine package.json mit gesperrter jsdom-Version bei. Der Prüflauf endet mit Fehlerstatus 2, wenn die Produktionspfadtests mangels jsdom übersprungen werden, und mit Status 1, wenn einer von ihnen fehlschlägt — ein grünes Protokoll kann damit keine nicht ausgeführte Pflichtprüfung mehr verdecken. Die Produktionspfadtests decken zusätzlich die vier Teilimporte aus H-01 und die Dezimalfälle aus M-01 ab (jetzt 23 Prüfpunkte).
  • Regressionstests: A45 (ganzzahlige Phasenlängen; eingezahlter Betrag im Ergebnis = Summe der Zahlungsreihe) und A45b (Vollständigkeit der Ganzzahl-Feldliste). Selbsttest jetzt 73 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Umsetzung von Prüfberichtsbefunden ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme.

Änderungen v2026.9.2 gegenüber v2026.9.1 (Standard-Patch, elfter externer Prüfbericht 26.07.2026)

Der Importpfad hält jetzt durchgängig, was v2026.9.1 nur für zwei Felder eingelöst hatte. Die Vorversion beseitigte die stille Umdeutung von Jahreswerten nur bei den beiden Riester-Jahresfeldern; derselbe Fehlertyp bestand für alle übrigen Zahlenfelder im JSON-Import fort. Keine neuen Felder und keine Änderung der Datenstruktur — daher ein Standard-Patch.

  • H-01 (hoch) — importierte Zahlen wichen sichtbar von den gerechneten ab. Der Import schrieb Rohwerte in die Felder; die Berechnung klemmte sie intern auf die Feldgrenzen, ohne die Anzeige zu berichtigen, und meldete trotzdem Erfolg. Ein sichtbares Startjahr 2025 wurde als 2027 gerechnet, eine sichtbare Rendite von 99 % als 20 %, ein sichtbares zu versteuerndes Einkommen von 1 Mrd € als 100 Mio €. Zahlenfelder werden beim Import jetzt gegen ihre Grenzen normalisiert, der normalisierte Wert wird sichtbar gesetzt und jede Anpassung in der Importmeldung einzeln benannt („angepasst … angezeigter Wert entspricht jetzt dem gerechneten"). Bewusst normalisiert statt abgelehnt, damit ältere Sicherungen ladbar bleiben, deren Werte nach späteren Feldbegrenzungen außerhalb liegen können. Ausgenommen bleiben die beiden Riester-Jahresfelder: sie steuern die steuerliche Einordnung und werden weiterhin atomar abgelehnt statt verschoben.
  • M-01 (mittel) — Riester-Import prüft jetzt den vollständigen Kandidaten. Der Import prüfte die beiden Jahre nur einzeln gegen ihr Intervall — nicht ihre Beziehung zueinander und nicht die Vollständigkeit des Bestands. Ein Vertragsbeginn 2025 mit Stichtag 2024 sowie ein leerer Vertragsbeginn galten daher als „erfolgreich" importiert und wurden erst anschließend von der Auswertung gesperrt. Jetzt wird vor jeder Zustandsänderung der Kandidatenzustand mit derselben Funktion geprüft, die auch Rechenkern und Anzeige verwenden (validiereRiesterBestand), einschließlich Präsenzprüfung aller Pflichtfelder. Der ungenutzte dritte Parameter dieser Funktion wurde entfernt.
  • N-01 (niedrig) — Prüfskript deckt die zugesagten Pfade tatsächlich ab. Die Dokumentation nannte eine externe Absicherung des Eingabe- und Importpfads, die im mitgelieferten qa_toolpruefung/run_audit.cjs nicht enthalten war. Das Skript prüft nun in einer echten Dokumentumgebung: sichtbare Normalisierung, die Invariante „angezeigter Wert = gerechneter Wert" über alle Zahlenfelder, die atomare Ablehnung widersprüchlicher und unvollständiger Bestände sowie die konkrete Anzeigemeldung. Fehlt jsdom, weist die Ausgabe diese Lücke ausdrücklich aus, statt eine Abdeckung vorzutäuschen. Die Aussage in der Liesmich-Datei wurde entsprechend berichtigt.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Umsetzung von Prüfberichtsbefunden ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme.

Änderungen v2026.9.1 gegenüber v2026.9.0 (Standard-Patch, zehnter externer Prüfbericht 26.07.2026)

Der angezeigte Wert ist jetzt immer auch der gerechnete Wert. Der zehnte Prüfbericht deckte zwei Wege auf, über die ungültige Jahresangaben still zu einem scheinbar gültigen Ergebnis führten. Alle Befunde sind umgesetzt. Keine neuen Felder und keine Änderung der Datenstruktur — daher ein Standard-Patch.

  • H-01 (hoch) — Stichtagsjahr nach dem Modellstart führte zur Doppelerfassung. Ein Vertragswert per 2034 wurde bei Modellstart 2027 akzeptiert und mit dem vollständigen Beitrags- und Förderstrom ab 2027 addiert — obwohl ein Wert von 2034 diese Jahre bereits enthält. Im geprüften Fall wurden dadurch über 13.000 € zusätzlich ausgewiesen. Das Stichtagsjahr darf jetzt nicht nach dem Beginn der Modellrechnung liegen; die Feldobergrenze wurde entsprechend gesetzt.
  • H-02 (hoch) — unzulässige Jahre wurden still auf die Feldgrenzen umgedeutet. Die Formulareinlesung klemmte Jahreswerte über _clampToBounds auf das HTML-Intervall: ein sichtbares 2001 wurde intern zu 2002, ein sichtbares 2027 zu 2026. Damit wich die Anzeige vom gerechneten Wert ab — im Fall 2027 → 2026 verlängerte sich die Vertragsdauer sogar über die Zwölfjahresgrenze und kippte den vollen in einen hälftigen Steueransatz. Jahresfelder werden jetzt roh gelesen und über eine gemeinsame Prüfung validiert; ungültige Werte werden abgelehnt statt zurechtgebogen. Auch der JSON-Import prüft die Jahre vor jeder Zustandsänderung und schlägt bei ungültigen Werten fehl, ohne den bisherigen Stand zu verändern — zuvor meldete er „Import erfolgreich", während sichtbarer und interner Wert auseinanderfielen.
  • M-01 (mittel) — Ursache abgelehnter Eingaben wird benannt. Zuvor behauptete die Anzeige einen fehlenden Beitrag, obwohl Beitrag und Bestandsangaben vorlagen und lediglich der Vertragsbeginn kein ganzes Kalenderjahr war. Rechenkern, Anzeige und Import nutzen jetzt dieselbe Prüfung (validiereRiesterBestand) und die Oberfläche nennt den konkreten Grund je Feld. Die Sperre betrifft nur den Riester-Weg; eine unabhängig gültige Depotberechnung bleibt sichtbar.
  • N-01 (niedrig) — Stichtagskonvention erläutert. Der Vertragswert gilt als Stand zu Beginn des angegebenen Kalenderjahres; fortgeschrieben wird in vollen Jahresperioden. Ein unterjähriger Stichtag wird bewusst nicht erfasst.
  • Regressionstests: A44 (gemeinsame Jahresvalidierung mit konkreten Fehlertexten); A43 um die Ablehnung eines Stichtags nach dem Modellstart erweitert. Selbsttest jetzt 71 Prüfungen. Der reale Eingabepfad (Formularfeld → getInputs → Rechenkern → Anzeige) sowie der JSON-Import werden zusätzlich über das externe Prüfskript abgesichert — der eingebaute Selbsttest läuft bewusst ohne Oberflächenzugriff, weshalb er die frühere stille Umdeutung nicht erfassen konnte.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Umsetzung von Prüfberichtsbefunden ohne neue Funktion, ohne neue Eingabefelder und ohne Änderung der Datenstruktur. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme.

Änderungen v2026.9.0 gegenüber v2026.8.0 (Feature-Release, neunter externer Prüfbericht 26.07.2026)

Die Riester-Bestandslogik wird belastbar. Der neunte Prüfbericht beanstandete erneut ausschließlich die Kündigungs-Auswertung. Kernpunkt: Ein Ergebnis durfte nicht vollständig aussehen, wenn der zugrunde liegende Datenbestand unvollständig ist. Alle fünf Befunde sind umgesetzt. Ältere JSON-Sicherungen bleiben verlustfrei ladbar; die neuen Felder sind additiv.

  • H-01 (hoch) — beitragsfrei gestellte Riester-Verträge werden gerechnet. Bisher brach die Auswertung ab, sobald kein künftiger Monatsbeitrag erfasst war. Ein Bestandsvertrag kann aber beitragsfrei gestellt sein und trotzdem Vermögen enthalten — gerade dann liegt die Kündigungsfrage besonders nahe. Für Riester genügt jetzt entweder ein künftiger Beitrag oder ein vollständig erfasster Bestand; gerechnet wird dann allein das fortgeschriebene Vertragsvermögen. Für das Altersvorsorgedepot bleibt es beim Beitragserfordernis, weil es frühestens 2027 abgeschlossen werden kann.
  • H-02 (hoch) — Teilbefüllung führt nicht mehr zu einem scheinbar vollständigen Ergebnis. Zuvor genügte ein einziges ausgefülltes Bestandsfeld, um den Warnhinweis zu unterdrücken; die übrigen historischen Größen gingen stillschweigend mit null in die Rechnung ein. Neu ist ein ausdrücklicher Modus („Modellvertrag ab Startjahr" oder „Bestehender Vertrag"). Im Bestandsmodus müssen alle Angaben erfasst sein; fehlt etwas, wird nicht gerechnet, sondern es werden die fehlenden Felder einzeln benannt. Die Prüfung ist präsenzbasiert: ein bewusst eingetragener Wert 0 zählt als Angabe, ein leeres Feld nicht.
  • M-01 (mittel) — eigenes Stichtagsjahr für den Vertragswert. Das neue Feld „Vertragswert per (Jahr)" gibt an, auf welches Jahr sich das Guthaben bezieht. Fortgeschrieben wird ab diesem Jahr statt pauschal ab dem Startjahr der Modellrechnung — ein aus der Standmitteilung übernommener Wert verlor sonst ein Jahr Wertentwicklung (im geprüften Fall rund 5,7 %).
  • M-02 (mittel) — Vertragsbeginn wird validiert. Er steuert Altersgrenze und Zwölfjahresfrist und muss daher ein plausibles ganzes Kalenderjahr sein: Riester ist seit 2002 möglich, ein Beginn in der Zukunft ist ausgeschlossen. Gebrochene Werte wie 2011,5 werden abgelehnt; das Eingabefeld beginnt jetzt bei 2002 statt 1990.
  • N-01 (niedrig) — Erläuterungstexte an die Logik angeglichen. Der Einleitungstext nennt nicht mehr pauschal die „12/62-Regel", sondern die vertragsabhängige Altersgrenze (60 vor 2012, sonst 62). Der Hilfetext zum Kündigungsalter beschreibt nicht mehr die frühere stille Begrenzung auf den Rentenbeginn, sondern die jetzige Ablehnung. Die Quellenübersicht spricht entsprechend von der 12/60- bzw. 12/62-Regel.
  • Regressionstests: A40 (beitragsfreier Bestand rechnet; ohne Bestand und beim Altersvorsorgedepot weiterhin keine Auswertung), A41 (Teilbefüllung sperrt die Rechnung), A42 (Vertragsbeginn 2011,5 / NaN / 2001 / Zukunftsjahr abgelehnt), A43 (Fortschreibung ab Stichtagsjahr, Stichtag vor Vertragsbeginn abgelehnt); A38/A39 an den ausdrücklichen Bestandsmodus angepasst. Selbsttest jetzt 70 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Feature-Release (MAJOR + 1, MINOR = 0) — neue Bedienelemente (Modusauswahl, Stichtagsjahr) und ein neu unterstützter Fall (beitragsfreier Bestandsvertrag). Kein Schema-Bump: ältere Sicherungen laden verlustfrei. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme.

Änderungen v2026.8.0 gegenüber v2026.7.0 (Feature-Release, achter externer Prüfbericht 26.07.2026)

Korrektur und Vervollständigung der Kündigungs-Auswertung. Der achte Prüfbericht beanstandete ausschließlich die in v2026.7.0 neu eingeführte Auswertung zur förderschädlichen Verwendung — die übrigen Rechenwege blieben unbeanstandet. Alle fünf Befunde sind umgesetzt. Da hierfür neue Eingabefelder hinzukommen, ist dies ein Feature-Release. Ältere JSON-Sicherungen bleiben verlustfrei ladbar (die neuen Felder sind rein additiv und optional); ein Schema-Bump ist daher nicht erforderlich.

  • H-01 (hoch) — Riester-Bestandsverträge werden jetzt als Bestand gerechnet. Bisher unterstellte die Auswertung auch für den ausdrücklich als „Bestand" bezeichneten Riester-Vertrag einen erst ab dem Startjahr neu aufgebauten Vertrag — für einen real bestehenden Vertrag ein anderer Sachverhalt. Neu erfassbar sind Vertragsbeginn, aktueller Vertragswert, bisherige Eigenbeiträge, bisher erhaltene Zulagen und bisherige Steuerermäßigungen. Das vorhandene Guthaben wird bis zum Kündigungszeitpunkt fortgeschrieben; die historischen Beträge gehen nominal in Bemessung und Rückzahlung ein. Entscheidend ist zudem der Vertragsbeginn für die Altersgrenze der hälftigen Besteuerung: vor dem 01.01.2012 abgeschlossene Verträge 60 Jahre, ab 2012 abgeschlossene 62 Jahre (§ 20 Absatz 1 Nummer 6 Satz 2 EStG in der für den Vertrag geltenden Fassung). Die Zwölfjahresfrist zählt ab dem tatsächlichen Vertragsbeginn. Fehlen die Angaben, weist die Auswertung ausdrücklich darauf hin, dass ein Modellvertrag gerechnet wird. Das Altersvorsorge- depot bleibt bei 62, weil es frühestens 2027 abgeschlossen werden kann.
  • H-02 (hoch) — Kündigung ab Rentenbeginn wird nicht mehr still zurückgesetzt. Ein Alter ab dem Rentenbeginn wurde bisher kommentarlos auf den Rentenbeginn gesetzt und trotzdem mit Rückforderung gerechnet — das beantwortete eine andere als die gestellte Frage. Solche Eingaben werden jetzt mit klarer Meldung abgelehnt. Der Hinweis nennt, dass eine nicht zugelassene Kapitalauszahlung auch nach Beginn der Auszahlungsphase schädlich sein kann (§ 93 Absatz 1 Satz 2 EStG), ihre saubere Abbildung aber eine eigene Fallunterscheidung erfordert und hier bewusst unterbleibt.
  • M-01 (mittel) — Kündigungsalter nur noch ganzzahlig. Ein gebrochener Wert (etwa 55,5 aus manueller Eingabe oder Import) erzeugte gemischte Zeitbasen: die Beitragssumme rechnete mit 13,5 Jahren, die jahresweisen Zulagen- und Erstattungsströme mit 13. Nicht ganzzahlige Werte werden jetzt abgelehnt.
  • N-01 (niedrig) — Härtung der Rechenfunktion. Direkte Aufrufe mit undefined, NaN oder Infinity lieferten unbrauchbare Ergebnisobjekte beziehungsweise rechneten still den Rentenbeginn. Die Endlichkeits- und Ganzzahligkeitsprüfung steht jetzt in der Rechenfunktion selbst und nicht nur in der Oberfläche.
  • N-02 (niedrig) — Quellenübersicht ergänzt. Aufgenommen sind jetzt §§ 93 und 94 EStG, § 22 Nummer 5 Satz 2 und 3 EStG, die Übergangsregelung zur Altersgrenze sowie das BMF-Schreiben zur steuerlichen Förderung der privaten Altersvorsorge (Randnummern 147 bis 149).
  • Regressionstests: A37 (Ablehnung gebrochener, nicht endlicher und außerhalb des zulässigen Bereichs liegender Alter), A38 (Altersgrenze 60 gegenüber 62 nach Vertragsbeginn 2010/2012, Alter 59 bis 62), A39 (Grenzfall exakt zwölf Jahre Vertragsdauer sowie Wirkung der Bestandsdaten). Selbsttest jetzt 66 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Feature-Release (MAJOR + 1, MINOR = 0) — neue Eingabefelder und neue Rechenfähigkeit für Bestandsverträge. Kein Schema-Bump: ältere Sicherungen laden verlustfrei, die neuen Felder sind optional und additiv. Weiterhin offen (organisatorisch): die manuelle Browser-, Mobil- und Druckabnahme.

Änderungen v2026.7.0 gegenüber v2026.6.4 (Feature-Release, neue Auswertung)

Neue Auswertung „Vorzeitige Kündigung: was bleibt nach Rückforderung der Förderung?" Bisher benannte das Werkzeug die förderschädliche Verwendung nur qualitativ in der Eigenschaften-Tabelle („Rückforderung Förderung"). Jetzt wird sie für Altersvorsorgedepot und Riester (Bestand) durchgerechnet. Datenstruktur unverändert; JSON-Sicherungen bleiben kompatibel.

  • Rechtsfolgen (§ 93 Abs. 1, § 94 und § 22 Nr. 5 Satz 3 EStG). Zurückzuzahlen sind die erhaltenen Zulagen und die gesondert festgestellten Steuerermäßigungen — nominal, ohne Verzinsung. Das verbleibende Kapital gilt nach Abzug der Zulagen als Leistung im Sinne des § 22 Nr. 5 Satz 2 EStG; steuerpflichtig ist davon der Unterschiedsbetrag zur Summe der eigenen Beiträge.
  • 12/62-Regel gilt auch hier. Bei mindestens zwölf Jahren Vertragslaufzeit und Auszahlung nach Vollendung des 62. Lebensjahres ist nur die Hälfte des Unterschiedsbetrags steuerpflichtig; sonst der volle Betrag. Die Auswertung weist aus, ob die Bedingung erfüllt ist — und andernfalls, woran es liegt.
  • Frei wählbarer Zeitpunkt. Ein neues Eingabefeld „Kündigung mit Alter" erlaubt jeden Zeitpunkt der Ansparphase; Werte ab dem Rentenbeginn werden auf den Rentenbeginn begrenzt, weil die Auszahlung dann regulär erfolgt. Vor dem Rentenbeginn wird mit dem Grenzsteuersatz des Erwerbslebens gerechnet.
  • Konsistenz zur Hauptrechnung. Der Kapitalstand zum Kündigungszeitpunkt wird über dieselbe Engine mit verkürzter Ansparphase ermittelt; verwendet werden die je Weg tatsächlich angesetzten (bei „gleicher Nettoaufwand" skalierten) Eingaben.
  • Einordnung und Warnhinweis. Ausgewiesen wird, ob die verbleibende Auszahlung über oder unter den eigenen Einzahlungen liegt. Ein Hinweis nennt Beitragsfreistellung und Übertragung als die in der Regel schonenderen Wege ohne Rückforderung. Nicht berücksichtigt sind Stornokosten des Anbieters sowie Sonderfälle wie die Wohn-Riester-Verwendung.
  • Regressionstests: A35 (Rückzahlung, Unterschiedsbetrag und Nettoauszahlung schlüssig) und A36 (12/62-Bedingung, Grenzsteuersatz des Erwerbslebens, Abweisung eines Kündigungsalters im laufenden Jahr). Selbsttest jetzt 63 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Feature-Release (MAJOR + 1, MINOR = 0) — neue Auswertung mit eigenem Eingabefeld; kein Schema-Bump, Datenstruktur unverändert.

Änderungen v2026.6.4 gegenüber v2026.6.3 (Standard-Patch, fachliche Korrektur)

12/62-Regel für den nicht geförderten Topf. Bisher besteuerte das Werkzeug den nicht geförderten Topf in jeder Auszahlform mit dem Leibrenten-Ertragsanteil (z. B. 17 % bei Rentenbeginn 67). Dieser setzt jedoch eine lebenslange Rente voraus (§ 22 Nr. 5 Satz 2 Buchst. a i. V. m. § 22 Nr. 1 Satz 3 EStG). Für alle übrigen Auszahlformen greift der Auffangtatbestand § 22 Nr. 5 Satz 2 Buchst. c EStG: maßgeblich ist der Unterschiedsbetrag unter entsprechender Anwendung von § 20 Abs. 1 Nr. 6 EStG. Datenstruktur unverändert.

  • Betroffene Auszahlformen. Neben der Kapitalauszahlung (Einmalbetrag, „30 % vorab") auch der befristete Auszahlplan bis zum Auszahlende — er ist keine Leibrente und wurde bisher zu Unrecht mit dem Ertragsanteil begünstigt.
  • Neue Bemessungsgrundlage. Steuerpflichtig ist nur der Gewinn: Auszahlung abzüglich der darauf entfallenden eingezahlten nicht geförderten Beiträge (Beitragsanteil über 1.800 €/Jahr), nicht mehr der volle Auszahlbetrag mit Ertragsanteil. Beim Auszahlplan trägt jede Jahrestranche den Gewinn anteilig (gleiche proportionale Zuordnung wie beim Privat-ETF).
  • 12/62-Regel. Vom Unterschiedsbetrag ist nur die Hälfte steuerpflichtig, wenn die Vertragslaufzeit mindestens 12 Jahre beträgt und die Auszahlung nach Vollendung des 62. Lebensjahres erfolgt; andernfalls der volle Unterschiedsbetrag. Besteuert wird mit dem persönlichen Grenzsteuersatz im Ruhestand.
  • Unverändert: Die lebenslange Rente aus dem nicht geförderten Topf bleibt bei der Ertragsanteilsbesteuerung — dort war und ist die Behandlung korrekt; das gilt auch für die Verrentung der restlichen 70 % im Modus „30 % vorab". Der geförderte Topf wird weiterhin voll nach § 22 Nr. 5 EStG besteuert.
  • Sichtbarkeit. Das Ergebnis nennt je Auszahlform ausdrücklich, ob die 12/62-Bedingung erfüllt ist — und falls nicht, woran es liegt (Laufzeit oder Alter). Der Ertragsanteil wird nur noch dort ausgewiesen, wo er tatsächlich gilt. Der Grundlagen-Tab erläutert beide Besteuerungswege getrennt.
  • Regressionstests: A32 (Bedingungslogik inklusive der Grenzfälle exakt 12 Jahre und exakt Alter 62), A33 (Bemessung des Unterschiedsbetrags) und A34 (Auszahlplan: gleiche Bruttorente wie die Leibrente, aber Besteuerung nach der 12/62-Regel). Selbsttest jetzt 61 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — fachliche Präzisierung einer bestehenden Berechnung, kein neuer Funktionsumfang, keine Änderung an Datenstruktur oder Oberflächenaufbau.

Änderungen v2026.6.3 gegenüber v2026.6.2 (Standard-Patch, siebter externer Prüfbericht 21.07.2026)

Drei redaktionelle Textkorrekturen (Dokumentationsparität). Der Prüfbericht stellte keine Rechen- oder Laufzeitfehler fest (bedingte Freigabe). Die Berechnung war in allen drei Fällen bereits korrekt; betroffen waren ausschließlich Begleittexte. Keine Änderung an Datenstruktur oder Berechnungsengine (Standard-Patch, MINOR + 1).

  • F-01 (mittel) — Rürup-Höchstbetrag in der Liesmich-Datei. Die Produktbeschreibung nannte noch „ca. 29.500 € ledig / 59.000 € verheiratet". Der Höchstbetrag nach § 10 Abs. 3 EStG beträgt 2026 tatsächlich 30.826 € für Ledige und 61.652 € bei Zusammenveranlagung — die Werte, mit denen die Anwendung ohnehin rechnet (Selbsttest A7/A15). Liesmich korrigiert.
  • F-02 (niedrig) — Besteuerung großer Einmalauszahlungen in der Liesmich-Datei. Der Text beschrieb eine harte 42-%-Schwelle ab 30.000 €. Tatsächlich verwendet das Modell bis 20.000 € den eingestellten Ruhestands-Grenzsteuersatz, leitet zwischen 20.000 € und 40.000 € linear auf 42 % über (Glättung des früheren Cliff-Effekts, Befund B-21) und rechnet ab 40.000 € mit mindestens 42 %. Liesmich an die tatsächliche Logik angepasst.
  • F-03 (niedrig) — Begünstigtenkreis im Altersvorsorgedepot-Wegweiser. Der Schritt „Prüfen, ob Sie förderberechtigt sind" nannte pauschal „Selbstständige, die eine Steuererklärung abgeben". Präzisiert auf Selbstständige unter 67 Jahren mit Einkünften nach § 15 oder § 18 Abs. 1 Nr. 1–3 EStG, die für das Beitragsjahr eine Steuererklärung abgegeben haben — konsistent zum bereits korrekten Begünstigtenüberblick an anderer Stelle.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — redaktionelle Korrekturen und Quellenpräzisierung ohne Eingriff in Datenstruktur oder Funktionsumfang. Weiterhin offen (organisatorisch): die manuelle Browser-Abnahme (Safari, mobile Breiten, Druck, Tastaturbedienung) — headless nicht durchführbar.

Änderungen v2026.6.2 gegenüber v2026.6.1 (Standard-Patch, sechster externer Prüfbericht 21.07.2026)

Ein mittlerer und ein niedriger Befund aus dem sechsten Prüfbericht. Der Prüfbericht erteilte eine bedingte Freigabe ohne hohe oder kritische Restbefunde. Beide Korrekturen berühren die Datenstruktur nicht (Standard-Patch, MINOR + 1).

  • F-01 (mittel) — veralteter Text im Altersvorsorgedepot-Leitfaden. Der Wegweiser forderte, die „Verkündung der genauen Förderbedingungen im Bundesgesetzblatt" abzuwarten — obwohl das Altersvorsorgereformgesetz bereits verkündet ist (BGBl. 2026 I Nr. 156 vom 29.05.2026), wie an anderer Stelle korrekt ausgewiesen. Der Schritt trennt jetzt verkündeten Rechtsstand und noch ausstehende Marktverfügbarkeit. Der Folgeschritt unterscheidet zudem sauber zwischen dem Mindesteigenbeitrag von 120 €/Jahr (Voraussetzung für die Zulagen) und der beitragsproportionalen Zulagenhöhe (volle Grundzulage 540 € erst bei 1.800 € Eigenbeitrag; Kinderzulage bis 300 € je Kind). Die Berechnung war nicht betroffen.
  • F-02 (niedrig) — Ganz-Euro-Abrundung im Einkommensteuertarif. § 32a Abs. 1 EStG rundet das zu versteuernde Einkommen und den Steuerbetrag auf volle Euro ab. estTarifGrund rechnete bisher mit dem ungerundeten Wert und lieferte Centbeträge (Abweichung < 1 €/Jahr). Jetzt wird — wie gesetzlich vorgesehen — auf volle Euro abgerundet; das Splittingverfahren 2 · estTarifGrund(zvE/2) bleibt gültig.
  • Regressionstest: A31 sichert die Ganz-Euro-Abrundung des Tarifs ab (Selbsttest jetzt 58 Prüfungen).

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — redaktionelle Korrektur eines Leitfadentexts und fachliche Präzisierung der Tarifrundung, kein neuer Funktionsumfang, kein Schema-Bump, Datenstruktur unverändert. Hinweis: Die vom Prüfbericht zusätzlich geforderte manuelle Browser-Abnahme (Safari, mobile Breiten, Druck) steht als organisatorischer Schritt weiterhin aus; sie ist headless nicht durchführbar.

Änderungen v2026.6.1 gegenüber v2026.6.0 (Standard-Patch, fünfter externer Prüfbericht 21.07.2026)

Vier hohe und ein mittlerer Befund aus dem fünften Prüfbericht. Sie betrafen Zeitreihen- und Zustandsübergänge, die in den statischen Startjahrespfaden von v2026.6.0 bereits korrekt waren. Datenstruktur unverändert; Korrekturen ohne neuen Funktionsumfang (Standard-Patch, MINOR + 1). Die Selbsttests decken die Zeitreihen jetzt mit ab.

  • H-01 (hoch) — „gleicher Nettoaufwand" bei Beitragsdynamik. Die Skalierung stellt den Nettoaufwand exakt nur im ersten Beitragsjahr gleich; bei aktivierter Dynamik wächst der Bruttobeitrag proportional, die am Förderhöchstbetrag gedeckelte Steuererstattung jedoch nicht. Der Modus heißt jetzt „gleicher Nettoaufwand (erstes Beitragsjahr)", und der Vergleich weist beim jeweiligen geförderten Weg die kumulierte Abweichung des tatsächlichen Nettoaufwands zum Privat-ETF-Zielstrom aus. Ohne Dynamik (u. a. im Einsteiger-Modus) ändert sich nichts.
  • H-02 (hoch) — Riester-Mindesteigenbeitrag nach Kinderzulagen-Ende. Zulagenanspruch und Mindesteigenbeitrag (§ 86 EStG) werden jetzt kalenderjahrgenau aus den im jeweiligen Jahr anspruchsberechtigten Kindern bestimmt (_riesterZulagenImJahr). Läuft die Kinderzulage aus, steigt der Mindesteigenbeitrag und die verbleibende Grundzulage wird ggf. anteilig gekürzt — bisher lief sie mit dem zu günstigen Startjahr-Faktor weiter (im geprüften Fall rund 1.856 € zu hohes Endkapital).
  • H-03 (hoch) — Cashflow-/Steuersatz-Szenarien verwarfen die Netto-Skalierung. Die je Weg tatsächlich verwendeten (bei „gleicher Nettoaufwand" skalierten) Eingaben werden jetzt im Ergebnis mitgeführt (inputsJeWeg) und von der Cashflow- Steuersatzvariante sowie der Szenariotabelle genutzt. Eine reine Änderung des Ruhestandssteuersatzes verändert das Ansparendkapital nicht mehr.
  • H-04 (hoch) — Versionsmigration alter Einsteiger-Sicherungen. Der Einsteiger-Status eg_grv hatte in v2026.5.2 die Werte „ja"/„nein"; seit v2026.6.0 vier Statusgruppen. Der Import migriert jetzt „ja" → gesetzliche Rentenversicherung und „nein" → keine Basisversorgung (übernimmt das damals berechnete Ergebnis; Beamte/Versorgungswerk bitte neu auswählen). Migrierte und wegen unbekannter Werte nicht übernommene Felder werden in der Importmeldung benannt. Klarstellung zur v2026.6.0-Notiz „JSON kompatibel": Für Einsteiger-Sicherungen aus v2026.5.2 galt das ohne diese Migration nicht — mit v2026.6.1 ist es behoben.
  • M-01 (mittel) — Cashflow-Tabelle: Erstattungsstrom und Startjahr. Die Tabelle nutzt jetzt den jahrweisen tatsächlichen Erstattungsstrom (immer berechnet, nicht nur im Schatten-ETF-Modus) statt des konstanten Startjahreswerts; das erste Ansparjahr trägt wieder das Startjahr (bisher Startjahr + 1).
  • Regressionstests: A26/A27 (Nettoaufwand-Drift und Erstjahrestreffer), A28 (Riester-Grundzulage nach Kindergeldende), A29 (steuersatzunabhängiges Szenario- Endkapital), A30 (Cashflow-Startjahr und -Erstattungsstrom). Selbsttest jetzt 57 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Korrekturen an Zeitreihen- und Zustandsübergängen samt Import-Migration, kein neuer Funktionsumfang, kein Schema-Bump, Datenstruktur unverändert.

Änderungen v2026.6.0 gegenüber v2026.5.2 (Feature-Release, vierter externer Prüfbericht 19.07.2026)

Konsolidierung der Förderberechnung und fünf hohe Prüfbefunde. Der vierte Prüfbericht deckte auf, dass Fördergrößen an mehreren Stellen (Anzeige, Endkapital, Cashflow, Schatten-ETF, Netto-Skalierung) getrennt nachgebaut waren und frühere Korrekturen dadurch nur einzelne Kopien trafen. Die Förderlogik von Altersvorsorgedepot und Riester ist jetzt je in eine gemeinsame Jahresfunktion (_avFoerderungJahr, _riesterZulagen) zusammengeführt, die alle Stellen nutzen. Datenstruktur unverändert; JSON-Sicherungen bleiben kompatibel. Der Versionsschritt ist wegen der Engine-Umstellung und der neuen Einsteiger-Funktion ein Feature-Release (MAJOR + 1, MINOR = 0).

  • H-01 (hoch) — Netto-Skalierung „gleicher Nettoaufwand" für Altersvorsorgedepot und Riester. Der skalierte Bruttobeitrag zog bisher den vollen Tarifvorteil ab. Tatsächlich fließen die Zulagen in den Vertrag, nicht aufs Konto — erstattet wird nur der die Zulagen übersteigende Vorteil (Günstigerprüfung max(0, Tarifvorteil − Zulagen)). Dadurch war der Bruttobeitrag zu hoch skaliert und der reale Nettoaufwand lag über dem ETF-Ziel (mit zwei Kindern rund +95 %). Jetzt trifft der Nettoaufwand aller geförderten Wege das ETF-Ziel. Rürup (keine Zulagen) war korrekt und bleibt unverändert.
  • H-02 (hoch) — Grundzulage des Altersvorsorgedepots im Vertrag. Die gestaffelte Grundzulage (50 ct/€ bis 360 €, 25 ct/€ bis 1.800 €, max. 540 €) wurde im Endkapital konstant mit dem Startjahreswert aufgezinst. Bei aktivierter Dynamisierung wächst sie jetzt jahrweise mit dem Beitrag — konsistent zum bereits jahrweisen Schatten-ETF-Strom.
  • H-03 (hoch) — Riester-Kürzungsfaktor der 4-%-Schwelle. Startet der Beitrag unter der Mindesteigenbeitragsschwelle und steigt per Dynamisierung darüber, laufen die anteiligen Zulagen jahrweise gegen 100 %. Grund- und Kinderzulage werden jetzt je Ansparjahr mit dem Beitrag dieses Jahres gekürzt (Endkapital und Schatten-ETF), nicht konstant mit dem Startjahr-Faktor.
  • H-04 (hoch) — Kinderzulage des Altersvorsorgedepots je Kind. Der beitragsbezogene Deckel galt fälschlich für die Summe aller Kinder (min(n × 300, Eigenbeitrag)). Nach dem Altersvorsorgereformgesetz gilt er je Kind: schon 300 €/Jahr Eigenbeitrag genügen für die volle 300-€-Zulage je Kind (n × min(Eigenbeitrag, 300)). Familien mit kleinen Beiträgen wurden bisher um bis zu zwei Drittel unterschätzt.
  • H-05 (hoch) — Einsteiger-Modus: Beamte und Versorgungswerke. Die bisherige Ja/Nein-Frage zur gesetzlichen Rentenversicherung stellte Beamte und Pflichtmitglieder berufsständischer Versorgungswerke mit vollem Rürup-Höchstbetrag frei — beide verbrauchen den gemeinsamen Höchstbetrag § 10 Abs. 3 EStG jedoch genauso. Die Frage ist jetzt vierteilig (gesetzliche Rente / Versorgungswerk / Beamtin oder Beamter / keine Basisversorgung). Für die ersten drei wird eine Basisvorsorge (≈ 18,6 % des Bruttoentgelts bis zur Beitragsbemessungs- grenze; bei Beamten die fiktive Kürzung nach § 10 Abs. 3 Satz 3 EStG) angesetzt; nur Selbstständige ohne Pflichtvorsorge erhalten den vollen Höchstbetrag. Für Versorgungswerk und Beamte weist ein Hinweis auf den Näherungscharakter und den geringen Rürup-Spielraum hin.
  • Regressionstests: A21/A22 (Netto-Skalierung AV/Riester über Günstiger- prüfung), A23 (gestaffelte AV-Grundzulage), A24 (je-Kind-Kinderzulage), A25 (jahrweiser Riester-Kürzungsfaktor); A12 an das je-Kind-Recht angepasst. Selbsttest jetzt 52 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Feature-Release (MAJOR + 1, MINOR = 0) — Umstellung der Berechnungsengine auf gemeinsame Förder-Jahresfunktionen und neue Einsteiger-Statusabfrage; kein Schema-Bump, Datenstruktur unverändert.

Änderungen v2026.5.2 gegenüber v2026.5.1 (Standard-Patch, dritter externer Prüfbericht 19.07.2026)

Behebung von drei Folgebefunden aus v2026.5.1. Alle drei betrafen Laufzeitpfade neben den bereits korrigierten Kernrechnungen. Datenstruktur unverändert; JSON-Sicherungen bleiben kompatibel.

  • H-01 (hoch, vollständig behoben) — Startjahr wurde beim Laden auf 2026 zurückgesetzt. Eine Initialisierung beim Seitenaufbau (DOMContentLoaded) überschrieb den 2027-Boden aus v2026.5.1 wieder mit dem laufenden Jahr. Diese Stelle ist jetzt ebenfalls auf frühestens 2027 gesetzt. Zusätzlich bricht die Berechnung nun hart ab (fail-closed), wenn das Altersvorsorgedepot mit einem Beitrag aktiv ist und das Startjahr vor 2027 liegt — ein bloßer Plausibilitätshinweis reicht dafür nicht. Damit erhält das Altersvorsorgedepot kein unzulässiges Förderjahr 2026 mehr.
  • H-02 (hoch) — Rürup-Basisvorsorge im Schnellrechner und im Nettovergleich. Der Schnellrechner fragt jetzt „Zahlen Sie in die gesetzliche Rentenversicherung ein?" und schätzt bei „Ja" den Rentenversicherungsbeitrag (inkl. Arbeitgeberanteil, 18,6 % bis zur Beitragsbemessungsgrenze) aus dem Einkommen und rechnet ihn auf den gemeinsamen Höchstbetrag an — Angestellte erhalten so keine überhöhte Rürup-Steuer- ersparnis mehr. Zusätzlich verwendet die Brutto-Netto-Skalierung im Modus „gleicher Nettoaufwand" (_skalierterInputs) jetzt dieselbe marginale Höchstbetrags- formel wie die Hauptrechnung; der skalierte Rürup-Weg hat damit tatsächlich denselben Nettoaufwand wie der Privat-ETF.
  • H-03 (hoch) — Grundzulage im Schatten-ETF jahrweise. Die Altersvorsorgedepot-Grundzulage wächst gestaffelt mit dem Eigenbeitrag; bei dynamisierten Beiträgen wird sie jetzt in der Günstigerprüfung des Schatten-ETF- Erstattungsstroms Jahr für Jahr aus dem dynamisierten Beitrag neu berechnet, statt den Startjahreswert konstant abzuziehen. Das behebt eine Überhöhung des geförderten Wegs im Schatten-ETF-Modus (im geprüften Fall rund 5.000 €).
  • N-01 (niedrig) — Prüfskript. Die Zusatzproben in qa_toolpruefung/run_audit.cjs rufen jetzt ausschließlich den Produktionspfad auf (Riester-Kinderzulage über _riesterKinderBetrag, Rürup-Beispiel mit gesetzter Basisvorsorge) und weisen ein echtes bestanden/nicht bestanden aus.
  • Regressionstests: A19 (Rürup-Nettoaufwand-Skalierung mit Basisvorsorge) und A20 (jahrweise AV-Grundzulage im Schatten-ETF-Strom). Selbsttest jetzt 47 Prüfungen.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Korrekturen an Laufzeitpfaden, kein neuer Funktionsumfang, kein Schema-Bump. Weiterhin offen (nachrangig): der optionale versicherungsmathematische Rentenfaktor für Riester/Rürup sowie die Live-Prüfmatrix in echten Browsern.

Änderungen v2026.5.1 gegenüber v2026.5.0 (Standard-Patch, externer Prüfbericht 19.07.2026)

Umgesetzte Befunde einer zweiten adversariellen Toolprüfung. Zwei Korrekturen mit unmittelbarem Bezug zur Kernaussage sowie mehrere Robustheits-, Transparenz- und Zugänglichkeitsverbesserungen. Datenstruktur unverändert; JSON- Sicherungen aus den Vorfassungen lassen sich weiter einlesen.

  • H-01 (hoch) — Altersvorsorgedepot frühestens 2027. Das Altersvorsorgedepot kann erst ab dem 01.01.2027 gefördert werden. Der Beginn der Ansparphase (Startjahr) ist jetzt auf frühestens 2027 begrenzt (Voreinstellung und Minimum 2027; der Einsteiger-Modus setzt ebenfalls mindestens 2027). Damit starten alle vier Wege unter gleichen Bedingungen; das Altersvorsorgedepot erhält keine unzulässige Förderung mehr für 2026. Ein über JSON-Import gesetztes früheres Startjahr wird durch einen harten Plausibilitätsfehler (P20) kenntlich gemacht.
  • H-02 (hoch) — Einsteiger-Vergleichsbasis. Der Schnellrechner verwendet jetzt die methodisch fairste Basis „gleicher Nettoaufwand" (statt „gleicher Bruttobeitrag", der den Privat-ETF systematisch zu ungünstig erscheinen ließ) und weist die verwendete Methode im Ergebnis ausdrücklich aus.
  • H-03 (hoch) — Obergrenzen und Endlichkeits-Guard. Die Geld- eingabefelder (Beiträge, Einkommen, Basisvorsorge) haben nun fachlich vertretbare Höchstwerte, und vor dem Rendern wird geprüft, dass alle Kernergebnisse endlich sind. Extrem große, formal gültige Eingaben führen damit zu einem klaren Fehler- hinweis statt zu einer teils „∞ €", teils „0 €" dargestellten Ausgabe.
  • M-01 (mittel) — Basiszins-Feld. Da die Vorabpauschale in dieser Version bewusst nicht gerechnet wird, ist das bislang folgenlose Eingabefeld „Basiszins für die Vorabpauschale" jetzt deaktiviert und ausdrücklich als Informationswert gekennzeichnet.
  • M-02 (mittel) — Leibrenten-Kennzeichnung. Der Schnellrechner weist jetzt klar aus, dass Riester und Rürup als kapitalverzehrender Auszahlplan bis zum Endalter gerechnet werden; eine reale lebenslange Versicherer-Leibrente folgt einem Rentenfaktor und biometrischen Rechnungsgrundlagen und kann abweichen. Die 20-/30-Jahres-Werte sind eine Modell-Näherung, kein garantierter Rentenbetrag.
  • M-03 (mittel) — Zugänglichkeit. Alle Formular-Eingabe- und Auswahlfelder im Experten-Modus sind jetzt über for/id programmatisch mit ihrer Beschriftung verknüpft (49 Labels).
  • M-04 (mittel) — Audit-Skript. Das Prüfskript qa_toolpruefung/run_audit.cjs ermittelt die Zieldatei jetzt versionssicher (Argument oder neueste passende Datei) und verwendet die aktuelle Schnittstelle der Schatten-ETF-Funktion.

Versionsschritt nach den Versionierungsregeln: Standard-Patch (MINOR + 1) — Korrekturen und Transparenz-/Zugänglichkeitsverbesserungen ohne neue Funktion, neuen Tab oder Engine-Umstellung, kein Schema-Bump. Noch offen (nachrangig): der optionale, versicherungsmathematische Rentenfaktor für Riester/Rürup sowie die Live-Prüfmatrix in echten Browsern (Touch, Screenreader, Zoom, Druck, mobile Breakpoints), die headless nicht belastbar prüfbar ist.

Änderungen v2026.5.0 gegenüber v2026.4.0 (Feature-Release, externer Prüfbericht 18.07.2026)

Umgesetzte Befunde einer adversariellen Toolprüfung. Drei fachlich erhebliche Rechenkorrekturen, zwei neue optionale Expertenfelder sowie mehrere Robustheits- und Transparenzverbesserungen. Die Datenstruktur bleibt kompatibel; JSON-Sicherungen aus den 2026.3.x/4.0-Fassungen lassen sich unverändert einlesen.

  • H-01 (hoch) — Rürup: gemeinsamer Höchstbetrag § 10 Abs. 3 EStG. Der Höchstbetrag (30.826 € ledig / 61.652 € zusammenveranlagt) ist ein gemeinsamer Höchstbetrag für alle Basisvorsorgeaufwendungen. Ein neues optionales Feld „Bereits genutzter Basisvorsorge-Höchstbetrag (Rürup)" nimmt die bereits genutzten Beiträge auf (bei Angestellten die gesetzliche Rentenversicherung inklusive Arbeitgeberanteil). Der abziehbare Rürup-Anteil ist dann min(Basis + Rürup, Höchstbetrag) − min(Basis, Höchstbetrag). Leer/0 = Selbstständige ohne gesetzliche Rentenversicherung → bisheriges Verhalten (voller Höchstbetrag). Zuvor wurde die Rürup-Steuerersparnis für Angestellte zu hoch ausgewiesen.
  • H-02 (hoch) — Schatten-ETF am Förderdeckel begrenzt. Die Steuererstattung wird für den Schatten-ETF jetzt jahrweise berechnet und an den gesetzlichen Förder-/Abzugsdeckeln begrenzt (Altersvorsorgedepot 1.800 € + Zulagen, Riester 2.100 €, Rürup gemeinsamer Höchstbetrag). Bisher wurde die Startjahr- Erstattung pauschal mit der Beitragsdynamik fortgeschrieben und wuchs dadurch über den Deckel hinaus — der Schatten-ETF-Modus überbewertete geförderte Wege.
  • H-03 (hoch) — Riester-Kinderzulage 185 €/300 € nach Geburtsjahr. Nach § 85 Abs. 1 EStG beträgt die Kinderzulage 185 € je vor 2008 geborenem Kind und 300 € je ab 2008 geborenem Kind. Sie wird jetzt je Kind aus dem erfassten Geburtsjahr bestimmt (volle Zulage, anteilige Kürzung, Mindesteigenbeitrag und Kapitalstrom). Das Altersvorsorgedepot bleibt beim neuen Recht (bis 300 € je Kind, keine Geburtsjahr-Staffel).
  • M-01 (mittel) — Elterneigenschaft Pflegeversicherung entkoppelt. Neues Kästchen „Elterneigenschaft (Pflegeversicherung)". Der Kinderlosenzuschlag von 0,6 Prozentpunkten (§ 55 Abs. 3 SGB XI) entfällt bei Eltern dauerhaft, auch wenn alle Kinder erwachsen sind — er wird nicht mehr allein aus der Zahl aktuell zulagen- berechtigter Kinder abgeleitet.
  • M-02 (mittel) — Rangfolge-Disclosure. Im Tab Auswertung wird ausgewiesen, dass der Privat-ETF steuerlich vereinfacht gerechnet wird (Vorabpauschale im Modell null; Durchschnitts-Gewinnquote statt jahrgangsweisem FIFO) und die Rangfolge bei engem Barwertabstand (Richtwert unter 5 %) nicht entscheidungsfest ist.
  • M-03 (mittel) — Import-Robustheit. JSON-Import prüft jetzt die Dateigröße (max. 2 MB), den obersten Datentyp (Objekt) und die Tool-Kennung im _meta-Block.
  • M-05 (mittel) — Navigation auf schmalen Bildschirmen. Der Abstand der klebenden Tab-Leiste folgt jetzt der tatsächlichen Kopfhöhe (ResizeObserver), sodass ein umgebrochener Kopf die Tabs nicht mehr überdeckt.
  • M-04 (teilweise) / N-01 — Zugänglichkeit und Parser. Das Sicherheitsprüfung-Panel hat jetzt role="dialog", aria-modal, eine Fokusfalle, Escape-Schließen und Fokus- rückgabe. Der Zahlenparser weist angehängten Text („12abc") als ungültig zurück.
  • N-02 — Regressionstests. Neue Selbsttests A15 (Rürup-Höchstbetrag mit Basisvorsorge), A16 (Riester 185/300), A17 (Schatten-ETF-Deckel), A18 (PV-Elterneigenschaft); der zu weite Riester-Förderquoten-Korridor (D4) ist auf den tatsächlichen Wert (~47,5 %) verengt. Selbsttest jetzt 45 Prüfungen.

Noch offen (nachrangig, „vorzugsweise"): die vollständige Formular-Label-Verknüpfung (for) und Tab-Rollen (role="tablist") sowie die Live-Prüfmatrix in echten Browsern (Touch, Bildschirmleser, Druck, mobile Breakpoints) — headless nicht abschließend prüfbar. Versionsschritt nach den Versionierungsregeln: Feature-Release (MAJOR + 1, MINOR = 0) wegen der zwei neuen Eingabefelder und der Engine-Umstellung; kein Schema-Bump.

Änderungen v2026.4.0 gegenüber v2026.3.4 (Feature-Release, Sicherheits-/Transparenzmerkmal)

Neues zentrales Sicherheits-/Transparenzmerkmal — identisch zur Referenzimplementierung der Finanzstruktur Vermögensplanung. Es macht die bereits bestehende Eigenschaft „rein lokale Verarbeitung" sichtbar und sichert sie technisch ab. Drei sauber getrennte Ebenen:

  • Netzwerksperre (Ebene c). Eine fest im Dokumentkopf gesetzte, restriktive Content-Security-Policy (default-src 'none'; … connect-src 'none'; base-uri 'none'; form-action 'none') unterbindet fetch, XHR, WebSocket, EventSource und sendBeacon — vom Browser erzwungen. Die Policy ist bewusst eine Netzwerksperre, kein XSS-Schutz: 'unsafe-inline' und data: sind für das Inline-Skript, die Inline-Styles und die eingebetteten Schriften/Bilder dieser Single-File-Anwendung erforderlich.
  • Ressourcen-Nachweis (Ebene d). Über die Resource-Timing-API wird gemessen, welche Ressourcen tatsächlich geladen wurden — bei korrekt eingebetteten Inhalten 0 externe Ressourcen. Misst statt zu behaupten.
  • Umgebungsstatus (Ebene a). Online/Offline wird ausschließlich als Kontext gezeigt, ausdrücklich gekennzeichnet als „kein Datenfluss-Beleg".

Sichtbare Architektur: Ein neuer, klickbarer Status oben links im Kopf trägt — gekoppelt an die gemessene CSP, nicht an den Online-Status — die Beschriftung „🔒 Lokal · keine autom. Übertragung" (grün) bzw. bei fehlender Sperre „⚠ Lokal · CSP prüfen" (Bernstein). Klick öffnet das Sicherheitsprüfung-Panel (entkoppeltes Modal, nicht an das Admin-Gating gebunden), das die Ebenen a/c/d im Klartext abarbeitet. Ein zweiter, gleichwertiger Einstiegspunkt steht im Tab Administration im Block „Sicherheit".

Sprachregelung: durchgängig „keine automatische Datenübertragung" — die anklickbaren Impressum-/Datenschutz-Links (Navigation) bleiben erlaubt und sind im CSP-Sinn keine „Verbindung".

Neue Selbsttest-Kategorie N: N1 (CSP gesetzt), N2 (connect-src 'none' aktiv), N3 (default-src 'none'), N4 (0 externe Ressourcen via Resource-Timing). Der Online-Status (Ebene a) wird bewusst nicht getestet — umgebungsabhängig.

Härtung „Als HTML sichern": Ein während des Speicherns offenes Sicherheitsprüfung-Panel wird — analog zum Impressum-Panel — vor dem Klonen des Dokuments geschlossen, damit das Overlay nicht in die gespeicherte Datei eingebettet wird (Befund der Toolprüfung Juni 2026, im Release behoben).

Versionsschritt nach den Versionierungsregeln der Finanzstruktur-Programmfamilie: Feature-Release (MAJOR + 1, MINOR = 0) — neue Funktion. Keine Datenstruktur-Änderung, kein Schema-Bump; JSON-Sicherungen aus den 2026.3.x-Fassungen lassen sich unverändert einlesen. Verbindliches Auslieferungs-Gate: vollständiger manueller Klick-Durchlauf mit aktiver CSP (Charts/SVG, „Als HTML sichern", JSON-Im-/Export, externe Links) ohne CSP-Verstöße in der Browser-Konsole.

Änderungen v2026.3.4 gegenüber v2026.3.3 (Standard-Patch, Rechtsstands-Aktualisierung)

Aktualisierung des Rechtsstands und ergänzende Information:

  • Verkündung im Bundesgesetzblatt nachgetragen. Das Altersvorsorgereformgesetz wurde am 29.05.2026 im Bundesgesetzblatt verkündet (BGBl. 2026 I Nr. 156, ausgefertigt 26.05.2026); Inkrafttreten der wesentlichen Teile zum 01.01.2027. Die bisherige Angabe „Verkündung im Bundesgesetzblatt steht noch aus" war damit überholt und ist an allen Anzeige- und Druckstellen (Kopfzeile, Tab Start, Tab Administration, Druckreport, Impressum-Datenstand) durch die BGBl-Fundstelle ersetzt. Die Förderparameter und sämtliche Berechnungen bleiben unverändert.
  • Neuer Informationsabschnitt „Aktuelle Entwicklung — Stand Juni 2026". Im Tab Start fasst ein neuer Kasten den praktischen Stand zusammen: Gesetz verkündet, Produkte erst ab 2027; noch keine abschlussfähigen Angebote und keine veröffentlichten Rentenfaktoren; Zertifizierung durch das Bundeszentralamt für Steuern; kosten- gedeckeltes Standardprodukt (höchstens 1 % Effektivkosten); vorgesehene Vergleichsplattform; Auszahlbeginn 65 bis 70; Beitragsfreiheit laufender Leistungen in der Krankenversicherung der Rentner (wie bei Riester) bei weiterhin offener SV-Behandlung von Einmal- und Teilkapitalauszahlungen.
  • Druckreport-Versionsnummer korrigiert. Deckblatt und Auswertungs- kopf des Druckreports wiesen noch „v2026.3.0" aus (bei der Einführung der zentralen Versionskonstante übersehen, Befund T-03). Beide ziehen die Version jetzt aus TOOL_VERSION.

Versionsschritt nach den Versionierungsregeln der Finanzstruktur-Programmfamilie: Standard-Patch (MINOR + 1), redaktionelle Rechtsstands-Aktualisierung ohne Eingriff in Datenstruktur oder Berechnungslogik. JSON-Sicherungen aus v2026.3.0 bis v2026.3.3 lassen sich unverändert einlesen.

Änderungen v2026.3.3 gegenüber v2026.3.2 (Standard-Patch, externer Prüfbericht und Lizenzhygiene)

Korrekturen und fachliche Präzisierungen:

  • T-01 (Härtung) — Zahlenparser gegen Infinity. _parseNum gab über parseFloat bisher Eingaben wie „Infinity" und „-Infinity" unbemerkt durch. Bei den sechs numerischen Eingabefeldern ohne max-Attribut (zu versteuerndes Einkommen, Bruttoentgelt-Vorjahr, die vier Monatsbeiträge) hätte ein präparierter JSON-Import oder ein Paste so unendliche Werte in die Berechnung einspeisen können — _clampToBounds hätte ohne max nicht gegriffen. Jetzt defensiv als NaN abgefangen; der Bedienpfad fällt auf den letzten gültigen Wert zurück.
  • T-02 (Roundtrip) — Vergleichsbasis im JSON-Export. Die Vergleichsbasis ist eine Radio-Gruppe und war nicht in der ID-basierten Export-Logik enthalten; die zuletzt gewählte Basis ging beim JSON-Roundtrip verloren und fiel auf den HTML-Default „gleicher Bruttobeitrag" zurück. Wird jetzt separat als _vgl_basis exportiert und importiert (Whitelist-geprüft, analog zur Schema-Härtung B-20).
  • T-03 (Hygiene) — Zentrale Versionskonstante. Die Versionsnummer war an mehreren Stellen redundant gepflegt (Header-Kommentar, DOM-Anzeige, JSON-Meta) — der JSON-Meta-Wert hing bisher zwei Stufen hinterher. Eingeführt ist jetzt eine zentrale Konstante TOOL_VERSION; die DOM-Anzeige im Tab Administration und die _meta.version im JSON-Export ziehen die Versionsnummer von dort.
  • U-01 + R-01 — Tooltip-Klarstellungen Auszahlphase. Der Tooltip zur Auszahlform des Altersvorsorgedepots stellt nun ausdrücklich klar, dass „Lebenslange Rente" und „Auszahlplan" beide als annuitätische Auszahlung bis zum eingestellten Auszahlendalter modelliert werden — eine reale Versicherer-Leibrente nutzt biometrische Tafeln und Rentenfaktoren und kann abweichen. Beim Auszahlmodus „30 % vorab, Rest als Rente" weist der Tooltip jetzt außerdem auf die lineare Interpolation des Grenzsteuersatzes auf den Einmalbetrag im Korridor 20.000 bis 40.000 € hin (Befund B-21). Der Riester-Tooltip ist parallel präzisiert.
  • Erweiterter Selbsttest: B11 prüft zusätzlich, dass „Infinity" und „-Infinity" als ungültig zurückgewiesen werden.
  • Lizenzhygiene OFL-1.1. Der Drittkomponenten-Eintrag im Impressum nennt jetzt für jede eingebettete Schrift den Copyright- Inhaber (DM Sans: © Google Fonts; JetBrains Mono: © JetBrains s.r.o.) sowie den vollständigen Link auf den Lizenztext der SIL Open Font License 1.1 (scripts.sil.org/OFL). Damit sind die beiden harten Pflichten der OFL — Copyright-Hinweis und Lizenzverweis — bei der Weitergabe der HTML-Datei vollständig erfüllt; das Einbetten einer Schrift in eine ausgelieferte Single-File-HTML zählt als Weitergabe der Fontsoftware im Sinne der OFL. Auch der Fallback auf System-Schriftarten ist im Impressum-Text ergänzt. Berechnungslogik unberührt.

Versionsschritt nach den Versionierungsregeln der Finanzstruktur- Programmfamilie: Standard-Patch (MINOR + 1), keine Datenstruktur-Änderung, kein Schema-Bump. JSON-Sicherungen aus v2026.3.0 bis v2026.3.2 lassen sich unverändert einlesen; ältere Sicherungen verlieren lediglich die Vergleichsbasis (T-02 wirkt nur in Vorwärtsrichtung), der Importpfad fällt dafür sauber auf den DOM-Default zurück.

Editorische Pflege Juni 2026 (keine Versionsanhebung)

Impressum/Datenschutz redaktionell aktualisiert (Stand: Juni 2026). Editorische Pflege ohne Auswirkung auf Berechnungslogik, Rechenkerne oder fachliche Aussagen. Versionsstand bleibt unverändert v2026.3.3.

  • Datenschutz-Block gekürzt. Der bisher im Impressum ausführlich abgebildete Datenschutz-Block (PayPal- und SEPA-Verarbeitung, Aufbewahrungsfristen nach § 147 Abgabenordnung und § 257 Handelsgesetzbuch, Rechtsgrundlagen) ist auf eine Kurzfassung mit Verweis auf die Datenschutzerklärung unter www.privatbilanz.de/datenschutz.html reduziert. Die ausführlichen Angaben werden zentral auf der Webseite gepflegt; das vermeidet inhaltliche Divergenzen zwischen Tool und Webseiten-Datenschutzerklärung.
  • Verantwortlicher nach Artikel 4 Nummer 7 Datenschutz-Grundverordnung explizit benannt. Ergänzt um den Klarstellungssatz, dass Andreas Ebert (Anschrift wie oben) Verantwortlicher ist.
  • Antwortzeit-Zusage für E-Mail ergänzt. Unmittelbar nach der Kontaktangabe wird zugesichert, dass Anfragen in der Regel innerhalb von zwei Werktagen beantwortet werden. Damit ist § 5 Absatz 1 Nummer 2 Digitale-Dienste-Gesetz (unmittelbare und schnelle Kommunikation) erfüllt, ohne dass eine Telefonnummer offengelegt werden muss.

Stabilitätsregeln beibehalten: § 5 Digitale-Dienste-Gesetz (nicht ersetzt durch das seit 14.05.2024 außer Kraft getretene Telemediengesetz), § 18 Absatz 2 Medienstaatsvertrag, kein Hinweis auf die zum 20.07.2025 abgeschaltete Online-Streitbeilegungs-Plattform (Verordnung (EU) 2024/3228), keine Klausel nach § 36 Verbraucherstreitbeilegungsgesetz (mangels unternehmerischer Tätigkeit nach § 14 Bürgerliches Gesetzbuch), Verweis auf § 521 Bürgerliches Gesetzbuch im Haftungsausschluss unverändert.

Änderungen v2026.3.2 gegenüber v2026.3.1 (Standard-Patch, externer Prüfbericht)

Korrekturen und fachliche Präzisierungen:

  • F-NEU-01 (Bugfix) — Parser-Symmetrie bei mehreren Punkten. _parseNum entfernte bei mehreren Punkten ohne Komma bisher alle Punkte unbedingt; die Eingabe „1.23.45" wurde stillschweigend zu 12345 umgedeutet. Das spiegelte den 2026.3.1-Fix B-NEU-02 für mehrere Kommas nicht symmetrisch wider. Jetzt wird die Eingabe nur akzeptiert, wenn das deutsche 3er-Gruppen-Muster (1.000, 1.000.000, …) sauber erfüllt ist; sonst wird sie wie ein US-Tausenderkomma als ungültig zurückgewiesen und fällt im Bedienpfad defensiv auf den letzten gültigen Wert zurück.
  • F-NEU-02 (Hinweistext) — Riester im Modus „gleicher Nettoaufwand". Die Brutto-Netto-Skalierung deckelt den Riester-Beitrag auf 175 €/Monat (§ 10a Einkommensteuergesetz, 2.100 €/Jahr inklusive Zulagenanspruch). Wäre für ein dem Privat-ETF entsprechendes Netto ein höherer Brutto- Beitrag erforderlich, fand der Vergleich bisher stillschweigend am Höchstbeitrag statt — der Modus wirkte für Riester unsichtbar wirkungslos. Im Hinweistext der Riester-Spalte erscheint jetzt der erforderliche ungedeckelte Brutto-Beitrag und der Verweis auf den gesetzlichen Höchstbetrag. Die Modell-Konvention selbst bleibt unverändert (kein ungeförderter Riester-Topf — vgl. Block-Kommentar in _skalierterInputs).
  • P-NEU-02 (Plausibilitätsprüfung) — Negative Netto-Anspar-Rendite. Liegt für mindestens einen Weg mit Beitrag größer null die Rendite vor Kosten in der Ansparphase unter den Produktkosten, fällt das Endkapital mathematisch korrekt unter die Summe der Beiträge. Das ist eine ungewöhnliche, aber zulässige Konstellation und wird jetzt als Plausibilitätshinweis P19 sichtbar gemacht — damit der Nutzer nicht ein Eingabeversehen oder einen Berechnungsfehler vermutet.
  • Erweiterter Selbsttest: B11 prüft zusätzlich die Symmetrie bei mehreren Punkten (Fälle „1.23.45" und „1.2.3.4" werden jetzt als ungültig zurückgewiesen).

Versionsschritt nach den Versionierungsregeln der Finanzstruktur- Programmfamilie: Standard-Patch (MINOR + 1), keine Datenstruktur-Änderung, kein Schema-Bump. JSON-Sicherungen aus v2026.3.0 und v2026.3.1 lassen sich unverändert einlesen.

Änderungen v2026.3.1 gegenüber v2026.3.0 (Standard-Patch, zwei externe Prüfberichte)

Korrekturen und fachliche Präzisierungen:

  • B-NEU-03 (Bugfix) — Inkonsistenz zwischen Cashflow-Engine und Kennzahlen-Engine beim Privat-ETF. Die Hilfsfunktion _nettoRenditen zog beim Privat-ETF zusätzlich einen pauschalen Vorabpauschalen-Renditeabzug ab, obwohl calcETF diesen Abzug nach Befund B-05 (Mai 2026) auf null gesetzt hat — die Anrechnung der bereits gezahlten Vorabpauschalen-Steuer auf die Schlusssteuer nach § 19 Absatz 1 Investmentsteuergesetz ist ohne jahresweise Buchführung nicht sauber abbildbar; die schlanke Lösung ist konsequent der Verzicht auf den Anspar-Abzug in beiden Engines. Folge des bisherigen Ungleichlaufs: das im Tab Zahlungsströme ausgewiesene Anspar-Endkapital lag beim Privat-ETF rund 6,6 Prozent unter dem in den Kennzahlen-Karten ausgewiesenen Wert (bei Standardparametern 212.810 € statt 227.902 €), und das Auszahl- Restkapital lief in den Modi „annuitaet" und „linear" vor dem eingestellten Auszahlende auf null. Korrektur: _nettoRenditen folgt jetzt für alle vier Wege der gleichen Konvention (Rendite vor Kosten − Produktkosten). Validiert über die Cashflow-Identität brutto = steuer + kvpv + netto sowie den Abgleich Cashflow-Endkapital = Engine-Endkapital.
  • B-NEU-02 (Bugfix) — Parser für deutsche Zahlenformate. Mehrere Kommas ohne Punkt (etwa „1,234,567" aus US-Quellen) wurden bisher still als „1.234" verstanden: der Ersatz „erstes Komma → Punkt" griff nur einmal, parseFloat brach am zweiten Komma ab. Die Eingabe wird jetzt als ungültig zurückgewiesen; im Bedienpfad fällt num() defensiv auf den letzten gültigen Wert zurück, numStrict() greift auf den vorgesehenen Default. Sichtbar für Anwender bei Paste aus US-Excel, US-CSV oder ähnlichen Quellen.
  • B-NEU-01 (Härtung) — Ertragsanteilstabelle § 22 EStG. Die Tabelle endete bisher bei 75 Jahren und gab für höhere Eintrittsalter pauschal 11 % zurück. Im Tool ist das Eingabefeld auf max="75" begrenzt und num() clamped zusätzlich; der Pfad ist unter normaler Bedienung nicht erreichbar. Die Tabelle wurde dennoch entsprechend § 22 Nummer 1 Satz 3 Buchstabe a Doppelbuchstabe bb Einkommensteuergesetz bis Alter 97 (0 %) fortgeschrieben, damit ein versehentliches Heraufsetzen der DOM-Grenze (etwa für Rürup-Hinausschiebungsoptionen) nicht mehr zu einem stillschweigend falschen Ertragsanteil führt.
  • P-NEU-01 (Plausibilitätsprüfung) — Geburtsjahr in der Zukunft. Ein Geburtsjahr nach dem Startjahr der Ansparphase wird jetzt als harter Fehler ausgewiesen (P18). Bisher fing P1 das Folgeproblem nur, wenn dadurch zusätzlich alter_eintritt ≤ alter_jetzt verletzt wurde; im Standardfall (Renteneintritt 67) blieb die Eingabe sonst unauffällig, obwohl ein negatives Alter zu Beitragsbeginn inhaltlich absurd ist.
  • F-NEU-01 — Klarstellung Rürup-Auszahlung. Der Hinweis- text und das Auszahl-Label zur Rürup-Rente weisen jetzt ausdrücklich darauf hin, dass die Auszahlung modellseitig als kapitalverzehrende Annuität bis zum eingestellten Auszahlendalter gerechnet wird (gleiche Konvention wie der Auszahlplan des Altersvorsorgedepots, damit beide Wege unter identischen Lebenserwartungsannahmen vergleichbar sind). Eine reale Versicherer-Leibrente nutzt biometrische Tafeln und Rentenfaktoren und fällt typischerweise niedriger aus.
  • F-NEU-02 — Symmetrie der Höchstbetrags-Hinweise bei Riester. Bei Rürup wird ein die Höchstbeträge nach § 10 Absatz 3 EStG übersteigender Beitrag ausdrücklich als „steuerlich nicht abzugsfähig" ausgewiesen. Bei Riester war das Gegenstück implizit (die Min-Funktion in der Sonderausgaben- Berechnung deckelte sauber, machte das aber nicht sichtbar). Der Hinweis- text weist jetzt analog auf den Höchstbetrag § 10a EStG hin (2.100 €/Jahr inklusive Zulagenanspruch).
  • Neue Selbsttests: A14 (Ertragsanteil-Fortsetzung über Alter 75 hinaus, vier Stützstellen aus der amtlichen Tabelle), B11 (_parseNum erkennt US-Tausenderkomma als ungültig und liefert NaN).

Versionsschritt nach den Versionierungsregeln der Finanzstruktur- Programmfamilie: Standard-Patch (MINOR + 1), keine Datenstruktur-Änderung, kein Schema-Bump. JSON-Sicherungen aus v2026.3.0 lassen sich unverändert einlesen.

Änderungen v2026.3.0 gegenüber v2026.2.1 (Funktionserweiterung Mai 2026)

Neue Funktionen und fachliche Verfeinerungen:

  • N-01 — Förderdauer der Kinderzulage. Die Kinderzulage wird nicht mehr pauschal über die gesamte Ansparphase angesetzt, sondern nur in den Jahren, in denen für das jeweilige Kind ein Kindergeldanspruch besteht. Je Kind werden Geburtsjahr und Förderdauer erfasst: bis 18 (Regelfall), bis 25 (Ausbildung/Studium), unbefristet (behindertes Kind) oder ein eigenes Endjahr. Rechtsgrundlage: Anknüpfung an das Kindergeld (bisher § 85 Einkommensteuergesetz; im Altersvorsorgereformgesetz fortgeführt). Zusätzlich begrenzt eine Beitragsdeckung die Kinderzulage auf die förderfähigen Eigenbeiträge (100 % der Beiträge, höchstens 1.800 €). Wirkung: Bei langem Anlagehorizont fällt die zuvor systematische Überzeichnung des geförderten Topfes (Altersvorsorgedepot und Riester) weg.
  • N-02 — Kranken-/Pflegeversicherung des Altersvorsorgedepots. Bei Pflichtversicherung in der Krankenversicherung der Rentner wird die Auszahlung aus dem Altersvorsorgedepot analog zur Riester-Rente beitragsfrei behandelt (private Altersvorsorge, kein Versorgungsbezug nach § 229 Sozialgesetzbuch Fünftes Buch) — konsistent zur Basisrente. Vorbehalt: Die Sozialversicherungsträger haben sich dazu noch nicht abschließend geäußert; die Erläuterung im Eingabefeld weist darauf hin.
  • N-03 — Startjahr der Berechnung. Das Startjahr der Ansparphase ist nun ein Eingabefeld (Voreinstellung: laufendes Jahr) statt fest des Systemjahres. Es bestimmt Alter zu Beginn, Zahl der Ansparjahre und — über die Zuordnung Ansparjahr → Kalenderjahr — die Förderdauer der Kinderzulage.
  • Plausibilitätsprüfung P11 prüft jetzt je Kind, ob im Ansparzeitraum (noch) ein Kindergeldanspruch besteht, und weist auf fehlende Geburtsjahre hin. Neue Selbsttests A10–A12 sichern die Förderdauer- und Beitragsdeckungslogik ab.
  • N-01b (Bugfix, gleiche Version). In der jahresweisen Cashflow-Darstellung wurde die Kinderzulage zuvor als konstanter Jahreswert über die gesamte Ansparphase fortgeschrieben — trotz gesetzten Förderendes. Behoben: Der Cashflow verwendet nun denselben jahresweisen Zulagenstrom wie die Endkapital-Berechnung; die Kinderzulage endet im Cashflow mit dem Kindergeldanspruch, und das in der Ansparphase aufgebaute Kapital stimmt mit dem ausgewiesenen Endkapital überein. Die Jahreslabels des Cashflows folgen jetzt dem Startjahr.
  • B-02c (Bugfix, gleiche Version). Die Vergleichsbasis (gleicher Bruttobeitrag / gleicher Nettoaufwand / Schatten-ETF) wirkt sich auf die geförderten Wege nur aus, soweit eine Steuerersparnis modelliert wird. Ohne zu versteuerndes Einkommen — und bei der Netto-Basis zusätzlich ohne Grenzsteuersatz im Erwerbsleben — liefern alle drei Basen für Altersvorsorgedepot und Riester praktisch dasselbe Ergebnis (rechnerisch korrekt). Bisher fehlte dazu jede Rückmeldung, was wie ein Fehler wirkte. Der Hinweis unter den Optionen weist jetzt ausdrücklich auf diese Konstellationen hin.
  • N-04 (Auszahlphase, gleiche Version). Neue eigenständige Auswertung „Altersvorsorgedepot: Auszahlung mit oder ohne Absicherung" im Abschnitt zur Auszahlung. Sie stellt die lebenslange Leibrente (berechnet über einen einstellbaren Rentenfaktor, Vorgabe 27 € je 10.000 € Kapital) dem zeitlich begrenzten Auszahlplan gegenüber und weist das Break-even-Alter aus, ab dem sich die Langlebigkeitsabsicherung kumuliert lohnt. Bewusst getrennt vom Vier-Wege-Vergleich; alle Beträge brutto. Ein Hinweis nennt weitere, gesetzlich mögliche Auszahlvarianten; das Programm wird erweitert, sobald belastbare Marktangebote vorliegen.
Änderungen v2026.2.1 gegenüber v2026.1.4 (Prüfung Mai 2026, Patch Mai 2026)

Kritische und hochrelevante Korrekturen:

  • B-01 Sozialversicherungsbeiträge in der Auszahlphase auf den Stand 2026 aktualisiert. KVdR jetzt 8,70 % (halber KV 3,65 % + halber durchschnittlicher Zusatzbeitrag 1,45 % + voller Pflege- versicherungs-Beitrag 3,60 % nach § 55 Absatz 1 Sozialgesetzbuch Elftes Buch). Freiwillig gesetzlich Versicherte 21,10 %. Kinderlose KVdR 9,30 %.
  • B-02 Drei wählbare Vergleichsbasen — gleicher Bruttobeitrag, gleicher Nettoaufwand (Skalierung der Beiträge bis zum Förderhöchstbetrag), Schatten-ETF für die Steuererstattung der geförderten Wege.
  • B-03 Eingabevalidierung mit Fallback auf den letzten gültigen Wert; harter Ausstieg in recalcAll bei unplausiblen Phasen.
  • B-04 ETF-Restkapital-Steuer wird konsistent zur Tranchen-Steuer berechnet (Doppelverrechnung des Einzahlungsbetrags beseitigt).
  • B-05 Vorabpauschale: Doppelverrechnung durch Entfernung des Renditeabzugs aufgehoben (jahresweise Buchführung im Modell nicht abbildbar; Effekt im niedrigen einstelligen Prozentbereich dokumentiert).
  • B-06 Tariffunktion § 32a Einkommensteuergesetz ersetzt die lineare Multiplikation von Sonderausgabenabzug mit dem Grenzsteuersatz — wirkt sich insbesondere bei Rürup ergebnisrelevant aus.
  • B-07 Riester-4-Prozent-Schwelle: pauschaler Aufschlag 1,30 · zvE als Schätzung des Bruttoentgelts, Plausibilitätshinweis P17.
  • B-08 Rentenbarwert monatlich vorschüssig statt jährlich nachschüssig.

Mittlere Schweregrade:

  • B-09 Hinweistext zum konstanten Grenzsteuersatz in der Auswertung.
  • B-10 Einmal- und Teilkapitalauszahlungen über 30.000 € werden mit dem Spitzensteuersatz (42 %) belegt, wenn dieser höher liegt als der eingestellte grenzsatz_rente.
  • B-11 Debouncing aller Eingabe-Listener (200 ms); egRentenLauf rechnet ohne recalcAll-Umweg.
  • B-12 importJson setzt das Disabled-Attribut der Override- Felder auf die korrekten Feld-Identifikatoren.
  • B-13 Spalte „Kaufkraft heute" in der Rangfolge der Auswertung — macht den Inflationseffekt über Anspar- und Auszahlphase sichtbar.
  • B-14 KV-Beitrag auf ETF-Erträge bei freiwilliger GKV (Beitragsverfahrensgrundsätze Selbstzahler).
  • B-15 KV-/PV-Beitrag auf AV-Depot-Einmalauszahlung wird entsprechend § 229 Absatz 1 Satz 3 Sozialgesetzbuch Fünftes Buch auf 120 Monate verteilt (Barwertfaktor).

Niedrige Schweregrade:

  • B-16 speichernAlsHTML arbeitet jetzt auf einem Klon; das Live-DOM wird nicht mehr mit veralteten Attributen aufgebläht.
  • B-17 Leere Override-Felder fallen auf den jeweiligen Globalwert zurück.
  • B-18 Tooltip-Hover-Brücke: Tooltip schließt sich nicht mehr, wenn die Maus auf den Tooltip-Text wechselt.
  • B-19 Stepper-Pfeile auch auf Safari ausgeblendet (Webkit-Pseudoelemente).
  • B-20 Edge Case jahre_auszahl = 0 implizit durch B-03 abgedeckt.
  • B-21 Deutsches Zahlenformat „1.234,56" wird in Eingabefeldern akzeptiert.
  • B-22 Chart-Fallback überlagert das Canvas, statt es zu überschreiben.

Erweiterung des Selbsttests: Kategorie D mit acht Tests gegen externe Referenzwerte (Sparplan-Endwert, Rürup-Steuerersparnis, Riester-Förderquote, Barwertkonventionen, Realwertberechnung, Sozialversicherungsbeitrag KVdR, Konsistenz der ETF-Restkapital-Steuer).

Nachtrag Quellenkorrektur (Mai 2026):

  • Q-01 Fehlzitat „Bundesfinanzhof, Urteil vom 06.12.2017, Aktenzeichen VIII R 18/14" durchgängig ersetzt. Das Aktenzeichen VIII R 18/14 betraf ein anderes Verfahren (Werbungskostenabzug bei Abgeltungsteuer) und führte nicht zu einem Sachurteil; das Datum 06.12.2017 gehört zu einem BMF-Schreiben, nicht zu einer Gerichtsentscheidung. Korrekte Belegstelle für die Aussage „keine Fünftelregelung bei Teilkapitalauszahlung": vergleiche unten Q-04 (richtige BMF-Stelle) und Q-05 (Fortentwicklung der höchstrichterlichen Rechtsprechung).
  • Q-02 Fehlzitat „§ 18a Investmentsteuergesetz" in der Quellentabelle korrigiert auf § 18 Investmentsteuergesetz (Vorabpauschale). Zugleich saubere Trennung zwischen Einkommensteuergesetz (Sparer-Pausch- betrag § 20 Absatz 9, Abgeltungsteuer § 32d) und Investmentsteuergesetz (Vorabpauschale § 18, Basiszins § 18 Absatz 4) wiederhergestellt.
  • Q-03 Verweis auf das Urteil des Bundessozialgerichts vom 23.07.2014, Aktenzeichen B 12 KR 26/12 R (Befund B-22, Quellcode-Kommentar im Rürup-Berechnungsblock) entfernt. Das Urteil betraf privat fortgeführte Pensionskassen aus betrieblicher Altersversorgung, nicht private Basis- oder Riester-Renten. Die Beitragsfreiheit privater Basisrenten in der Kranken- versicherung der Rentner ergibt sich bereits unmittelbar aus dem abschließenden Charakter der Aufzählung in § 229 Sozialgesetzbuch Fünftes Buch; einer sondergerichtlichen Klarstellung bedarf es insoweit nicht.

Nachtrag Quellenkorrektur (v2026.2.1):

  • Q-04 Falsches BMF-Schreiben durchgängig ersetzt. Bisher zitiert: „BMF-Schreiben vom 06.12.2017, Bundessteuerblatt I 2018 Seite 147, Randziffer 147". Dieses Schreiben (IV C 5 – S 2333/17/10002) betrifft die lohnsteuerliche Behandlung von Zusagen auf Leistungen der betrieblichen Altersversorgung und nicht die hier maßgebliche private Altersvorsorge (Altersvorsorgedepot, Riester, Rürup). Einschlägig ist das Anwendungsschreiben zur steuerlichen Förderung der privaten Altersvorsorge: BMF-Schreiben vom 05.10.2023, Bundessteuerblatt I 2023 Seite 1726, Randziffer 128 (Aktenzeichen IV C 3 – S 2015/22/10001:001) — dieses Schreiben ersetzt das frühere Anwendungsschreiben vom 21.12.2017, Bundessteuerblatt I 2018 Seite 93.
  • Q-05 Rechtsprechungsfortentwicklung ergänzt. Das bisher zitierte Senatsurteil Bundesfinanzhof vom 20.09.2016, X R 23/15 (Bundessteuerblatt II 2017 Seite 347) wurde durch die Senatsurteile vom 11.06.2019, X R 7/18 (Bundessteuerblatt II 2019 Seite 583), vom 06.05.2020, X R 24/19 (Bundessteuerblatt II 2021 Seite 141), und durch das Senatsurteil vom 30.10.2025, X R 25/23 in einem zentralen Punkt fortentwickelt: Nicht mehr das vertraglich von Anfang an eingeräumte Kapitalwahlrecht ist entscheidendes Tatbestandsmerkmal, sondern die tatsächliche Atypik — also die statistische Häufigkeit, mit der das Kapitalwahlrecht ausgeübt wird. Im Ergebnis bleibt die Aussage „keine Fünftelregelung bei Teilkapitalauszahlung" tragfähig, weil die Statistik eine häufige Ausübung belegt. Die Begründungslinie hat sich aber verschoben; sämtliche Zitatstellen wurden entsprechend ergänzt.
  • Q-06 Beitragssatz zur sozialen Pflegeversicherung in der Auszahlphase auf den Stand 2026 aktualisiert: 3,60 Prozent (Eltern, ein Kind) statt bisher 3,40 Prozent. Der Beitragssatz wurde durch Rechtsverordnung vom 20.12.2024 (Bundesgesetzblatt 2024 I Nummer 446) zum 01.01.2025 von 3,40 auf 3,60 Prozent angehoben und bleibt zum 01.01.2026 unverändert. Zugleich Anpassung des durchschnittlichen Zusatzbeitragssatzes zur Krankenversicherung auf 2,90 Prozent (2026). KVdR-Eigenanteil damit 8,70 Prozent (Eltern) bzw. 9,30 Prozent (Kinderlose); freiwillig gesetzlich Versicherte 21,10 Prozent.
  • Q-07 Falsche Normangabe im Kommentar korrigiert. Für die Beitragshöhe zur sozialen Pflegeversicherung war bisher „§ 59 Absatz 1 Sozialgesetzbuch Elftes Buch" zitiert. § 59 Sozialgesetzbuch Elftes Buch regelt jedoch die Beitragstragung (wer zahlt), nicht die Beitragshöhe; diese steht in § 55 Absatz 1 Sozialgesetzbuch Elftes Buch. Norm in allen Tooltips und Quellcode-Kommentaren ersetzt.
  • Q-08 § 229 Absatz 1 Satz 3 Sozialgesetzbuch Fünftes Buch (Verteilung einer einmaligen Kapitalleistung auf 120 Monate) im Quellcode- Kommentar zur Einmalauszahlung aus dem Altersvorsorgedepot stärker als Modellannahme gekennzeichnet. § 229 Sozialgesetzbuch Fünftes Buch erfasst dem Wortlaut nach nur Versorgungsbezüge (Betriebsrenten, Pensionen, Direktversicherungen, Pensionskassen, berufsständische Versorgungs- einrichtungen); das Altersvorsorgedepot ist ein privates Produkt. Eine gesetzliche oder höchstrichterliche Festlegung zur sozialversicherungs- rechtlichen Behandlung von Einmalauszahlungen aus dem Altersvorsorgedepot steht aus.

Nachtrag Rechtsstand 2026 (v2026.2.1):

  • R-01 Einkommensteuertarif § 32a Einkommensteuergesetz auf den amtlichen Stand für den Veranlagungszeitraum 2026 umgestellt. Die Konstante STEUER_TARIF_2026 enthielt bisher die Eckwerte und Polynomkoeffizienten des Veranlagungszeitraums 2025. Mit dem Steuerfortentwicklungsgesetz vom 23.12.2024 (Bundesgesetzblatt 2024 I Nummer 449, in Kraft ab 01.01.2026) wurden zur Kompensation der kalten Progression der Grundfreibetrag auf 12.348 Euro (statt 12.096 Euro), das Ende der ersten Progressionszone auf 17.799 Euro (statt 17.443 Euro) und das Ende der zweiten Progressionszone auf 69.878 Euro (statt 68.480 Euro) angehoben. Auch die Polynomkoeffizienten beider Progressionszonen und die linearen Konstanten der Zonen drei und vier wurden gesetzlich neu gefasst. Sämtliche Werte in STEUER_TARIF_2026 entsprechen jetzt der gesetzlichen Fassung des § 32a Absatz 1 Einkommensteuergesetz für 2026 (vgl. Bundesfinanzministerium, Lohnsteuerhandbuch 2026). Die Stetigkeit an den Zonengrenzen folgt unmittelbar aus dem Gesetz; eine eigene Glättungsableitung der Zone-2-Konstante ist nicht mehr erforderlich. Die Korrektur wirkt sich über steuerersparnisAusAbzug auf alle drei geförderten Wege aus; bei Rürup mit hohen Sonderausgabenabzügen ist die ausgewiesene Steuerersparnis am stärksten betroffen.
  • R-02 Rürup-Höchstbetrag § 10 Absatz 3 Einkommensteuergesetz auf den amtlichen Wert 2026 umgestellt. Der bisherige Modellwert „29.500 Euro (Ledige) / 59.000 Euro (Verheiratete) – Schätzung" wurde durch den gesetzlich abgeleiteten Wert 30.826 Euro (Ledige) bzw. 61.652 Euro (Zusammenveranlagung) ersetzt. Grundlage ist die Beitragsbemessungsgrenze der knappschaftlichen Rentenversicherung West, die durch die Sozialversicherungs-Rechengrößenverordnung 2026 (Bundesgesetzblatt 2025 I, verkündet am 26.11.2025) auf 10.400 Euro/Monat (124.800 Euro/Jahr) festgesetzt wurde. § 10 Absatz 3 Satz 1 Einkommensteuergesetz multipliziert diesen Wert mit dem Beitragssatz der knappschaftlichen Rentenversicherung (24,7 Prozent) und rundet das Ergebnis auf den vollen Euro auf: 124.800 Euro × 0,247 = 30.825,60 Euro, aufgerundet 30.826 Euro. Zugleich wurde der bislang an sechs Stellen hartkodierte Betrag in eine zentrale Konstante RUERUP_HOECHSTBETRAG_2026 überführt, damit künftige jährliche Anpassungen an einer einzigen Stelle gepflegt werden können. Selbsttest A7 (Rürup-Höchstbetrag) und Selbsttest D3 (Rürup-Steuerersparnis nach § 32a Einkommensteuergesetz) wurden entsprechend nachgezogen.
  • R-03 Voreinstellung „Basiszins für die Vorabpauschale" auf den amtlichen Wert für das Steuerjahr 2026 angehoben. Die bisherige Voreinstellung von 2,0 Prozent entsprach in etwa dem Niveau der Jahre 2023 und 2024. Das Bundesministerium der Finanzen hat den Basiszins zum 2. Januar 2026 mit Schreiben vom 13.01.2026 (IV C 1 – S 1980/00230/012/001) auf 3,20 Prozent festgesetzt. Maßgebliche Norm ist § 18 Absatz 4 Investmentsteuergesetz. Die Vorabpauschale für 2026 gilt nach § 18 Absatz 3 Investmentsteuergesetz beim Anleger als am ersten Werktag des Folgejahres – also am 04.01.2027 – zugeflossen. Das Eingabefeld kann weiterhin manuell angepasst werden, wenn ein abweichender Wert modelliert werden soll.

Nachtrag methodische Korrekturen (v2026.2.1):

  • R-04 Eingabe-Synchronisation bei leeren Feldern. Die Funktion _clampFieldOnChange hatte bei einer leeren Eingabe (Parse-Ergebnis NaN) den Frühaustieg ohne UI-Korrektur gewählt. Die Berechnung lief intern mit dem letzten gültigen Wert aus LAST_VALID weiter, das Eingabefeld blieb jedoch leer — der Nutzer sah keinen Wert, das Werkzeug rechnete mit einem ihm nicht sichtbaren Vorgängerwert. Die Korrektur stellt das leere Feld auf den tatsächlich verwendeten LAST_VALID-Wert zurück, sodass Anzeige und Berechnung wieder zwingend übereinstimmen.
  • R-05 Skalierungsdeckel im Modus „Gleicher Nettoaufwand" für das Altersvorsorgedepot. _skalierterInputs deckelte den hochskalierten Bruttobeitrag bisher auf den geförderten Topf (1.800 Euro/Jahr = 150 Euro/Monat). Damit wurde der nach dem Altersvorsorgereformgesetz mit zusätzlich bis zu 5.040 Euro/Jahr zulässige ungeförderte Topf am Vergleichseingang abgeschnitten, obwohl endwertSparplanGedeckelt die Topf-Trennung im Berechnungskern korrekt vornimmt (Beiträge über 1.800 Euro fließen automatisch in den ungeförderten Topf und werden in der Auszahlphase nur mit dem Ertragsanteil nach § 22 Nummer 5 Einkommensteuergesetz besteuert). Der Deckel wurde auf den gesetzlichen Gesamtdeckel 6.840 Euro/Jahr (570 Euro/Monat) angehoben. Bei Riester bleibt der Deckel bei 2.100 Euro/Jahr, weil calcRiester keine Topf-Trennung modelliert und eine Anhebung den Bruttomehrbetrag fälschlich als geförderten Beitrag interpretieren würde; bei Rürup bleibt es beim amtlichen Höchstbetrag. Der Plausibilitätshinweis im UI wurde entsprechend angepasst.
  • R-06 Steueranzeige in der Tabelle „Zahlungsströme" bei Einmalauszahlung aus dem Altersvorsorgedepot. In calcAV wird die KV-/PV-Beitragslast aus der Einmalauszahlung gemäß § 229 Absatz 1 Satz 3 Sozialgesetzbuch Fünftes Buch (Verteilung auf 120 Monate) als Barwert dieser über zehn Jahre verteilten Last angesetzt; der Faktor ergibt sich aus _verteilungsBarwertfaktor(10, diskont) und liegt bei einem Diskont von 2 Prozent bei rund 0,898. Der Nettobetrag einmal_netto enthält damit den abgezinsten KV-Anteil. Im Cashflow-Tab wurde der KV-/PV-Beitrag jedoch nominal in voller Höhe ausgewiesen; die als Residual gebildete Steuer (brutto − netto − kvpv) fiel dadurch systematisch zu niedrig aus — bei einer 30-Prozent-Teilkapitalauszahlung von 30.000 Euro und Krankenversicherung der Rentner um etwa 265 Euro, bei freiwillig gesetzlich Versicherten um etwa 640 Euro. Die Korrektur wendet denselben Barwertfaktor auch in der Tabellenanzeige an, sodass die Zerlegung brutto = steuer + kvpv + netto konsistent bleibt. Wirkt sich ausschließlich auf das Altersvorsorgedepot aus (Rürup ohne Einmalbetrag, Riester KV-frei).