# Tool-by-Tool Detailed Analysis - 2026 Updates

**Last Updated:** 2026-01-21

## Overview

Detailed analysis of each tool with exact constants, formulas, content references, and update requirements.

## Tool 1: Minijob-Rechner

**Status:** ✅ COMPLETED

### Constants Analysis

**File: `v2/js/minijob/constants.js`**

| Constant                    | Current Value | 2026 Value | Status                  | Line |
| --------------------------- | ------------- | ---------- | ----------------------- | ---- |
| MINIJOB_GRENZE              | 603.00        | 603.00     | ✅ Verified & Updated   | 17   |
| PREVIOUS_GRENZE             | 556.00        | 556.00     | ✅ Verified & Updated   | 18   |
| MINDESTLOHN                 | 13.90         | 13.90      | ✅ Verified & Updated   | 63   |
| RENTEN_BEITRAG_ARBEITNEHMER | 0.036 (3.6%)  | Unchanged  | ✅ Verified             | 21   |
| RENTEN_BEITRAG_ARBEITGEBER  | 0.15 (15%)    | Unchanged  | ✅ Verified             | 22   |

**Employer Contribution Rates (GEWERBLICH) - 2026 Updates:**

- RENTENVERSICHERUNG: 15% ✅ (unchanged)
- KRANKENVERSICHERUNG: 13% ✅ (unchanged)
- PAUSCHALSTEUER: 2% ✅ (unchanged)
- UMLAGE_U1: 0.80% ✅ (updated from 1.0% - 2026 official value)
- UMLAGE_U2: 0.22% ✅ (updated from 0.24% - 2026 official value)
- UMLAGE_U3: 0.15% ✅ (updated from 0.09% - 2026 official value)
- UNFALLVERSICHERUNG: ~1.3% ✅ (unchanged)
- Total: ~32.47% ✅ (updated with 2026 Umlage rates)

**Employer Contribution Rates (PRIVATHAUSHALT) - 2026 Updates:**

- RENTENVERSICHERUNG: 5% ✅ (unchanged)
- KRANKENVERSICHERUNG: 5% ✅ (unchanged)
- PAUSCHALSTEUER: 2% ✅ (unchanged)
- UMLAGE_U1: 0.80% ✅ (updated from 0.9% - 2026 official value)
- UMLAGE_U2: 0.22% ✅ (updated from 0.24% - 2026 official value)
- UNFALLVERSICHERUNG: 1.60% ✅ (added - 2026 official value)
- Total: ~14.62% ✅ (updated with 2026 Umlage rates and Unfallversicherung)

**Vacation Constants:**

- LEGAL_MINIMUM_6DAY: 24 days ✅ (unchanged)
- LEGAL_MINIMUM_5DAY: 20 days ✅ (unchanged)
- WEEKS_PER_MONTH: 4.33 ✅ (unchanged)

### Content Analysis

**File: `v2/pages/tools_minijob_rechner.php`**

**Year References:**

- ✅ H1 title: Already "2026"
- ✅ Description: Already "2026"
- ✅ Trust badges: Already "2026 aktuell"
- ✅ Help text: Already "2026"
- ✅ Educational sections: All "2026"
- ✅ FAQs: All updated to "2026"

**Meta Tags:**

- ✅ Already updated to "2026"

### Formula Verification

**Minijob Net Calculation:**

- ✅ Formula: `netto = brutto - (brutto * RV_RATE if RV_pflichtig)`
- ✅ Legal Basis: SGB IV § 8 Abs. 1 Nr. 1
- ✅ Verified: Correct for 2026

**Vacation Entitlement:**

- ✅ Formula: `(LEGAL_MINIMUM_6DAY / 6) * workdaysPerWeek`
- ✅ Legal Basis: BUrlG § 4
- ✅ Verified: Correct for 2026

**Employer Costs:**

- ✅ Formulas verified against official 2026 rates
- ✅ Updated: calculateEmployer() includes Unfallversicherung for Privathaushalt

### Key Updates Made

1. ✅ Updated employer contribution rates (Umlage U1, U2, U3) to official 2026 values
2. ✅ Added Unfallversicherung (1.60%) to Privathaushalt rates
3. ✅ Updated calculateEmployer() function to include Unfallversicherung for Privathaushalt
4. ✅ Removed all 87 console.log statements from calculator.js
5. ✅ Updated validation script with 2026 values
6. ✅ Updated FAQ content with corrected employer contribution percentages
7. ✅ Updated FAQ schema to match corrected content
8. ✅ Updated educational content sections with individual Umlage rates
9. ✅ Created comprehensive test script: `test-minijob-calculations.js` with 25 test cases (all passing)
10. ✅ Updated documentation: `minijob-rechner-documentation.md` (Last Updated: 2026-01-21)

**Files Modified:**

- `v2/js/minijob/constants.js` - Updated employer contribution rates
- `v2/js/minijob/calculator.js` - Removed console.log statements, updated calculateEmployer()
- `v2/pages/tools_minijob_rechner.php` - Updated FAQs, educational content, schema
- `docs/minijob-rechner-validation-script.js` - Updated to 2026 values
- `v2/scripts/dev-helpers/test-minijob-calculations.js` - Created comprehensive test script

## Tool 2: Stundenlohnrechner

**Status:** ✅ COMPLETED

### Constants Analysis

**File: `v2/js/tools-stundenlohn-calculator.js`**

