# Elterngeld-Rechner Documentation

**Last Updated:** 2026-02-24

## Primary Keyword

**Primary:** elterngeldrechner (57,200 volume). **Secondary:** elterngeld rechner, elterngeld berechnen. Use compound form in title, H1, meta; sprinkle spaced form in body copy.

## Overview

The Elterngeldrechner calculates Basis-Elterngeld and ElterngeldPlus according to BEEG (Bundeselterngeld- und Elternzeitgesetz). It supports Brutto-to-Elterngeldnetto conversion, Geschwisterbonus, and Mehrlingszuschlag.

## Content Block Styling

Match Minijob/Arbeitslosengeld reference: `bg-white`, `prose prose-lg`, `font-gilroybold` H2s, `font-inter600` H3s, colored cards (`bg-green-50`, `bg-orange-50`, `bg-blue-50`, `bg-purple-50`), `bg-gray-50` example wrapper, Minijob-style FAQ with chevron icon.

## Data Collection

Per-tool data in `docs/content/tools/elterngeld-rechner/data/`:

- `keywords-sistrix.json` – SISTRIX keyword metrics
- `paa-questions.json` – People Also Ask questions
- `competitor-analysis.json` – Top SERP URLs and content analysis
- `competitive-depth-analysis.md` – Word count targets, format recommendations

Run `php v2/scripts/tools/run-tools-improvement-pipeline.php --tool=elterngeld-rechner` for data collection and validation. See [TOOLS_CONTENT_WORKFLOW.md](TOOLS_CONTENT_WORKFLOW.md).

### SISTRIX collection (primary keyword verification)

After adding `elterngeldrechner` to `keywords-candidate.json`, run SISTRIX to verify volume (57,200 vs 19,300 for elterngeld rechner):

```bash
# Requires SISTRIX_API_KEY env or v2/config/sistrix-api-key.php
php v2/scripts/tools/collect-tool-keywords-sistrix.php --tool=elterngeld-rechner
```

This updates `keywords-sistrix.json` with both elterngeldrechner and elterngeld rechner metrics.

## File Structure

| File | Purpose |
|------|---------|
| `v2/pages/tools_elterngeld_rechner.php` | Main page |
| `v2/js/elterngeld/constants.js` | BEEG constants (2026) |
| `v2/js/elterngeld/utils.js` | bruttoToElterngeldNetto, formatCurrency |
| `v2/js/elterngeld/helpers.js` | getErsatzrate, validation, Geschwisterbonus, Mehrlingszuschlag |
| `v2/js/elterngeld/calculator.js` | Alpine.js component |
| `v2/js/elterngeld/export.js` | CSV, PDF export |

## Inputs

- **Bruttoeinkommen vor Geburt** (€/Monat)
- **Steuerklasse** (I–VI)
- **Geburtsjahr** des Kindes – affects: (1) report title, (2) Einkommensgrenze when zvE is provided (2024: 200.000 €, ab 2025: 175.000 €). The main calculation (Ersatzrate, Basis, Plus, Zuschläge) uses current-year constants and does not vary by geburtsjahr.
- **Ältere Geschwister** (0, 1, 2+)
- **Mehrlingsgeburt** (1, 2, 3)
- **Modus:** Basiselterngeld | ElterngeldPlus
- **Brutto während Bezug** (optional, nur bei ElterngeldPlus): Monatliches Bruttoeinkommen bei Teilzeit während des Bezugs (max. 32 Std/Woche). Leer lassen wenn nicht gearbeitet wird.

## Outputs

- Basis-Elterngeld (monatlich)
- ElterngeldPlus (monatlich)
- Geschwisterbonus
- Mehrlingszuschlag
- Elterngeldnetto, Ersatzrate (Breakdown)

## Calculation Logic

1. **Elterngeldnetto:** Brutto − 102,50 € (Arbeitnehmerpauschbetrag), then Steuerklasse-based rate (0.5–0.72)
2. **Ersatzrate:** 65–100 % depending on netto (Geringverdienerkomponente, stufenweise Absenkung)
3. **Basis:** netto × Ersatzrate, capped 300–1.800 €
4. **Geschwisterbonus:** +10 %, min 75 €
5. **Mehrlingszuschlag:** +300 € pro weiterem Kind
6. **ElterngeldPlus (ohne Teilzeit):** Basis/2, min 150 €, max 900 €
7. **ElterngeldPlus (mit Teilzeit):** Wenn Brutto während Bezug > 0 und < Brutto vor Geburt: Einkommenswegfall = Elterngeldnetto vorher − Elterngeldnetto während Bezug; Plus = min(Ersatzrate × Einkommenswegfall, Basis/2), capped 150–900 €

## Annual Updates

- Einkommensgrenze (zvE)
- Arbeitnehmerpauschbetrag
- Steuerabzüge (BMF)
- BEEG-Änderungen

See [elterngeld-legal-research-2026.md](testing/elterngeld-rechner/elterngeld-legal-research-2026.md).

## Export

