summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-08-22 21:03:13 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-08-22 21:07:38 +0200
commit954d5989bb04f32aeb2627b70647d773011e4092 (patch)
treee28cc58456608f720099495efd88f65a107809b6 /README.md
parent4b635085e9f10ccdded0e90e850be9274724683e (diff)
Neufassung der Dokumentation, Entfernung der ursprünglichen Tabellenfassung
Das Wurzel-README beschrieb bislang vorrangig die Excel-Arbeitsmappe nebst ihrem Formelgenerator; die Web-App erschien lediglich in einer Tabellenzeile. Das Verhältnis hat sich umgekehrt, das README nunmehr auch. - README.md vollständig neu als Einstiegspunkt für Unkundige, in Paragraphen gegliedert und durchgängig in amtlicher Diktion. Die excelspezifischen Kapitel (Blattstruktur, feste Adressen, Neubau, LibreOffice-Fallstricke) entfallen ersatzlos. - app/README.md in dieselbe Diktion überführt; Gliederung und sämtliche Zahlen unverändert. Berichtigt: Überschrift „Neunzehn Sprachen" bei dreiundzwanzig Wörterbüchern, sowie die unvollständige Aufzählung der Vollsprachen (ine-x-proto, jbo, tok, akk-x-ob ergänzt). - Die Arbeitsmappe, der Formelgenerator und die leere recalc.log werden entfernt; sie sind über die Versionsgeschichte zugänglich. - Der Anbietername entfällt samt dem Dateinamen, den er trug: Fußzeile footer.2 in index.html und in sämtlichen dreiundzwanzig Sprachfassungen, jeweils mit dem der Sprache angemessenen Bindewort statt einer mechanischen Streichung. Die Keilschriftfassung ist über akk-keilschrift.js neu erzeugt worden, nicht von Hand geändert. In pruefe.js aus der Ausnahmeliste gestrichen. Der Schlüsselbestand bleibt bei 459; es werden ausschließlich Werte gekürzt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md455
1 files changed, 216 insertions, 239 deletions
diff --git a/README.md b/README.md
index 909befc..c4aa87d 100644
--- a/README.md
+++ b/README.md
@@ -1,309 +1,286 @@
-# bAV (DYNO) vs. Altersvorsorgedepot vs. privates ETF-Depot
+# Altersvorsorgerechner
-Vergleichsmodell für drei Wege der Altersvorsorge mit **demselben ETF**, Rechtsstand 2026.
-Vollständig formelbasierte Excel-Arbeitsmappe (6.359 Formeln), erzeugt aus einem Python-Skript.
+**Vergleichsrechner für drei Gestaltungsvarianten der Altersvorsorge bei gleichem Nettoaufwand.
+Rechtsstand 2026.**
-| Datei | Rolle |
-|---|---|
-| `bAV-DYNO_vs_Altersvorsorgedepot_vs_ETF.xlsx` | Das Modell. Nur die gelben Zellen im Blatt `Eingaben` ändern. |
-| `build_bav.py` | Generator. Erzeugt die Mappe vollständig neu. **Einzige Quelle der Wahrheit** — Änderungen gehören hierhin, nicht in die xlsx. |
-| `app/` | **Web-App zum Weitergeben.** Derselbe Rechenkern in JavaScript, mobilfreundlich, offlinefähig, mit Sensitivitätskurven. Siehe `app/README.md`. |
-| `tests/` (in den Sitzungsausgaben) | Regressionslauf gegen einen frischen LibreOffice-Recalc dieser Mappe. |
-| `README.md` | Diese Datei. |
-
-> **Zwei Quellen der Wahrheit.** Der Rechenkern liegt zweimal vor: als Formelgenerator in
-> `build_bav.py` und als JavaScript in Teil 1 von `app/index.html`. Sie stimmen auf 1,3·10⁻¹⁴
-> relativ überein — **sechs** Testfälle, jeweils rund 20 Aggregate, gegen einen frischen
-> LibreOffice-Recalc dieser Mappe. Bei jeder Rechtsänderung **beide** anfassen und danach den
-> Abgleich wiederholen; er ist der einzige Schutz davor, dass sie auseinanderlaufen.
+Bei dem vorliegenden Bestand handelt es sich um eine Webanwendung. Sie stellt gegenüber, was
+aus ein und demselben monatlichen Verzicht auf verfügbares Einkommen wird, je nachdem, ob
+dieser Betrag in eine betriebliche Altersversorgung, in ein Altersvorsorgedepot oder in ein
+privates ETF-Depot geleitet wird. Ein Server wird nicht betrieben; eine Übermittlung der
+eingegebenen Daten findet nicht statt.
---
-## 1. Das Vergleichsprinzip
-
-Ein Vergleich von Bruttobeiträgen wäre unfair: Entgeltumwandlung kommt aus dem Brutto,
-privates Sparen aus dem Netto. Deshalb wird der **Nettoaufwand** gleichgesetzt:
-
-```
-Nettoaufwand = Bruttobeitrag − Lohnsteuerersparnis − ersparter AN-Anteil zur Sozialversicherung
-```
-
-Genau dieser Betrag wird in allen drei Optionen investiert. Was übrig bleibt, ist ein
-Vergleich der Förderarchitekturen, nicht der Einzahlungshöhen.
+## § 1 Gegenstand und Zweck
-Über Zelle `C22` lässt sich die Richtung umkehren: Vorgabe des Nettoaufwands, Rückrechnung
-des Bruttobeitrags. Da N(B) wegen der Knicke bei 4 % und 8 % der BBG-RV, an den
-Beitragsbemessungsgrenzen und an den Tarifeckwerten nicht geschlossen invertierbar,
-aber stetig und streng monoton wachsend ist, geschieht das per Bisektion (34 Schritte,
-Blatt `Umrechnung`).
+(1) Verglichen werden drei Gestaltungsvarianten, und zwar durchgängig unter Zugrundelegung
+**desselben** Wertpapiers:
-### Die vier Werttreiber
-
-Steueraufschub ist für sich genommen wertlos: (1−t)·(1+r)ⁿ = (1+r)ⁿ·(1−t). Multiplikation
-kommutiert. Es bleiben nur:
+| | Gestaltungsvariante | Wesentliches Merkmal |
+|---|---|---|
+| 1. | **Betriebliche Altersversorgung** durch Entgeltumwandlung (§ 1a BetrAVG) | Beitrag aus dem Bruttoentgelt; Arbeitgeberzuschuss; im Ruhestand Beiträge zur Kranken- und Pflegeversicherung auf den Versorgungsbezug (§§ 229, 250 SGB V) |
+| 2. | **Altersvorsorgedepot** (Reform der geförderten privaten Altersvorsorge 2026) | Beitrag aus dem versteuerten Entgelt; Zulagen und Sonderausgabenabzug; keine Vorabpauschale; Verfügung vor Vollendung des 65. Lebensjahres förderschädlich |
+| 3. | **Privates ETF-Depot** | Beitrag aus dem versteuerten Entgelt; keinerlei Förderung; jederzeitige Verfügbarkeit; Abgeltungsteuer nebst Vorabpauschale |
-1. **Tarifarbitrage** t₀ − t₁ (Grenzsteuersatz beim Einzahlen minus beim Auszahlen)
-2. **Fremdgeld** — AG-Zuschuss bzw. Zulagen
-3. **Steuerfreie Thesaurierung** — bAV und Altersvorsorgedepot kennen keine Vorabpauschale
-4. **Neue Abgaben, die nur eine Option treffen** — KV/PV auf Versorgungsbezüge (§ 229 SGB V)
+(2) Die Auskunft richtet sich an Personen, welchen ein Angebot zur Entgeltumwandlung
+unterbreitet worden ist und welche die Vorteilhaftigkeit desselben zu beurteilen beabsichtigen.
+Vorkenntnisse werden nicht vorausgesetzt; sämtliche Eingabefelder sind mit sachgerechten
+Voreinstellungen versehen, und zu jedem Feld wird über die Schaltfläche `?` eine Erläuterung
+nebst Rechtsgrundlage bereitgehalten.
-Punkt 4 ist der dominante Nachteil der bAV; Punkt 2 ihr einziger struktureller Vorteil.
+(3) Es wird ausdrücklich darauf hingewiesen, dass es sich **nicht** um einen Produktvergleich,
+**nicht** um eine Anlageempfehlung und **nicht** um einen Haushaltsplaner handelt. Verglichen
+werden ausschließlich die Förderarchitekturen; die Anlageentscheidung ist in allen drei
+Varianten dieselbe und wird daher nicht mitverglichen (vgl. § 4).
---
-## 2. Blattstruktur
-
-| Blatt | Inhalt |
-|---|---|
-| `Anleitung` | Aufbau, Modellannahmen, Quellen |
-| `Begriffe` | 43 Fachbegriffe mit Fundstelle bzw. Kennzeichnung als Modellkonvention |
-| `Eingaben` | **Die einzigen Zellen, die man ändert.** Ergebnisblock am Fuß |
-| `Parameter` | Rechengrößen 2026 mit Fundstelle, abgeleitete Größen |
-| `Umrechnung` | Bisektion Nettoaufwand → Bruttobeitrag |
-| `Ansparphase` | 62 Spalten × 50 Jahre (Zeilen 8–57) |
-| `Auszahlung` | 58 Spalten × 34 Jahre (Zeilen 8–41) |
-| `Cashflow` | Zahlungsströme für IRR und Barwerte (Zeilen 5–69) |
-| `Vergleich` | Ergebnis, Diagnose, monatliche Leistung, Diagramm |
+## § 2 Inbetriebnahme
-### Feste Adressen im Blatt `Vergleich`
+(1) **Einfachster Weg.** Die Datei `app/index.html` ist mittels Doppelklicks zu öffnen. Ein
+Aufbau, eine Installation oder eine Verbindung zum Internet sind hierfür nicht erforderlich;
+sämtliche Berechnungen werden im Browser durchgeführt.
-Diese werden von anderen Blättern referenziert — beim Einfügen von Zeilen **mitziehen**:
+(2) **Mit Installierbarkeit und Offline-Betrieb.** Sofern zusätzlich das Symbol auf dem
+Startbildschirm sowie die Zwischenspeicherung durch den Dienstarbeiter (*service worker*)
+gewünscht wird, ist der Ordner `app/` über einen Webserver auszuliefern:
-| Zeile | Inhalt |
-|---|---|
-| 5–19 | Haupttabelle (13 = Barwert Netto-Auszahlungen, 15 = Barwert Netto-Ertrag, 17 = IRR) |
-| 22–37 | Diagnose (31–35 = Freibetragsanalyse, 36/37 = Memo-Zeilen für Rentenzahlungen nach dem Horizont) |
-| 40–48 | Monatliche Leistung (47 = äquivalente Monatsleistung real) |
-| 50–52 | Diagrammdaten |
-| 55 | Diagramm |
+```bash
+cd app && python3 -m http.server 8000 # sodann: http://localhost:8000
+```
-`Eingaben` verweist auf `Vergleich` **13, 15, 47**.
+Ein Betrieb über `http://localhost` ist zulässig; die Adresse gilt als sicherer Kontext im
+Sinne der einschlägigen Spezifikation und ist von dem Erfordernis einer
+Transportverschlüsselung ausdrücklich ausgenommen.
----
+(3) **Weitergabe an Dritte.** Hinsichtlich der drei hierfür vorgesehenen Wege — Versendung der
+Dateien, Bereitstellung auf einem Webspeicherplatz, Übermittlung eines Verweises einschließlich
+sämtlicher eingegebener Werte — wird auf [`app/README.md` § 1](app/README.md) verwiesen.
-## 3. Modellmechanik
+(4) **Verbleib der Daten.** Die eingegebenen Werte werden ausschließlich im Browser der
+nutzenden Person vorgehalten (`localStorage`, Schlüssel `altersvorsorge.v1`). Eine Übermittlung
+an einen Server, eine Erhebung von Nutzungsdaten zu Auswertungszwecken sowie ein Nachladen von
+Schriftarten oder Skripten von fremden Domänen finden nicht statt und sind auch nicht
+vorgesehen.
-### Ansparphase (jahresweise)
+---
-- Gehalt, BBG, Bezugsgröße, Durchschnittsentgelt und Rentenwert wachsen mit `C13`
-- Steuertarif: `ESt = s · λ · T(zvE / s / λ)` mit s = Splittingfaktor, λ = Tarifindex.
- Das ist exakt äquivalent zu einer proportionalen Verschiebung aller Eckwerte;
- λ = 1 zeigt volle kalte Progression
-- zvE-Näherung: Brutto − AN-Pauschbetrag − SA-Pauschbetrag − abziehbare Vorsorgeaufwendungen
- (RV voll, KV zu 96 %, PV voll). Genauigkeit ca. 1 %
-- Beiträge unterjährig: Verzinsung mit (1+r)^0,5 im Einzahlungsjahr
+## § 3 Verzeichnis der Bestandteile
-### Arbeitgeberzuschuss: zwei additive Komponenten
+| Datei bzw. Ordner | Zweckbestimmung |
+|---|---|
+| `app/index.html` | **Die vollständige Anwendung.** Rechenkern, Bedienoberfläche und Diagramme in einer einzigen Datei, gegliedert in nummerierte Teile 0 bis 14 |
+| `app/i18n.*.js` | Wörterbücher, je Sprachfassung eines. Deutsch ist Hauptsprache und Rückfallebene |
+| `app/manifest.json` | Angaben zur Installierbarkeit (Bezeichnung, Farben, Symbole) |
+| `app/service-worker.js` | Zwischenspeicherung für den Offline-Betrieb |
+| `app/pruefe.js` | Entwicklungswerkzeug zur Sprachprüfung; wird nicht ausgeliefert |
+| `app/akk-keilschrift*.js` | Erzeugung der Keilschriftfassung aus der Umschrift |
+| [`app/README.md`](app/README.md) | **Technische Dokumentation.** Aufbau, Modellmechanik im Einzelnen, Prüfung, Gestaltungsentscheidungen |
-Seit der Erweiterung zerfällt der Zuschuss in `agz = agz_var + agz_fx`:
+---
-| Komponente | Zelle | Rechtsgrund | Verhalten |
-|---|---|---|---|
-| `agz_var` — prozentual | `C26`, Modus `C30` | § 1a Abs. 1a BetrAVG bzw. Versorgungsordnung | proportional zum Beitrag, im Modus 2 auf die tatsächliche AG-Ersparnis gedeckelt |
-| `agz_fx` — Festbetrag | `C27`, `C28`, `C29` | Tarifvertrag / Betriebsvereinbarung (z. B. Deutsche Bahn) | betragsunabhängig, vom Zuschussmodus unberührt, oben drauf |
+## § 4 Das Vergleichsprinzip
-Der Festbetrag ist **arbeitgeberfinanzierte Zuwendung nach § 3 Nr. 63 EStG** und belegt
-deshalb den 8-%-Topf des § 3 Nr. 63 EStG *und* die 4-%-Beitragsfreiheit des
-§ 1 Abs. 1 S. 1 Nr. 9 SvEV **vorrangig** (Vertrauen ~80 %):
+(1) Ein Vergleich anhand der Bruttobeiträge wäre unsachgemäß: die Entgeltumwandlung wird aus
+dem Bruttoentgelt geleistet, das private Sparen hingegen aus dem versteuerten Entgelt.
+Gleichgesetzt wird daher der **Nettoaufwand**, mithin der Betrag, um welchen sich das
+verfügbare Einkommen tatsächlich mindert:
```
-agz_fx = aktiv · [beitrag_mtl ≥ agz_fix_min] · 12 · agz_fix · (dyn ? Lohnindex : 1)
-bav_svf = min(bav_br, max(0, 4 % · BBG_RV − agz_fx)) ← Verdrängung
-agz_var = f(bav_svf, sverp_ag, Modus)
-bav_stf = min(bav_br, max(0, 8 % · BBG_RV − agz_fx − agz_var))
+Nettoaufwand = Bruttobeitrag − Lohnsteuerersparnis − ersparter Arbeitnehmeranteil zur Sozialversicherung
```
-Die Reihenfolge ist zyklenfrei: `agz_fx` hängt nur am Beitrag, nicht an `sverp_ag`.
-Ökonomisch ist der Festbetrag ein **Sockel, kein Hebel** — er hebt den Durchschnittsertrag
-stark, die Grenzrendite des nächsten Beitragseuros senkt er sogar leicht
-(∂²Ertrag/∂agz_fix ∂beitrag ≤ 0), weil er dem Eigenbeitrag Freibetrag wegnimmt.
+(2) Ebendieser Betrag wird in sämtlichen drei Gestaltungsvarianten angelegt. Was verbleibt, ist
+mithin ein Vergleich der Förderarchitekturen und nicht ein Vergleich der Einzahlungshöhen.
-Die Mindestschwelle `agz_fix_min` macht N(B) **unstetig**: an der Schwelle springt der
-Nettoaufwand nach oben (Basisfall, 150 €/Monat fest ab 300 €/Monat Eigenbeitrag:
-164,54 € → 173,08 €). Monoton bleibt N, die Bisektion konvergiert also weiter, aber
-Zielwerte im Sprungintervall sind schlicht nicht erreichbar — `resid` zeigt das an.
+(3) Brutto- und Nettobetrag sind in der Anwendung wechselseitig gekoppelt; eine Vorgabe ist in
+beiden Richtungen zulässig. Da die Funktion N(B) wegen der Knickstellen bei 4 bzw. 8 vom
+Hundert der Beitragsbemessungsgrenze der Rentenversicherung, an den Beitragsbemessungsgrenzen
+sowie an den Tarifeckwerten nicht geschlossen umkehrbar, jedoch stetig und streng monoton
+wachsend ist, wird die Umkehrung durch ein Verfahren mit 34 Intervallhalbierungen bewirkt.
-**Nicht modelliert:** Übersteigt `agz_fx` allein 4 % der BBG-RV, wäre der Überhang beim
-Arbeitnehmer beitragspflichtiges Arbeitsentgelt. Diese Beitragslast wird nicht gegen-
-gerechnet; das Blatt `Kennzahlen` und die Diagnosetabelle der Web-App weisen den Überhang
-separat aus. Bei 2026er Werten greift das ab 338 €/Monat Festzuschuss.
+### Die vier Werttreiber
-### Schichtenmodell
+Der Steueraufschub ist für sich genommen ohne Wert, da (1−t)·(1+r)ⁿ = (1+r)ⁿ·(1−t) gilt; die
+Multiplikation ist kommutativ. Es verbleiben mithin ausschließlich:
-Beide geförderten Produkte werden in **zwei Schichten** geführt, weil sonst derselbe Euro
-zweimal besteuert würde:
+1. **Tarifarbitrage** t₀ − t₁ — Grenzsteuersatz im Zeitpunkt der Einzahlung abzüglich desjenigen
+ im Zeitpunkt der Auszahlung;
+2. **Fremdmittel** — Zuschuss des Arbeitgebers bzw. Zulagen;
+3. **Steuerfreie Thesaurierung** — betriebliche Altersversorgung und Altersvorsorgedepot kennen
+ die Vorabpauschale nicht;
+4. **Neu hinzutretende Abgaben, welche lediglich eine Variante betreffen** — Beiträge zur
+ Kranken- und Pflegeversicherung auf Versorgungsbezüge (§ 229 SGB V).
-| | gefördert | nicht gefördert |
-|---|---|---|
-| **bAV** | bis 8 % BBG-RV (§ 3 Nr. 63 EStG) → 100 % nachgelagert steuerpflichtig | Rest, aus versteuertem Entgelt → halber Unterschiedsbetrag (Kapital) bzw. Ertragsanteil (Rente) |
-| **AV-Depot** | Eigenbeitrag bis 1.800 € + Zulagen → 100 % nachgelagert | Beiträge darüber + reinvestierte Erstattung → halber Unterschiedsbetrag (Plan bzw. Einmalbetrag) oder Ertragsanteil (Rente) |
-
-Der Überschuss über den Jahreshöchstbetrag von 6.840 € läuft in eine eigene Schiene
-(„Sleeve"), die wie das Privatdepot besteuert wird — so bleibt der Nettoaufwand identisch.
-
-### Auszahlungsphase
-
-- **Auszahlungsform je Produkt getrennt**: `auszform` für die bAV (Kapital oder Rente),
- `av_auszform` für das Depot (Auszahlungsplan oder Rente), dazu `teilkap` für den Einmalbetrag
- von bis zu 30 % beim Depot, der in beiden Formen wirkt. Bei Verrentung geht das Restkapital an
- den Anbieter, ein Depotkonto gibt es danach nicht mehr
-- **KV/PV nur bei der bAV**: voller Satz allein vom Rentner (§ 250 SGB V), Freibetrag
- 1/20 Bezugsgröße für KV, Freigrenze für PV, Kapitalleistung auf 120 Monate verteilt,
- gemeinsame BBG mit der gesetzlichen Rente (§ 223 Abs. 3 SGB V)
-- **Verlust an Entgeltpunkten** wird der bAV netto gegengerechnet
-- Alle Kennzahlen auf **Äquivalenzbasis**: jeder Zahlungsstrom wird mit dem
- Wiederanlagezins nach Steuern auf den Rentenbeginn bezogen und dann als konstante
- Monatszahlung über denselben Zeitraum ausgedrückt. Weil Annuitisierung linear ist,
- addieren sich die Komponenten exakt (geprüft auf 10⁻¹²)
+Nummer 4 stellt den beherrschenden Nachteil der betrieblichen Altersversorgung dar; Nummer 2
+ist deren einziger struktureller Vorteil.
---
-## 4. Neu bauen
-
-```bash
-python3 build_bav.py
-python3 <skills>/xlsx/scripts/recalc.py bAV-DYNO_vs_Altersvorsorgedepot_vs_ETF.xlsx 32
-```
-
-`recalc.py` schreibt die von openpyxl erzeugten Formeln mit LibreOffice durch und legt die
-Werte im Cache ab — vorher liest jedes Werkzeug `None`.
-
-### Vier Fallstricke, die Zeit gekostet haben
-
-1. **`IRR()` ohne Startwert lässt LibreOffice hängen.** Immer `IRR(bereich; 0,05)` schreiben.
-2. **Recalc auf dem gemounteten Ordner hängt.** Nach `/tmp` kopieren, dort rechnen,
- zurückkopieren.
-3. **Notiztexte dürfen nicht mit `=` beginnen** — openpyxl schreibt sie sonst als Formel.
-4. **Hilfszellen kollidieren mit Datenspalten.** Die Auszahlung reicht inzwischen bis Spalte
- **BF** (58 Spalten), die Hilfszellen liegen bei CE/CG **unterhalb** von Zeile 8. Das
- funktioniert, ist aber fragil: beim Hinzufügen von Spalten jedes Mal nachrechnen. Die
- Erweiterung um die Depotverrentung hat drei Spalten gekostet.
+## § 5 Leistungsumfang
+
+- **Sensitivitätskurve** über denjenigen Regler, welcher zuletzt betätigt worden ist: 41
+ vollständige Modellläufe nebst Kennzeichnung der Schnittpunkte gegenüber dem privaten Depot.
+ Gewinnschwellen sind hierdurch ablesbar und müssen nicht errechnet werden.
+- **Wasserfalldarstellung der Werttreiber**, teleskopierend zerlegt und mithin exakt aufgehend.
+ Auf die Reihenfolgeabhängigkeit wird in der Anwendung ausdrücklich hingewiesen.
+- **Kapital- und Liquiditätsverlauf** über die gesamte Zeitachse, einschließlich der
+ Kennzeichnung des gebundenen gegenüber dem frei verfügbaren Kapital.
+- **Warnhinweis bei uneinheitlicher Rangfolge.** Barwert und äquivalente Monatsleistung ranken
+ unterschiedlich, sobald der Wiederanlagezins nach Steuern die Inflationsrate deutlich
+ übersteigt; hierauf wird hingewiesen.
+- **Sämtliche 45 Rechengrößen sind änderbar**, jeweils unter Angabe der Fundstelle. Wer eine
+ Modellannahme nicht teilt, hat sie zu ändern; ein Eingriff in den Quelltext ist hierfür nicht
+ erforderlich.
+- **Klartextfazit** in einem Satz nebst Belastbarkeitstest über ±1 Prozentpunkt Bruttorendite.
+ Die Formulierung ist beschreibend und nicht empfehlend gehalten.
+- **Weitergabe des Berechnungsstandes** als Verweis; die Werte werden im Fragmentbezeichner
+ geführt und mithin nicht an einen Server übermittelt (RFC 3986 § 3.5).
+- **23 Sprachfassungen**, darunter zwei Registervarianten des Deutschen (`de-x-amt` und
+ `de-x-sales`), welche denselben § 1a BetrAVG einmal als Verwaltungsschreiben und einmal als
+ Werbetext wiedergeben. Die Normzitate verbleiben in sämtlichen Sprachfassungen in deutscher
+ Sprache. Einzelheiten: [`app/README.md` § 3b](app/README.md).
+
+Hinsichtlich der Modellmechanik im Einzelnen — Schichtenmodell, Architektur des
+Arbeitgeberzuschusses, Auszahlungsphase, die beiden Zinssätze — wird auf
+[`app/README.md`](app/README.md) verwiesen; eine Wiedergabe an dieser Stelle unterbliebe nicht
+ohne die Gefahr des Auseinanderlaufens beider Darstellungen.
---
-## 5. Verifikation
-
-Vier Ebenen, alle bestanden:
+## § 6 Belastbarkeit der Rechtsannahmen
-1. **Recalc**: 0 Formelfehler
-2. **Strukturaudit**: alle blattinternen Hartbezüge gegen Ziel-Labels geprüft, keine toten
- Eingaben, alle Aggregatbereiche auf der korrekten Spannweite
-3. **Unabhängige Zweitimplementierung in Python**, aus der Spezifikation geschrieben, nicht
- aus den Excel-Formeln abgeleitet — 14 Aggregate, Abweichung **0,000000 %**
-4. **Zweiter Testfall**, der die im Basisfall unberührten Zweige aktiviert (Splitting,
- Kirchensteuer, Soli mit Milderungszone, Gehalt über BBG-RV, nicht geförderte Schicht,
- Sleeve) — Abweichung **0,00000000 %**
+Sämtliche nachstehend aufgeführten Annahmen sind in der Anwendung unter „Rechenweg →
+Belastbarkeit der Annahmen" einsehbar und änderbar.
-### Fehlerklassen, die der Recalc *nicht* findet
+| Annahme | Vertrauensgrad | Anmerkung |
+|---|---|---|
+| Rechengrößen der Sozialversicherung 2026, Tarif gemäß § 32a EStG 2026 | ~97 % | SVBezGrV 2026, Steuerfortentwicklungsgesetz |
+| Beitragspflicht in der Kranken- und Pflegeversicherung auf Versorgungsbezüge | ~95 % | §§ 229, 250 SGB V |
+| Freibetrag gemäß § 226 Abs. 2 S. 2 SGB V (KV), Freigrenze in der PV | ~95 % / ~85 % | Der die Pflegeversicherung betreffende Punkt stellt die häufigste Fehlerquelle in Ratgebertexten dar |
+| Beitragsfreiheit der Auszahlung aus dem Altersvorsorgedepot | ~85 % | Es handelt sich nicht um Versorgungsbezüge |
+| Halber Unterschiedsbetrag für nicht geförderte Schichten | ~80 % | § 22 Nr. 5 S. 2 Buchst. b i. V. m. § 20 Abs. 1 Nr. 6 S. 2 EStG |
+| Zuschuss lediglich bis zur Höhe der tatsächlichen Ersparnis des Arbeitgebers | ~75 % | Nach der Gegenauffassung sind die 15 vom Hundert als reine Pauschale zu verstehen |
+| Fester Arbeitgeberzuschuss belegt den 4-%- und den 8-%-Höchstbetrag vorrangig | ~80 % | Arbeitgeberfinanzierte Zuwendung im Sinne des § 3 Nr. 63 EStG; die eigene Entgeltumwandlung wird insoweit verdrängt |
+| **Sonderausgaben-Höchstbetrag 2.340 €** | **~70 %** | **Modellannahme.** Hiervon hängt ab, ob ein Kind den Wert des Altersvorsorgedepots hebt oder senkt |
+| Günstigerprüfung als Höchstwert, nicht als Summe | ~90 % | § 10a Abs. 2 EStG |
+| Unterstellt wird eine Pflichtversicherung in der KVdR im Ruhestand | ~70 % | Freiwillig Versicherte sind nicht geprüft worden |
+
+**Nicht abgebildet:** Abschläge bei vorzeitigem Rentenbezug; Auswirkungen der Entgeltumwandlung
+auf Kranken-, Arbeitslosen- und Elterngeld; Hinterbliebenenversorgung; Insolvenzsicherung
+(PSVaG); Portabilität bei einem Wechsel des Arbeitgebers; Kinderabschläge in der
+Pflegeversicherung; Günstigerprüfung gemäß § 32d Abs. 6 EStG; Pfändungs- und
+Grundsicherungsschutz. Ferner wird die Teilkapitalisierung der betrieblichen Altersversorgung
+nicht abgebildet; insoweit kennt das Modell ausschließlich die vollständige oder die
+unterbliebene Kapitalisierung.
-Beide in diesem Projekt tatsächlich aufgetreten:
+---
-- **Falsche Zeilenkonstanten** in handgeschriebenen Bezügen (`B26/B27` statt `B31/B32`).
- Fiel nur auf, weil die Größenordnung nicht stimmte — die Zahlenwerte lagen zufällig 1 %
- auseinander.
-- **Spaltenkollision**: eine neue Datenspalte landete auf einer Hilfszelle; deren Text
- wurde von SUMPRODUCT als 0 gewertet, wodurch ausgerechnet das erste Auszahlungsjahr
- entfiel. Fiel nur am Vorzeichen auf.
+## § 7 Ergebnisse des Regelfalls
-**Konsequenz für Weiterarbeit:** Nach jeder Änderung nicht nur den Recalc laufen lassen,
-sondern eine Größenordnung prüfen. Die Zweitimplementierung aus Abschnitt 5.3 ist das
-schärfste Werkzeug dafür.
+Zugrunde gelegt werden 40 Jahre Ansparphase, 75.000 € Jahresbruttoentgelt, 300 € Monatsbeitrag,
+gesetzliche Krankenversicherung, spitz berechneter Zuschuss von 15 vom Hundert sowie eine
+Bruttorendite von 7 vom Hundert:
----
-
-## 6. Rechtliche Annahmen und ihre Belastbarkeit
+| in heutiger Kaufkraft | bAV | AV-Depot | privat |
+|---|---|---|---|
+| Barwert des Nettoertrags | 27.737 € | 88.414 € | 73.740 € |
+| Äquivalente Monatsleistung | 587,67 € | 768,45 € | 689,48 € |
+| Interner Zinsfuß | 5,37 % | 6,61 % | 6,14 % |
-Alle im Blatt `Parameter` änderbar.
+Die betriebliche Altersversorgung obsiegt ausschließlich über zwei Hebel, welche beide
+außerhalb der Steuerarchitektur liegen:
+
+- **Private Krankenversicherung im Ruhestand** — bereits diese Einstellung allein bewirkt eine
+ Umkehr des Ergebnisses;
+- **Zuschuss ab etwa 30 vom Hundert** — die Gewinnschwelle folgt näherungsweise aus
+ (1+z)·(1−0,211) ≈ 1, mithin z ≈ 26,7 vom Hundert.
+
+> **Klarstellung.** Die vorstehenden Aussagen gelten für die *äquivalente Monatsleistung*, nicht
+> hingegen für den *Barwert des Nettoertrags*. Bei privater Krankenversicherung steigt die
+> betriebliche Altersversorgung auf 725,49 €/Monat gegenüber 689,48 € beim privaten Depot und
+> obsiegt mithin; im Barwert verbleibt sie mit 49.653 € gegenüber 73.740 € deutlich zurück. Die
+> Kennzahlen ranken deshalb unterschiedlich, weil der Barwert mit der Inflationsrate
+> (2,00 vom Hundert) abgezinst, die Monatsleistung hingegen mit dem Wiederanlagezins nach
+> Steuern (5,54 vom Hundert) verrentet wird; eine frühe Kapitalauszahlung wird hierdurch
+> systematisch günstiger bewertet. Welche Kennzahl maßgeblich ist, hängt davon ab, ob das
+> Kapital angelegt oder verbraucht wird.
+>
+> Die Gewinnschwelle von 26,7 vom Hundert ist überdies im spitz berechneten Zuschussmodus
+> **nicht erreichbar**: dort begrenzt § 1a Abs. 1a BetrAVG den Zuschuss auf die tatsächliche
+> Ersparnis des Arbeitgebers an Sozialversicherungsbeiträgen, im Regelfall rund 21 vom Hundert
+> des umgewandelten Betrags. Eine weitere Erhöhung des Reglers bleibt sodann wirkungslos.
-| Annahme | Vertrauen | Anmerkung |
-|---|---|---|
-| Rechengrößen SV 2026, § 32a-Tarif 2026 | ~97 % | SVBezGrV 2026, Steuerfortentwicklungsgesetz |
-| KV/PV-Pflicht auf Versorgungsbezüge | ~95 % | §§ 229, 250 SGB V |
-| Freibetrag § 226 Abs. 2 S. 2 SGB V (KV), Freigrenze in der PV | ~95 % / ~85 % | Der PV-Punkt ist die häufigste Fehlerquelle in Ratgebertexten |
-| Beitragsfreiheit der Altersvorsorgedepot-Auszahlung | ~85 % | Keine Versorgungsbezüge |
-| Halber Unterschiedsbetrag für nicht geförderte Schichten | ~80 % | § 22 Nr. 5 S. 2 Buchst. b i.V.m. § 20 Abs. 1 Nr. 6 S. 2 EStG |
-| Zuschuss nur bis zur tatsächlichen AG-Ersparnis (Modus 2) | ~75 % | Gegenauffassung liest 15 % als reine Pauschale = Modus 1 |
-| Fester AG-Zuschuss belegt 4-%- und 8-%-Topf vorrangig | ~80 % | Arbeitgeberfinanzierte Zuwendung nach § 3 Nr. 63 EStG; verdrängt eigene Umwandlung |
-| **Sonderausgaben-Höchstbetrag 2.340 €** | **~70 %** | **Modellannahme.** Bestimmt, ob ein Kind den Wert des AV-Depots hebt oder senkt |
-| Günstigerprüfung als Maximum, nicht Summe | ~90 % | § 10a Abs. 2 EStG |
-| Modell unterstellt KVdR-Pflichtversicherung im Ruhestand | ~70 % | Freiwillig Versicherte nicht geprüft |
-
-**Nicht modelliert:** Abschläge bei vorzeitigem Rentenbezug, Wirkung der Entgeltumwandlung
-auf Kranken-, Arbeitslosen- und Elterngeld, Hinterbliebenenversorgung, Insolvenzsicherung
-(PSVaG), Portabilität bei Arbeitgeberwechsel, Kinderabschläge in der PV, Günstigerprüfung
-nach § 32d Abs. 6 EStG, Pfändungs- und Grundsicherungsschutz.
+Die Rendite der betrieblichen Altersversorgung **fällt streng monoton** mit der Beitragshöhe,
+da der Freibetrag ein absoluter ist und seine Schutzwirkung mit 1/K abnimmt. Ein inneres Optimum
+besteht mithin nicht. Der einzige beitragsfreie Bereich (Kapital ≤ 120 × Freibetrag ≈ 46.000 €,
+entsprechend rund 42 €/Monat) ist zu gering bemessen, um als Vorsorgestrategie in Betracht zu
+kommen; er hängt überdies vollständig an einer politisch gesetzten Zahl.
---
-## 7. Wichtigste Befunde des Basisfalls
+## § 8 Prüfung
-40 Jahre, 75.000 € Brutto, 300 €/Monat, GKV, Zuschuss 15 % spitz, 7 % Bruttorendite:
+(1) Der Rechenkern ist gegen ein unabhängig geführtes Zweitmodell auf Maschinengenauigkeit
+abgeglichen worden: sechs unabhängige Testfälle zu je rund 20 Aggregaten, größte festgestellte
+relative Abweichung 1,3·10⁻¹⁴, nebst vier weiteren Fällen zum festen Arbeitgeberzuschuss, welche
+exakt übereinstimmen. Es handelt sich hierbei um wenige Dutzend Einheiten der letzten Stelle,
+mithin um akkumulierten Gleitkommafehler und nicht um eine systematische Abweichung.
-| in heutiger Kaufkraft | bAV | AV-Depot | privat |
-|---|---|---|---|
-| Barwert Netto-Ertrag | 27.737 € | 88.414 € | 73.740 € |
-| Äquivalente Monatsleistung | 587,67 € | 768,45 € | 689,48 € |
-| Interner Zinsfuß | 5,37 % | 6,61 % | 6,14 % |
+(2) Ferner bestehen ein Stilblatt-Test, ein Test der Bedienoberfläche mit 57 Zusicherungen sowie
+ein zweistufiger Test der Diagramme mit insgesamt 520 Kombinationen. Die Sprachprüfung
+`app/pruefe.js` schaltet sämtliche 23 Sprachfassungen durch und weist unter anderem nach, dass
+die Rechenergebnisse in allen Sprachfassungen identisch sind; sie umfasst 154 Prüfungen und
+setzt `jsdom` voraus.
-Die bAV gewinnt nur über zwei Hebel, beide außerhalb der Steuerarchitektur:
+(3) Einzelheiten nebst der Fehlerklassen, welche die vorgenannten Prüfungen nachweislich
+*nicht* auffinden, sind [`app/README.md` § 4](app/README.md) zu entnehmen.
-- **PKV im Ruhestand** (`C39` = 2) — allein das dreht das Ergebnis
-- **Zuschuss ≳ 30 %** — Break-even folgt näherungsweise aus (1+z)·(1−0,211) ≈ 1 ⟹ z ≈ 26,7 %
+---
-> **Präzisierung, beim Portieren aufgefallen.** Beide Aussagen gelten für die *äquivalente
-> Monatsleistung*, nicht für den *Barwert des Netto-Ertrags*. Mit PKV steigt die bAV auf
-> 725,49 €/Monat gegen 689,48 € beim Privatdepot — gewinnt also. Im Barwert bleibt sie mit
-> 49.653 € gegen 73.740 € klar hinten. Die Kennzahlen ranken unterschiedlich, weil der Barwert
-> mit der Inflation (2,00 %) abzinst, die Monatsleistung aber mit dem Wiederanlagezins nach
-> Steuern (5,54 %) verrentet: eine frühe Kapitalauszahlung wird dadurch systematisch besser
-> bewertet. Welche Zahl gilt, hängt daran, ob das Kapital angelegt oder verkonsumiert wird.
->
-> Der Break-even von 26,7 % ist außerdem **im Zuschussmodus 2 („spitz“) unerreichbar**: dort
-> deckelt § 1a Abs. 1a BetrAVG den Zuschuss auf die tatsächliche SV-Ersparnis des Arbeitgebers,
-> im Basisfall rund 21 % des umgewandelten Betrags. Ab da ändert der Zuschussregler nichts mehr.
-> In Modus 0 liegt der Break-even (Monatsleistung) bei knapp über 30 %.
+## § 9 Herkunft
-Die Rendite der bAV **fällt streng monoton** in der Beitragshöhe, weil der Freibetrag
-absolut ist und seine Schutzwirkung wie 1/K abnimmt. Es gibt kein inneres Optimum.
-Der einzige beitragsfreie Bereich (Kapital ≤ 120 × Freibetrag ≈ 46.000 €, entspricht
-~42 €/Monat) ist zu klein, um als Vorsorgestrategie zu taugen — und hängt vollständig
-an einer politisch gesetzten Zahl.
+Die vorliegende Anwendung ist aus einer vollständig formelbasierten Excel-Arbeitsmappe (6.359
+Formeln) hervorgegangen, welche ihrerseits durch ein Python-Skript erzeugt worden ist. Beide
+Bestandteile sind zwischenzeitlich entfallen, da die Webanwendung an ihre Stelle getreten ist;
+sie sind ausschließlich über die Versionsgeschichte zugänglich. Der Rechenkern in Teil 1 von
+`app/index.html` ist zeichengenau aus dem ursprünglichen Formelgenerator übertragen worden und
+stellt nunmehr **die einzige Stelle dar, an der gerechnet wird.**
---
-## 8. Offene Punkte
-
-- [ ] Anwendungsschreiben zur pAV-Reform abwarten → Sonderausgaben-Höchstbetrag und
- Besteuerung der nicht geförderten Schicht bestätigen
-- [ ] Tatsächliche DYNO-Vertragsdaten einsetzen: Durchführungsweg, Effektivkosten aus dem
- Produktinformationsblatt, zugesagter Zuschuss laut Versorgungsordnung
-- [ ] Klären, ob der Zuschuss auch oberhalb der Beitragsbemessungsgrenzen gezahlt wird
- (entscheidet 116 Basispunkte)
-- [ ] Prüfen, ob bereits andere Versorgungsbezüge bestehen — der Freibetrag gilt pro
- Person, nicht pro Vertrag
-- [x] ~~Verrentung des Altersvorsorgedepots~~ — eingebaut: eigene Eingabe `av_auszform`,
- unabhängig von der bAV-Auszahlungsform, mit eigenem Rentenfaktor und eigener Dynamik.
- Nicht geförderte Schicht dann mit dem Ertragsanteil statt dem halben Unterschiedsbetrag,
- zweite Memo-Zeile für Zahlungen nach dem Vergleichshorizont.
-- [ ] Teilkapitalisierung der **bAV** (0–30 % einmalig, Rest verrentet). Beim Depot ist das seit
- der Erweiterung möglich, bei der bAV noch nicht — das Modell kennt dort nur ganz oder gar
- nicht. Die einzige verbliebene Asymmetrie zwischen den beiden geförderten Produkten.
-- [ ] Optional: jahresweise Inversion des Nettoaufwands statt nur im ersten Jahr
-- [ ] Optional: Sensitivitätstabelle über Rendite × Option (Excel-Datentabellen werden von
- openpyxl nicht geschrieben; Alternative wäre eine vorgerechnete Matrix)
+## § 10 Offene Punkte
+
+- [ ] Das Anwendungsschreiben zur Reform der geförderten privaten Altersvorsorge ist abzuwarten;
+ sodann sind der Sonderausgaben-Höchstbetrag sowie die Besteuerung der nicht geförderten
+ Schicht zu bestätigen.
+- [ ] Es ist zu klären, ob der Zuschuss auch oberhalb der Beitragsbemessungsgrenzen geleistet
+ wird; hiervon hängen 116 Basispunkte ab.
+- [ ] Es ist zu prüfen, ob bereits weitere Versorgungsbezüge bestehen; der Freibetrag gilt je
+ Person und nicht je Vertrag.
+- [ ] Die Teilkapitalisierung der **betrieblichen Altersversorgung** (0 bis 30 vom Hundert
+ einmalig, im Übrigen verrentet) ist noch abzubilden. Beim Altersvorsorgedepot ist dies
+ bereits möglich; es handelt sich um die einzig verbliebene Asymmetrie zwischen den beiden
+ geförderten Produkten.
+- [ ] Fakultativ: jahresweise Umkehrung des Nettoaufwands anstelle der Umkehrung allein im
+ ersten Jahr.
+- [x] ~~Verrentung des Altersvorsorgedepots~~ — eingerichtet: eigene Eingabe `av_auszform`,
+ unabhängig von der Auszahlungsform der betrieblichen Altersversorgung, mit eigenem
+ Rentenfaktor und eigener Dynamik.
---
-## 9. Quellen
+## § 11 Quellen
- [SVBezGrV 2026](https://www.gesetze-im-internet.de/svbezgrv_2026/BJNR1160A0025.html)
- [§ 32a EStG](https://www.gesetze-im-internet.de/estg/__32a.html)
-- [BMF, FAQ Reform der geförderten privaten Altersvorsorge (05.05.2026)](https://www.bundesfinanzministerium.de/Content/DE/FAQ/reform-der-privaten-altersvorsorge.html)
+- [BMF, FAQ zur Reform der geförderten privaten Altersvorsorge (05.05.2026)](https://www.bundesfinanzministerium.de/Content/DE/FAQ/reform-der-privaten-altersvorsorge.html)
- [Bundesregierung, Private Altersvorsorge wird attraktiver (01.06.2026)](https://www.bundesregierung.de/breg-de/aktuelles/reform-private-altersvorsorge-2400072)
-- [BMF-Schreiben 13.01.2026, Basiszins Vorabpauschale § 18 Abs. 4 InvStG](https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Investmentsteuer/2026-01-13-basiszins-berechnung-vorabpauschale.html)
+- [BMF-Schreiben vom 13.01.2026, Basiszins zur Vorabpauschale gemäß § 18 Abs. 4 InvStG](https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Investmentsteuer/2026-01-13-basiszins-berechnung-vorabpauschale.html)
- [GKV-Spitzenverband, Rechengrößen 2026](https://www.gkv-spitzenverband.de/media/dokumente/presse/zahlen_und_grafiken/20260101_Faktenblatt_Rechengroessen_Beitragsrecht.pdf)
-- [DYNO](https://heydyno.de)
---
-*Keine Steuer- oder Anlageberatung. Das Modell ersetzt keine Prüfung des konkreten Vertrags.*
+*Es wird abschließend darauf hingewiesen, dass mit der vorliegenden Anwendung weder eine
+Steuer- noch eine Anlageberatung erbracht wird. Ein Modell ist kein Vertrag; die Prüfung des
+jeweils konkreten Vertragswerks wird hierdurch nicht ersetzt.*