| Constant           | Current Value | 2026 Value | Status                  | Line  |
| ------------------ | ------------- | ---------- | ----------------------- | ----- |
| MINDESTLOHN        | 13.90         | 13.90      | ✅ Verified & Updated   | 55    |
| MINIJOB_LIMIT      | 603           | 603        | ✅ Verified & Updated   | 56    |
| GKV_ADDITIONAL_AVERAGE | 2.9       | 2.9        | ✅ Verified & Updated   | 60    |
| GKV_TOTAL          | 17.5          | 17.5       | ✅ Verified & Updated   | 61    |
| GKV_AN_ANTEIL      | 8.75          | 8.75       | ✅ Verified & Updated   | 62    |
| GKV_BBG            | 5812.50       | 5812.50    | ✅ Verified (unchanged) | 63    |
| RV_BBG             | 8450          | 8450       | ✅ Verified (unchanged) | 78    |
| SOLIDARITAETSZUSCHLAG.THRESHOLD | 20350 | 20350 | ✅ Verified & Updated | 93    |
| Grundfreibetrag (tax) | 12348      | 12348      | ✅ Verified & Updated   | Tax formula |
| MINIJOB_LIMIT      | 556           | ~602       | ⚠️ Pending verification | 55    |
| GKV_BBG            | 5512.50       | 5812.50    | ✅ Verified             | 62    |
| RV_BBG             | 8050          | 8450       | ✅ Verified             | 77    |
| GKV_RATE           | 14.6%         | Unchanged  | ✅ Verified             | 58    |
| RV_RATE            | 18.6%         | Unchanged  | ✅ Verified             | 75    |
| ALV_RATE           | 2.6%          | Unchanged  | ✅ Verified             | 80    |
| PFLEGEVERSICHERUNG | Various       | Unchanged  | ✅ Verified             | 65-72 |

### Content Analysis

**File: `v2/pages/tools_stundenlohnrechner.php`**

**Year References Found:**

- Title: Already "2026" ✅
- Description: Already "2026" ✅
- Content sections: All "2025" → "2026" ✅ COMPLETED
- FAQs: All year references updated ✅ COMPLETED
- FAQ schema: Updated ✅ COMPLETED

**PDF/CSV Export Headers:**

- `generatePDFHTML()`: "2025" → "2026" ✅ COMPLETED
- `generateCSVContent()`: "2025" → "2026" ✅ COMPLETED
- Mindestlohn in CSV: "12,82 €/h" → "13,90 €/h" ✅ COMPLETED

**Display Values Updated:**

- All Mindestlohn displays: "12,82 €" → "13,90 €" ✅ COMPLETED
- All Minijob displays: "556 €" → "603 €" ✅ COMPLETED
- Solidaritätszuschlag threshold: "19.950 €" → "20.350 €" ✅ COMPLETED

### Formula Verification

**Hourly Rate from Monthly:**

- ✅ Formula: `hourlyRate = monthlySalary / (weeklyHours * 4.3333)`
- ✅ Legal Basis: Standard calculation
- ✅ No changes required for 2026

**Netto Calculation:**

- ✅ All deduction formulas verified
- ✅ BBG limits applied correctly
- ✅ Tax formula updated to official 2026 §32a EStG ✅ COMPLETED
- ✅ GKV calculation updated with new Zusatzbeitrag (2.9%) ✅ COMPLETED

### Update Requirements

**Critical Updates:**

1. ✅ Update `MINDESTLOHN`: 12.82 → 13.90 COMPLETED
2. ✅ Update `MINIJOB_LIMIT`: 556 → 603 COMPLETED
3. ✅ Update `GKV_ADDITIONAL_AVERAGE`: 2.5 → 2.9 COMPLETED
4. ✅ Update `GKV_TOTAL`: 17.1 → 17.5 COMPLETED
5. ✅ Update `GKV_AN_ANTEIL`: 8.55 → 8.75 COMPLETED
6. ✅ Update `SOLIDARITAETSZUSCHLAG.THRESHOLD`: 19450 → 20350 COMPLETED
7. ✅ Update tax formula: Grundfreibetrag 12084 → 12348 COMPLETED
8. ✅ Update PDF/CSV export headers: "2025" → "2026" COMPLETED
9. ✅ Review content for "2025" references COMPLETED

**Files Updated:**

- ✅ `v2/js/tools-stundenlohn-calculator.js` (all constants, tax formula, exports)
- ✅ `v2/pages/tools_stundenlohnrechner.php` (content, schema, inline JS)

## Tool 3: Midijob-Rechner

### Constants Analysis

**File: `v2/js/tools-midijob-calculator.js`**

| Constant                 | Current Value | 2026 Value | Status                  | Line |
| ------------------------ | ------------- | ---------- | ----------------------- | ---- |
| midijobUntergrenze       | 603.01        | 603.01     | ✅ Verified & Updated    | 92   |
| midijobObergrenze        | 2000          | 2000       | ✅ Verified unchanged    | 93   |
| minijobGrenze            | 603           | 603        | ✅ Verified & Updated   | 94   |
| gleitzoneFactorF         | 0.6619        | 0.6619     | ✅ Verified & Updated   | 95   |
| grundfreibetrag          | 12348         | 12348      | ✅ Verified             | 98   |
| kinderfreibetrag         | 6828          | 6828       | ✅ Verified             | 99   |
| werbungskosten           | 1230          | 1230       | ✅ Verified unchanged   | 100  |
| sonderausgaben           | 36            | 36         | ✅ Verified unchanged   | 101  |
| rentenversicherung       | 18.6%         | Unchanged  | ✅ Verified             | 104  |
| arbeitslosenversicherung | 2.6%          | Unchanged  | ✅ Verified             | 105  |
| krankenversicherung      | 14.6%         | Unchanged  | ✅ Verified             | 106  |
| pflegeversicherung       | 3.6%          | Unchanged  | ✅ Verified             | 107  |

**Note:** All values have been verified and updated as of January 2026.

### Content Analysis

**File: `v2/pages/tools_midijob_rechner.php`**

**Year References Found:**

- Description: ✅ Already shows "2026"
- Content sections: ✅ All "2025" references updated to "2026"
- FAQs: ✅ All FAQs reviewed and verified for 2026

**PDF/CSV Export Headers:**

- `generateMidijobPDFHTML()`: ✅ Updated to show "2026" and F-Factor 0.6619
- `generateCSVContent()`: ✅ Updated to show "2026" and F-Factor 0.6619

### Formula Verification

**Gleitzone Calculation:**

- ✅ Formula: `beitragspflichtigesEntgelt = brutto * F-Factor`
- ✅ Legal Basis: SGB IV Gleitzone regulations
- ✅ No formula changes required (F-Factor may change)

**Tax Calculation:**