### Email Gating

PDF and CSV exports are gated behind email collection. When the user clicks PDF or CSV:

1. If `ordio_tool_email` is in localStorage → export runs immediately.
2. Otherwise → modal opens; user enters name and email; submits to `POST /v2/api/collect-lead.php`.
3. On success → email stored in localStorage, modal closes, export runs for the requested format.

### HubSpot Integration

- **Endpoint:** `POST /v2/api/collect-lead.php`
- **Payload:** `name`, `email`, `tool_name: "Elterngeld-Rechner"`, `tool_description: "Elterngeld Berechnung"`, `tool_data` (mode, bruttoAmount, basisElterngeld, elterngeldPlus, etc.), `source: "Elterngeld"`, `signuptype: "elterngeld_export"`, UTM data, `hubspotutk`, `hubspotConsent`
- **Storage:** `ordio_tool_email`, `ordio_tool_name` (localStorage)
- **Spec:** [GATED_EXPORT_MODAL_SPEC.md](GATED_EXPORT_MODAL_SPEC.md)

### PDF Structure

- Header: blue title, gray date, blue line separator
- Sections: Eingaben, Ergebnisse, Berechnungsübersicht (each with gray underline)
- Mode emphasis: Basis-Elterngeld or ElterngeldPlus highlighted (larger font, right-aligned) depending on selected mode
- Content: Geburtsjahr, Geschwisterbonus, Mehrlingszuschlag when > 0; conditional Teilzeit block (Einkommenswegfall, Elterngeldnetto während Bezug)
- Footer: Ordio branding and URL centered at bottom

### CSV Structure

- UTF-8 BOM, semicolon delimiter, de-DE date
- Sections: EINGABEN (Modus, Bruttoeinkommen, Steuerklasse, Geburtsjahr, Geschwister, Mehrlinge, optional Brutto während Bezug), ERGEBNISSE, BERECHNUNGSÜBERSICHT
- Teilzeit rows (Brutto während Bezug, Elterngeldnetto während Bezug, Einkommenswegfall) only when `bruttoWaehrendBezug > 0`

## Troubleshooting

If inputs do not update the displayed results:

1. **Check browser console** – Open DevTools (F12) → Console. Look for Alpine.js or JavaScript errors that may prevent the calculator from initializing.
2. **Verify script load order** – Elterngeld scripts (constants, utils, helpers, export, calculator) must load **without** `defer` so they run in the head and register via `alpine:init` before Alpine processes the DOM. If scripts use `defer`, they run after Alpine and the component may not be found.
3. **Input handlers** – The calculator uses `@input` and `@change` handlers in addition to Alpine's `$watch`. If `x-model` alone fails, these handlers trigger recalculation.
4. **Run browser test** – `node tests/elterngeld_rechner_browser_test.mjs` verifies input reactivity (brutto 3000→5000) and mode-specific behavior.

## Content Blocks (SEO)

**Target:** 800+ words, 3+ H2s, 4+ H3s, 2–3 internal links. Colored cards, format variety (tables, callouts). Markers: `<!-- SEO Content Sections -->` before first H2, `<!-- FAQ Section -->` before FAQ.

**Styling:** Match Minijob/Arbeitslosengeld – `font-gilroybold` H2s, `font-inter600` H3s, colored cards (`bg-green-50`, `bg-orange-50`, `bg-blue-50`, `bg-purple-50`), `bg-gray-50` example wrapper, Minijob-style FAQ.

**Structure:**
- **Wie funktioniert der Elterngeld-Rechner?** – H3s: Eingabe, Berechnung, Ergebnis & Export
- **Was wird berechnet?** – Colored cards: Basis-Elterngeld (green), ElterngeldPlus (orange), Geschwisterbonus & Mehrlingszuschlag (blue), Einkommensgrenze (callout 175.000 €)
- **Beispielrechnungen** – 5+ concrete examples in `bg-gray-50` wrapper
- **Detaillierte Beispielrechnungen** – collapsible `<details>` with extra examples
- **Elterngeld-Rechner 2026: Das Wichtigste auf einen Blick** – card format (Für Eltern, Für Antrag)
- **Für wen geeignet?** – audience cards with icons (Angestellte, Selbstständige & Minijob/Midijob, Eltern in Teilzeit)

**Keyword map:** `docs/content/tools/elterngeld-rechner/data/keywords-sistrix.json`. Run `audit-tools-content-blocks.py elterngeld-rechner` (auto-loads keywords).

**Internal links:** Brutto-Netto-Rechner, Minijob-Rechner, /abwesenheiten (Ordio).

## Related

- [elterngeld-legal-research-2026.md](testing/elterngeld-rechner/elterngeld-legal-research-2026.md)
- [elterngeld-calculation-formulas-2026.md](testing/elterngeld-rechner/elterngeld-calculation-formulas-2026.md)
- [COMPETITOR_ANALYSIS.md](../../content/tools/elterngeld-rechner/COMPETITOR_ANALYSIS.md)