- ✅ Progressive tax formula updated to match official 2026 §32a EStG
- ✅ Correct thresholds: Zone 1 (0-12,348), Zone 2 (12,349-17,799), Zone 3 (17,800-69,878), Zone 4 (69,879-277,825), Zone 5 (277,826+)
- ✅ Grundfreibetrag applied correctly (€12,348)
- ✅ Kinderfreibetrag applied correctly (€6,828)

### Update Requirements

**Critical Updates:**

1. ✅ Updated `grundfreibetrag`: 12096 → 12348
2. ✅ Updated `kinderfreibetrag`: 6828 (already correct)
3. ✅ Verified and updated Gleitzone thresholds: Untergrenze €603.01, F-Factor 0.6619
4. ✅ Updated PDF/CSV export headers: All show "2026" and F-Factor 0.6619
5. ✅ Updated content: All "2025" references changed to "2026"
6. ✅ Updated tax formula to match official 2026 §32a EStG
7. ✅ Updated Zusatzbeitrag: 2.5% → 2.9%
8. ✅ Updated Pflegeversicherung Sachsen rates: 2.9%/1.3% for childless

**Files to Update:**

- `v2/js/tools-midijob-calculator.js` (lines 90-106, export functions)
- `v2/pages/tools_midijob_rechner.php` (content)

## Tool 4: Arbeitslosengeld-Rechner

**Status:** ✅ COMPLETED

### Constants Analysis

**File: `v2/js/arbeitslosengeld/constants.js`**

| Constant                     | Current Value | 2026 Value | Status                  | Line |
| ---------------------------- | ------------- | ---------- | ----------------------- | ---- |
| MAX_ALG_WEST                 | 2390          | 2390       | ✅ Verified & Updated   | 17   |
| MAX_ALG_EAST                 | 2320          | 2320       | ✅ Verified & Updated   | 18   |
| ALG_PERCENTAGE_NO_CHILDREN   | 60%           | 60%        | ✅ Verified unchanged   | 21   |
| ALG_PERCENTAGE_WITH_CHILDREN | 67%           | 67%        | ✅ Verified unchanged   | 22   |
| FREIBETRAG                   | 165           | 165        | ✅ Verified unchanged   | 25   |
| BRUTTO_TO_NETTO_RATE         | 0.80          | 0.80       | ✅ Verified unchanged   | 30   |
| SIDE_INCOME_REDUCTION        | 0.20          | 0.20       | ✅ Verified unchanged   | 33   |
| MIN_EMPLOYMENT_MONTHS        | 12            | 12         | ✅ Verified unchanged   | 37   |
| MAX_DURATION_UNDER_50        | 12            | 12         | ✅ Verified unchanged   | 38   |
| MAX_DURATION_TOTAL           | 24            | 24         | ✅ Verified unchanged   | 39   |

### Content Analysis

**File: `v2/pages/tools_arbeitslosengeld_rechner.php`**

**Year References Found:**

- H1 title: Already "2026" ✅
- Description: Already "2026" ✅
- Schema datePublished: Updated to "2026-01-01" ✅
- Content sections: All updated ✅
- FAQs: All updated for 2026 ✅
- Minijob references: Updated from "520 €" to "603 €" ✅ (8 locations)

**PDF/Excel Export Headers:**

- CSV export: Already shows "2026" ✅
- PDF export: Uses current date (no year needed) ✅

### Formula Verification

**Base ALG Calculation:**

- ✅ Formula: `baseALG = nettoIncome * percentage (60% or 67%)`
- ✅ Legal Basis: SGB III §150
- ✅ No formula changes required

**Maximum Cap:**

- ✅ Formula: `finalALG = Math.min(baseALG, MAX_ALG_WEST/EAST)`
- ✅ Legal Basis: SGB III §150
- ✅ Values verified for 2026 (2390/2320)

**Side Income Reduction:**

- ✅ Formula: `reduction = (sideIncome - FREIBETRAG) * 0.20` (discrete 100€ steps)
- ✅ Legal Basis: SGB III §157
- ✅ No formula changes required

**Duration Calculation:**

- ✅ Formula: `duration = Math.min(employmentMonths / 2, MAX_DURATION) + ageIncrease`
- ✅ Legal Basis: SGB III §127
- ✅ No formula changes required

### Update Requirements

**Critical Updates:**

1. ✅ Verified and updated `MAX_ALG_WEST`: 2390 (unchanged)
2. ✅ Verified and updated `MAX_ALG_EAST`: 2320 (unchanged)
3. ✅ Updated schema datePublished: "2025-01-01" → "2026-01-01"
4. ✅ Updated calculator.js comment: "2025" → "2026"
5. ✅ Updated Minijob references: "520 €" → "603 €" (8 locations)
6. ✅ Verified export headers: CSV shows "2026", PDF uses current date

**Files Updated:**

- ✅ `v2/js/arbeitslosengeld/constants.js` (comments updated with verification date)
- ✅ `v2/js/arbeitslosengeld/calculator.js` (comment updated to "2026")
- ✅ `v2/pages/tools_arbeitslosengeld_rechner.php` (schema, Minijob references)
- ✅ `v2/js/arbeitslosengeld/export.js` (already correct)

## Tool 5: Brutto-Netto-Rechner

### Constants Analysis

**File: `v2/pages/tools_bruttonettorechner.php` (inline JS)**

| Constant              | Current Value | 2026 Value | Status      | Line |
| --------------------- | ------------- | ---------- | ----------- | ---- |
| taxFreeAllowance      | 12096         | 12348      | ✅ Verified | 766  |
| childAllowance        | 6672          | 6828       | ✅ Verified | 767  |
| childBenefit          | 255           | 259        | ✅ Verified | 768  |
| pensionLimitWest      | 8050          | 8450       | ✅ Verified | 773  |
| pensionLimitEast      | 8050          | 8450       | ✅ Verified | 774  |
| healthLimit           | 5512.50       | 5812.50    | ✅ Verified | 775  |
| careLimit             | 5512.50       | 5812.50    | ✅ Verified | 776  |
| unemploymentInsurance | 0.013 (1.3%)  | Unchanged  | ✅ Verified | 760  |

### Content Analysis

**File: `v2/pages/tools_bruttonettorechner.php`**

**Year References Found:**

- H1 title: "Brutto Netto Rechner 2025" → "2026" ⚠️ (line 1067)
- Description: "2025" → "2026" ⚠️
- Content sections: Multiple "2025" references ⚠️
- FAQs: Multiple "2025" references ⚠️
- Comments: Multiple "2025" references ⚠️

### Formula Verification

**Income Tax Calculation:**

- ✅ Progressive tax formula verified
- ✅ Grundfreibetrag applied correctly
- ✅ Kinderfreibetrag vs. Kindergeld (Günstigerprüfung)
- ✅ No formula changes required

**Social Security Deductions:**

- ✅ All deduction formulas verified
- ✅ BBG limits applied correctly
- ✅ No formula changes required

### Update Requirements

**Critical Updates:**

1. Update `taxFreeAllowance`: 12096 → 12348
2. Update `childAllowance`: 6672 → 6828
3. Update `childBenefit`: 255 → 259
4. Update `pensionLimitWest/East`: 8050 → 8450
5. Update `healthLimit`: 5512.50 → 5812.50
6. Update `careLimit`: 5512.50 → 5812.50
7. Update H1 title: "2025" → "2026"
8. Update all content: "2025" → "2026"
9. Update all comments: "2025" → "2026"

**Files to Update:**

- `v2/pages/tools_bruttonettorechner.php` (lines 756-776, 806-807, 1067, content, FAQs)

## Tool 6: TVöD-SuE Gehaltsrechner

**Status:** ✅ COMPLETED

### Constants Analysis

**File: `v2/pages/tools_tvoed_sue.php` (embedded data)**

| Constant       | Current Value        | 2026 Value           | Status                  | Line     |
| -------------- | -------------------- | -------------------- | ----------------------- | -------- |
| version        | "2026-01-01"         | "2026-01-01"         | ✅ Verified correct     | 884      |
| tabelle        | January 2026 values  | January 2026 values  | ✅ Verified correct     | 892-927  |
| jahressonderzahlung VKA | 90%, 85%, 85%, 85% | 90%, 85%, 85%, 85% | ✅ Verified correct     | 991-997  |
| jahressonderzahlung Bund | 90%, 85%, 85%, 85% | **95%, 90%, 90%, 75%** | ✅ **FIXED** (was incorrect) | 998-1003 |
| sue_zulage     | 150/200/250/300/350€ | ⚠️ Discrepancy noted | ⚠️ Research shows 130/180€ | 936-972  |
| zeitzuschlaege | Nacht 20%, Sonntag 25%, Feiertag 135% | Same | ✅ Verified unchanged     | 982-990  |
| stufenlaufzeiten | 12, 24, 36, 48, 60 | Same | ✅ Verified unchanged     | 928-935  |
| payroll_params | 2026 values | 2026 values | ✅ Verified correct     | 1023-1037 |

### Content Analysis

**File: `v2/pages/tools_tvoed_sue.php`**

**Year References:**

- ✅ H1 title: Already shows "2026" (line 1684)
- ✅ Meta tags: Already show "2026"
- ✅ Description: Already shows "2026"
- ✅ FAQs: Updated to clarify VKA vs Bund Jahressonderzahlung differences
- ✅ Schema FAQ: Updated with Bund differences

### Formula Verification

**Base Entgelt Calculation:**

- ✅ Formula: Lookup in Entgelttabelle by S-Gruppe and Stufe
- ✅ Legal Basis: TVöD-SuE Entgelttabellen
- ✅ Entgelttabellen verified for January 2026

**Jahressonderzahlung:**

- ✅ Formula: Tabellenentgelt × JSZ_Prozentsatz × (Beschäftigungsumfang / 100)
- ✅ Legal Basis: TVöD-SuE Tarifvertrag 2026
- ✅ **CRITICAL FIX:** Bund values corrected (EG_1_8: 95%, EG_9_11: 90%, EG_12_13: 90%, EG_14_15: 75%)

**SuE-Zulage:**

- ✅ Formula: Fixed amount per S-Gruppe
- ✅ Legal Basis: TVöD-SuE
- ⚠️ **DISCREPANCY:** Research shows official values differ from code (needs clarification)

**Zeitzuschläge:**

- ✅ Formulas verified (Nacht 20%, Sonntag 25%, Feiertag 135%)
- ✅ Stacking rules verified (Nacht+Sonntag stack, Feiertag replaces both)
- ✅ No formula changes required

**Netto Calculation:**

- ✅ Formulas verified (2026 tax rates, BBG values, contribution rates)
- ✅ Soli threshold: 20350 (verified)

### Key Updates Made

1. ✅ **CRITICAL:** Fixed Bund Jahressonderzahlung values (EG_1_8: 90%→95%, EG_9_11: 85%→90%, EG_12_13: 85%→90%, EG_14_15: 85%→75%)
2. ✅ Updated FAQ to clarify VKA vs Bund Jahressonderzahlung differences
3. ✅ Updated info box to mention Bund differences
4. ✅ Created comprehensive test script (20 test cases, all passing)
5. ✅ Verified all Entgelttabelle values match January 2026 official tables
6. ✅ Verified all formulas and calculation logic

### Test Results

- ✅ Test script created: `v2/scripts/dev-helpers/test-tvoed-sue-calculations.js`
- ✅ All 20 test cases passing:
  - Basic calculations (VKA/Bund, various S-Gruppen, Stufen)
  - SuE-Zulage calculations
  - Zeitzuschläge calculations (Nacht, Sonntag, Feiertag, stacking rules)
  - Jahressonderzahlung calculations (VKA and Bund, all EG clusters)
  - Part-time scenarios
  - Edge cases

### Files Updated

- `v2/pages/tools_tvoed_sue.php` (lines 991-1003: Bund Jahressonderzahlung fix, lines 821-824, 2157: FAQ/info updates)

## Tool 7: PayPal Gebührenrechner

**Status:** ✅ COMPLETED

### Constants Analysis

**File: `v2/api/paypal_fees_config.json`**

| Constant         | Previous Value      | 2026 Value        | Status    |
| ---------------- | ------------------ | ----------------- | --------- |
| lastUpdated      | "2025-10-13"       | "2026-01-21"      | ✅ Updated |
| paypalPdfVersion | "13. Oktober 2025" | "21. Januar 2026" | ✅ Updated |
| Standard rate    | 2.49% + 0.35 EUR   | 2.49% + 0.35 EUR  | ✅ Verified unchanged |
| Micropayment rate| 4.99% + 0.09 EUR   | **5.00% + 0.05 EUR** | ✅ Updated (verified from official sources) |
| QR Code (≥10.01) | 0.90% + 0.10 EUR   | 0.90% + 0.10 EUR  | ✅ Verified unchanged |
| QR Code (≤10.00) | 1.00% + 0.10 EUR   | 1.00% + 0.10 EUR  | ✅ Verified unchanged |
| FX Spread        | 4% (0.04)          | 4% (0.04)         | ✅ Verified unchanged |
| International uplifts | EWR +0%, UK +1.29%, USA/CA +1.99%, Other +2.99% | Same | ✅ Verified unchanged |
| Dispute fees     | EUR 14.00          | EUR 14.00         | ✅ Verified unchanged |
| Break-even points| Various (old)      | Updated for all currencies | ✅ Recalculated |

**File: `v2/js/tools-paypal-calculator.js`**

- Fee calculation formulas verified ✅
- Uses config file for all fee structures ✅
- FX spread hardcoded as 0.04 (matches config) ✅
- Calculation logic verified ✅

### Content Analysis

**File: `v2/pages/tools_paypal_gebuhrenrechner.php`**

**Year References:**

- Description: Already "2026" ✅
- Content sections: Already "2026" ✅
- FAQs: Updated to "2026" ✅
- Removed unverified "Checkout/Karten" rate from FAQ ✅

**Fee Rate Updates:**

- Micropayment rate: Updated from 4.99% + 0.09 to 5.00% + 0.05 ✅
- Break-even points: Updated for all currencies ✅
- All content matches config file ✅

### Update Requirements

**Critical Updates:**

1. ✅ Updated `lastUpdated`: "2025-10-13" → "2026-01-21"
2. ✅ Updated `paypalPdfVersion`: "13. Oktober 2025" → "21. Januar 2026"
3. ✅ Updated micropayment rate: 4.99% + 0.09 → 5.00% + 0.05
4. ✅ Recalculated break-even points for all currencies
5. ✅ Updated all content references to new micropayment rate
6. ✅ Removed unverified "Checkout/Karten" rate from FAQ
7. ✅ Updated PHP fallback config to match JSON config

**Files Updated:**

- ✅ `v2/api/paypal_fees_config.json` (dates, micropayment rate, break-even points)
- ✅ `v2/pages/tools_paypal_gebuhrenrechner.php` (content, FAQ, fallback config)

## Tool 8: Mehrwertsteuer-Rechner

### Constants Analysis

**File: `v2/pages/tools_mehrwertsteuer_rechner.php` (inline JS)**

| Constant             | Current Value | 2026 Value   | Status            |
| -------------------- | ------------- | ------------ | ----------------- |
| VAT rates DE         | 19%/7%        | Unchanged    | ✅ Verified       |
| VAT rates AT         | 20%/10%/13%   | Unchanged    | ✅ Verified       |
| VAT rates CH         | 7.7%/2.5%     | Unchanged    | ✅ Verified       |
| Restaurant exception | Temporary 7%  | Permanent 7% | ⚠️ Content update |

### Content Analysis

**File: `v2/pages/tools_mehrwertsteuer_rechner.php`**

**Year References Found:**

- Content: Add note about restaurant exception being permanent ⚠️
- FAQs: Review for accuracy ⚠️

### Update Requirements

**Updates:**

1. Add content note: Restaurant exception is now permanent (7%)
2. Review FAQs for accuracy

**Files to Update:**

- `v2/pages/tools_mehrwertsteuer_rechner.php` (content)

## Tools 9-17: Remaining Tools

### Tool 9: Prozentrechner

**Status:** ✅ COMPLETED

**Constants:** None (no law changes)
- VAT Rates: 19% (standard) and 7% (reduced) unchanged ✅
- Restaurant Food VAT: Now permanently 7% (made permanent as of Jan 1, 2026) ✅

**Content:** 
- ✅ All "2026" references verified
- ✅ Schema `dateCreated` updated to 2026-01-21
- ✅ VAT tooltip enhanced with restaurant food clarification
- ✅ All 12 FAQs reviewed and verified for accuracy

**Formula Verification:**
- ✅ Basic Percentage: `(percentage / 100) * baseValue`
- ✅ Reverse Percentage: `(part / whole) * 100`
- ✅ Percentage Change: `((newValue - oldValue) / oldValue) * 100`
- ✅ Percentage Difference: `(Math.abs(value1 - value2) / ((value1 + value2) / 2)) * 100`
- ✅ Compound Percentage: `initialValue * Math.pow(1 + percentage / 100, periods)`
- ✅ Discount Calculator: `discountAmount = (discountPercentage / 100) * originalPrice`, `finalPrice = originalPrice - discountAmount`
- ✅ VAT Calculator: Net→Gross: `grossPrice = netPrice * (1 + vatRate / 100)`, Gross→Net: `netPrice = grossPrice / (1 + vatRate / 100)`
- ✅ Profit Margin: `profitMargin = ((sellingPrice - costPrice) / sellingPrice) * 100`, `markup = ((sellingPrice - costPrice) / costPrice) * 100`

**Key Updates Made:**
1. ✅ Updated schema `dateCreated` from "2025-11-19" to "2026-01-21"
2. ✅ Enhanced VAT tooltip with restaurant food clarification (7% permanently since 2026)
3. ✅ Verified all 8 calculation mode formulas are correct
4. ✅ Created comprehensive test script: `test-prozentrechner-calculations.js` with 50 test cases (100% pass rate)
5. ✅ Verified no console.log/error/warn statements in production code
6. ✅ Reviewed all 12 FAQs for accuracy, formulas, and examples
7. ✅ Verified schema markup (WebApplication, Calculator, FAQPage, HowTo) is accurate and complete
8. ✅ Updated documentation: `prozentrechner-documentation.md` (Last Updated: 2026-01-21)
9. ✅ Added test coverage section to documentation

**Files Modified:**
- `v2/pages/tools_prozentrechner.php` - Schema date, VAT tooltip
- `v2/scripts/dev-helpers/test-prozentrechner-calculations.js` - Created test script
- `docs/guides/tools-pages/prozentrechner-documentation.md` - Updated date, added test coverage

### Tool 10: Zinseszinsrechner

**Status:** ✅ COMPLETED

**2026 Verified Constants:**

- **Basiszins:** ✅ Updated to 3.20% (from 2.53% for 2025)
- **Abgeltungsteuer:** ✅ 25% (unchanged)
- **Solidaritätszuschlag:** ✅ 5.5% (unchanged)
- **Effective Rate:** ✅ 26.375% (25% + 5.5% of 25%)
- **Sparerpauschbetrag:** ✅ 1,000€ (single), 2,000€ (joint) (unchanged)
- **Teilfreistellung:** ✅ 30% (equity ETFs), 15% (mixed ETFs) (unchanged)

**Key Updates Made:**

- ✅ Updated Basiszins constant from 2.53% to 3.20% (`tools_zinseszinsrechner.php` line 1177)
- ✅ Updated URL parameter default from 2.53% to 3.20% (line 3553)
- ✅ Updated educational content Basiszins references (lines 7091, 7096)
- ✅ Verified all tax constants match 2026 law (all unchanged)
- ✅ Verified no console statements present
- ✅ Reviewed calculation logic accuracy (forward, tax, reverse calculations)
- ✅ Created comprehensive test script: `test-zinseszins-calculations.js` with 35 test cases (100% pass rate)
- ✅ Reviewed all 7 FAQs for accuracy and tax compliance - all verified correct
- ✅ Verified schema markup (WebApplication, FAQPage, WebPage) - all accurate and complete
- ✅ Updated documentation: `zinseszinsrechner-documentation.md` (Last Updated: 2026-01-21)
- ✅ Added test coverage section to documentation

**Content Updates:**

- Basiszins references: Updated to 3.20% ✅
- H1 title: Already "2026" ✅
- Schema dates: Already using PHP helper functions ✅
- FAQs: All verified accurate ✅

**Files Modified:**

- `v2/pages/tools_zinseszinsrechner.php` - Updated Basiszins constant and educational content
- `v2/scripts/dev-helpers/test-zinseszins-calculations.js` - Created comprehensive test script
- `docs/guides/tools-pages/zinseszinsrechner-documentation.md` - Updated Last Updated date, Basiszins value, added test coverage section

**Source:** Bundesfinanzministerium, Haufe.de - verified January 2026

### Tool 11: Industrieminuten-Rechner

**Status:** ✅ COMPLETED

**2026 Verified:**

- **Formulas:** ✅ Unchanged (mathematical conversions, no legal changes)
  - Normal → Decimal: `Decimal Hours = Hours + (Minutes / 60) + (Seconds / 3600)`
  - Decimal → Normal: `Hours = floor(decimal)`, `Minutes = (decimal - hours) × 60`
  - Industrial Minutes: `Industrial Minutes = Decimal Hours × 100`
- **ArbZG Requirements:** ✅ Unchanged for 2026
  - Daily maximum: 8 hours standard (can extend to 10 hours if averaged)
  - Break requirement: 30 minutes after 6 hours, 45 minutes after 9 hours
  - Rest period: 11 hours between shifts
  - Weekly limit: 48 hours average

**Key Updates Made:**

- ✅ Updated schema `softwareVersion`: "2025.1" → "2026.1"
- ✅ Updated schema `datePublished`: 2025 → 2026
- ✅ Verified all calculation formulas (all correct)
- ✅ Verified ArbZG compliance validation (matches 2026 requirements)
- ✅ Verified no console statements present
- ✅ Reviewed calculation logic accuracy (all modes, formats, edge cases)
- ✅ Created comprehensive test script: `test-industrieminuten-calculations.js` with 59 test cases (100% pass rate)
- ✅ Reviewed all 7 FAQs for accuracy - all verified correct
- ✅ Verified formula equivalence (FAQ formula vs code formula - both acceptable)
- ✅ Verified schema markup (WebPage, WebApplication, SoftwareApplication, FAQPage) - all accurate
- ✅ Reviewed year references - all already "2026" or updated
- ✅ Updated documentation: `industrieminuten-rechner-documentation.md` (Last Updated: 2026-01-21)
- ✅ Updated ArbZG limits, added formula note, added test coverage section

**Content Updates:**

- Schema version: Updated to "2026.1" ✅
- Schema date: Updated to 2026 ✅
- Year references: Already "2026" in title/meta ✅
- FAQs: All 7 FAQs reviewed and verified ✅
- Schema: All schemas verified and updated ✅

**Files:**

- `v2/pages/tools_industrieminuten_rechner.php` - Updated schema softwareVersion and datePublished
- `v2/scripts/dev-helpers/test-industrieminuten-calculations.js` - Created comprehensive test script
- `docs/guides/tools-pages/industrieminuten-rechner-documentation.md` - Updated Last Updated date, ArbZG limits, added formula note and test coverage section

**Source:** REFA methodology, ArbZG 2026 - verified January 2026

**Note on Formula Equivalence:**
- Code uses: `Industrial Minutes = Decimal Hours × 100` where `Decimal Hours = Hours + (Minutes / 60)`
- FAQ mentions: `Industrial Minutes = (Hours × 100) + (Minutes × 1.67)`
- Both formulas are mathematically equivalent with small rounding differences. Code formula is more precise. Both are acceptable for documentation.

### Tool 12: Arbeitstage-Rechner

**Constants:**

- Holiday data: Update to 2026 ⚠️

**Content:**

- Title: Already "2026" ✅
- Content: Review for "2025" references ⚠️

**Updates:**

1. Update holiday data for 2026 (if using API, verify updated)
2. Review content for year references

### Tool 13: Urlaubsanspruch-Rechner

**Status:** ✅ COMPLETED

**2026 Verified Constants:**

- **Legal Base Days:** 24 days (6-day week) = 20 days (5-day week) ✅ (BUrlG § 3, unchanged)
- **6-Month Waiting Period:** Required for full vacation entitlement (BUrlG § 4) ✅
- **Youth Vacation Days (JArbSchG § 19):**
  - Age 15: 30 days ✅
  - Age 16: 27 days ✅
  - Age 17: 25 days ✅
- **Disabled Employee Bonus:** +5 days (SGB IX § 208) ✅
- **Legal Vacation Hours:** 144 hours (24 days × 6 hours) ✅ (since 2021)
- **Rounding Rule:** Round UP if ≥ 0.5 days (BUrlG § 5 Abs. 2) ✅

**Key Updates Made:**

- ✅ Verified all constants match 2026 values (BUrlG unchanged, all constants accurate)
- ✅ Verified calculation formulas (daily, hourly, pro-rating, rounding)
- ✅ Reviewed educational content: BUrlG explanations, youth/disabled rules, pro-rating examples, termination scenarios
- ✅ Reviewed all FAQ answers for accuracy: Kündigung scenarios, Berechnung, Resturlaub, Verfall bei Krankheit, Probezeit
- ✅ Verified schema markup: WebApplication, FAQPage, Calculator schemas accurate, FAQ answers match content
- ✅ Created comprehensive test script: `test-urlaubsanspruch-calculations.js` with 14 test cases (all passing)
- ✅ Verified no console.log statements in production code
- ✅ Updated documentation: `urlaubsanspruch-rechner-documentation.md` (Last Updated: 2026-01-21)

**Source:** Bundesurlaubsgesetz (BUrlG), Jugendarbeitsschutzgesetz (JArbSchG), Sozialgesetzbuch IX (SGB IX) - verified January 2026

**Files Updated:**

- `v2/pages/tools_urlaubsanspruchrechner.php` - Verified constants and formulas (no changes needed)
- `v2/scripts/dev-helpers/test-urlaubsanspruch-calculations.js` - Created comprehensive test script
- `docs/guides/tools-pages/urlaubsanspruch-rechner-documentation.md` - Updated Last Updated date

### Tool 14: Zuschlagsrechner

**Status:** ✅ COMPLETED

**2026 Verified Rates per §3b EStG:**

- **Nachtzuschlag:** 25% steuerfrei (20:00-06:00 Uhr), 40% steuerfrei (0:00-4:00 Uhr wenn Arbeit vor Mitternacht begonnen wurde)
- **Sonntagszuschlag:** 50% steuerfrei
- **Feiertagszuschlag:** 125% steuerfrei (reguläre Feiertage, 31.12 ab 14 Uhr), 150% steuerfrei (24.12 ab 14 Uhr, 25./26.12, 1. Mai)
- **Samstagszuschlag:** Nicht automatisch steuerfrei - hängt vom Tarifvertrag ab

**Key Updates Made:**
- ✅ Updated Feiertagszuschlag rates from 100% to 125%/150% in content (lines 1563-1564, 1622, 418, FAQs)
- ✅ Clarified Nachtzuschlag time periods (ArbZG 23:00-06:00 vs. steuerfrei 20:00-06:00)
- ✅ Fixed FAQ answer that incorrectly stated "ab 20:00 Uhr gibt es keinen steuerfreien Nachtzuschlag" (line 458)
- ✅ Added content about 40% Nachtzuschlag special case (0:00-4:00 Uhr)
- ✅ Added content section explaining special holiday rates (150%)
- ✅ Clarified Samstagszuschlag legal status (no automatic steuerfrei, tariff-dependent)
- ✅ Updated schema datePublished to 2026-01-01 (line 407)
- ✅ Updated all FAQs with accurate information
- ✅ Added tooltips explaining steuerfreie limits (125%/150% for Feiertagszuschlag, 40% special case for Nachtzuschlag)
- ✅ Calculator default kept at 100% for Feiertagszuschlag (common practice), with content clarification

**Source:** Bundesfinanzministerium §3b EStG, gesetze-im-internet.de (verified January 2026)

### Tool 15: Kostenrechner

**Status:** ✅ COMPLETED

**2026 Verified:**

- **Ordio Pricing:** ✅ Verified €89/location/month for Starter plan (2026)
  - Code uses Starter plan pricing (base tier) ✅
  - Content references match code (€89) ✅
- **Formulas:** ✅ Unchanged (business calculations, no legal dependencies)
  - Base hours per location: `planningTime × (1 + employees × 0.02) + payrollTime × (1 + employees × 0.015) + changesTime × (1 + employees × 0.025)`
  - Location scaling factor: `1 + ((locations - 1) × 0.85)` for multiple locations
  - Total monthly hours: `baseHoursPerLocation × locationScalingFactor × 4`
  - Manual cost: `totalHours × hourlyRate`
  - Ordio cost: `locations × 89`
  - Savings: `max(0, manualCostMonthly - ordioCostMonthly)`
  - Yearly savings: `savingsMonthly × 12`

**Key Updates Made:**

- ✅ Verified Ordio pricing: €89/location/month (Starter plan) - no changes needed
- ✅ Verified all calculation formulas (all correct)
- ✅ Verified no console statements present
- ✅ Reviewed calculation logic accuracy (all inputs, edge cases)
- ✅ Created comprehensive test script: `test-kostenrechner-calculations.js` with 46 test cases (100% pass rate)
- ✅ Reviewed all 6 FAQs for accuracy - all verified correct
- ✅ Reviewed content sections (hero, form labels/tooltips, results, educational) - all accurate
- ✅ Verified schema markup (WebPage, WebApplication, FAQPage) - all accurate
- ✅ Reviewed year references - no "2025" references found, schema uses PHP functions (dynamic dates)
- ✅ Updated documentation: `kostenrechner-documentation.md` (Last Updated: 2026-01-21)
- ✅ Added test coverage section to documentation

**Content Updates:**

- Ordio pricing: Verified €89/location/month ✅
- Year references: No "2025" references found ✅
- Schema: Uses PHP functions for dates (dynamic) ✅
- FAQs: All 6 FAQs reviewed and verified ✅
- Schema: All schemas verified ✅

**Files:**

- `v2/scripts/dev-helpers/test-kostenrechner-calculations.js` - Created comprehensive test script
- `docs/guides/tools-pages/kostenrechner-documentation.md` - Updated Last Updated date, added test coverage section

**Source:** Ordio pricing verification (2026), business calculation formulas (unchanged)

**Note:** Calculator uses Starter plan pricing (€89/location/month). Plus (€129) and Pro (€149) plans exist but are not used in calculator, which is appropriate as it shows base tier pricing.

### Tool 16: ROI-Rechner Schichtplanung

**Status:** ✅ COMPLETED

**Verified Constants:**
- Ordio Pricing: ✅ Verified €89/€129/€149 per location/month (Starter/Plus/Pro yearly rates)
- Payroll Plus: ✅ Verified €15 per payslip/month
- Employer On-cost Rate: ✅ Verified 22% default (actual 2026 rates ~21.15%, rounded approximation)
- VAT Rate: ✅ Verified 19% (correct for Germany)
- Default reduction rates: ✅ Verified (schedule time 35%, overtime 40%, no-show 45%, payroll error 30% base)

**Key Updates Made:**
- Verified all Ordio pricing (Starter, Plus, Pro yearly rates)
- Verified Payroll Plus pricing (€15/payslip/month)
- Verified employer on-cost rate (22% default)
- Verified all calculation formulas (loaded wages, Ordio costs, all savings components, ROI, payback)
- Reviewed all FAQs for accuracy and consistency
- Verified Schema.org markup (WebPage, WebApplication, FAQPage)
- Created comprehensive test script (48 test cases, 100% pass rate)

**Content Updates:**
- Updated documentation with test coverage section
- Updated constants section with verified 2026 values
- All FAQs reviewed and verified accurate

**Files Involved:**
- `v2/pages/tools_roi_rechner_schichtplanung.php` - Verified (no code changes needed)
- `v2/scripts/dev-helpers/test-roi-rechner-calculations.js` - Created comprehensive test script
- `docs/guides/tools-pages/roi-rechner-schichtplanung-documentation.md` - Updated

### Tool 17: Arbeitszeitrechner

**Status:** ✅ COMPLETED

**2026 Verified Constants:**

- **ArbZG Daily Limits:** ✅ Unchanged for 2026
  - Regular: 8h (normal), 10h (extended with compensation)
  - Minors (JArbSchG): 8h maximum
- **Break Requirements:** ✅ Unchanged for 2026
  - Regular: 30min if >6h, 45min if >9h
  - Minors: 30min if >4.5h, 60min if >6h
- **Rest Period:** ✅ Unchanged for 2026
  - Minimum 11 hours between shifts
- **Continuous Work Limits:** ✅ Unchanged for 2026
  - Regular: 6h maximum without break
  - Minors: 4.5h maximum without break
- **Weekly Limits:** ✅ Unchanged for 2026
  - EU Directive: 48h/week average
  - Minors: 40h/week maximum

**Key Updates Made:**

- ✅ Updated schema `datePublished` from hardcoded "2025-01-01" to use PHP helper function (`tools_arbeitszeitrechner.php` line 3185)
- ✅ Removed all 4 `console.error` statements from `tools-arbeitszeit-calculator.js` (lines 344, 418, 440, 494)
- ✅ Verified all ArbZG compliance constants match 2026 law (all unchanged)
- ✅ Reviewed compliance check logic (`checkDayCompliance` function) - verified accurate
- ✅ Reviewed rest period calculation (simplified implementation noted, acceptable for single-day calculations)
- ✅ Created comprehensive test script: `test-arbeitszeit-calculations.js` with 47 test cases (100% pass rate)
- ✅ Reviewed all 8 FAQs for accuracy and ArbZG compliance - all verified correct
- ✅ Verified schema markup (WebApplication, FAQPage, WebPage) - all accurate and complete
- ✅ Updated documentation: `arbeitszeitrechner-documentation.md` (Last Updated: 2026-01-21)
- ✅ Added test coverage section to documentation

**Content Updates:**

- Schema dates: Updated to use PHP helper functions ✅
- FAQs: All verified accurate for 2026 ✅
- Educational content: All verified accurate ✅
- "Was ändert sich 2026?" section: Mentions proposals (informational) ✅

**Files Modified:**

- `v2/pages/tools_arbeitszeitrechner.php` - Updated schema datePublished
- `v2/js/tools-arbeitszeit-calculator.js` - Removed console.error statements
- `v2/scripts/dev-helpers/test-arbeitszeit-calculations.js` - Created comprehensive test script
- `docs/guides/tools-pages/arbeitszeitrechner-documentation.md` - Updated Last Updated date, added test coverage section

**Source:** ArbZG (Arbeitszeitgesetz), JArbSchG (Jugendarbeitsschutzgesetz) - verified January 2026

## Summary

### Total Constants Requiring Updates

**Verified Updates (Can proceed):**

- MINDESTLOHN: 3 files
- GKV_BBG: 2 files
- RV_BBG: 2 files
- Grundfreibetrag: 2 files
- Kinderfreibetrag: 2 files
- Kindergeld: 1 file

**Pending Verification (Need official confirmation):**

- MINIJOB_GRENZE: 3 files
- MAX_ALG_WEST/EAST: 1 file
- Gleitzone thresholds: 1 file
- Basiszins: 1 file
- TVöD-SuE Entgelttabellen: 1 file

### Total Content Updates Required

- H1 titles: 5 files
- Descriptions: 8+ files
- FAQs: 10+ files
- PDF/CSV export headers: 5+ files
- Comments: 5+ files

### Total Files Requiring Updates

- Constants files: 5 files
- PHP files: 15+ files
- Export functions: 5+ files
- **Total: 25+ files**
