# Constants Extraction - 2026 Analysis

**Date:** 2026-01-07  
**Purpose:** Extract and document all constants, rates, and formulas from calculator code

## Minijob Calculator Constants

### Legal Constants (`v2/js/minijob/constants.js`)

**Thresholds:**

- `MINIJOB_GRENZE`: 603.00 €/month (2026) ✅
- `PREVIOUS_GRENZE`: 556.00 €/month (2025, for reference)
- `MINDESTLOHN`: 13.90 €/hour (2026) ✅

**Employee Contribution Rates:**

- `RENTEN_BEITRAG_ARBEITNEHMER`: 0.036 (3.6%) - if not exempt ✅

**Employer Contribution Rates - Gewerblich (Commercial):**

- `RENTENVERSICHERUNG`: 0.15 (15%) ✅
- `KRANKENVERSICHERUNG`: 0.13 (13%) ✅
- `PAUSCHALSTEUER`: 0.02 (2%) ✅
- `UMLAGE_U1`: 0.01 (~1.0%, varies by Krankenkasse) ✅
- `UMLAGE_U2`: 0.0024 (0.24%) ✅
- `UMLAGE_U3`: 0.0009 (~0.09%, insolvency) ✅
- `UNFALLVERSICHERUNG`: 0.013 (~1.3%, varies by Berufsgenossenschaft) ✅
- `TOTAL`: ~32.63% ✅

**Employer Contribution Rates - Privathaushalt (Private Household):**

- `RENTENVERSICHERUNG`: 0.05 (5%) ✅
- `KRANKENVERSICHERUNG`: 0.05 (5%) ✅
- `PAUSCHALSTEUER`: 0.02 (2%) ✅
- `UMLAGE_U1`: 0.009 (0.9%) ✅
- `UMLAGE_U2`: 0.0024 (0.24%) ✅
- `TOTAL`: ~13.14% ✅

**Vacation Constants:**

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

**Status:** ✅ All constants updated to 2026

---

## Midijob Calculator Constants

### Legal Constants (`v2/js/tools-midijob-calculator.js`)

**Thresholds:**

- `midijobUntergrenze`: 603.01 €/month (2026) ✅
- `midijobObergrenze`: 2000 €/month ✅
- `minijobGrenze`: 603 €/month (2026) ✅
- `gleitzoneFactorF`: 0.6683 (F-Factor for Gleitzone) ⚠️ Comment says "2025" but value may be correct

**Tax Constants:**

- `grundfreibetrag`: 12348 €/year (2026) ✅
- `kinderfreibetrag`: 6828 €/year per child (2026) ✅
- `werbungskosten`: 1230 €/year ⚠️ Comment says "2025" - needs verification
- `sonderausgaben`: 36 €/year ⚠️ Comment says "2025" - needs verification

**Social Security Rates:**

- `rentenversicherung`: 18.6% ⚠️ Comment says "2025" - needs verification
- `arbeitslosenversicherung`: 2.6% ⚠️ Comment says "2025" - needs verification
- `krankenversicherung`: 14.6% ⚠️ Comment says "2025" - needs verification
- `pflegeversicherung`: 3.6% base rate ⚠️ Comment says "2025" - needs verification
  - Childless 23+: 4.2% (3.6% + 0.6% surcharge) ⚠️ Comment says "2025" - needs verification

**Tax Calculation Constants:**

- Solidaritätszuschlag `freigrenze`: 18130 € ⚠️ Comment says "2025" - needs verification
- Solidaritätszuschlag `rate`: 5.5% ✅
- Tax brackets (progressive formula) ⚠️ Comment says "2025" - needs verification:
  - Zone 2 (≤17005): Linear progression from 14%
  - Zone 3 (17005-68429): Progression to 42%
  - Zone 4 (68429-277825): 42% flat
  - Zone 5 (>277825): 45% flat

**Tax Class Adjustments:**

- SK 2 (Single parent): Entlastungsbetrag 4260 € ⚠️ Comment says "2025" - needs verification

**Issues Found:**

- ⚠️ Multiple "2025" references in comments (lines 5, 99, 100, 102, 106, 181, 195, 197, 221, 222, 228, 294, 300, 338, 372, 456, 477, 507, 698, 701, 803, 863)
- ⚠️ CSV/PDF exports mention "2025" in headers

**Status:** ⚠️ Needs verification and updates

---

## Stundenlohn Calculator Constants

### Legal Constants (`v2/js/tools-stundenlohn-calculator.js`)

**RATES_2026 Object:**

**Thresholds:**

- `MINDESTLOHN`: 13.90 €/hour (2026) ✅
- `MINIJOB_LIMIT`: 603 €/month (2026) ✅

**GKV (Health Insurance) Rates:**

- `GKV_RATE`: 14.6% ✅
- `GKV_ADDITIONAL_AVERAGE`: 2.5% (average Zusatzbeitrag) ✅
- `GKV_TOTAL`: 17.1% (14.6% + 2.5%) ✅
- `GKV_AN_ANTEIL`: 8.55% (employee share: 7.30% + 1.25%) ✅
- `GKV_BBG`: 5812.50 €/month (2026) ✅

**Pflegeversicherung (Long-term Care Insurance) Rates:**

- `NO_CHILDREN`: 2.40% (kinderlos >23 years: 1.8% + 0.6% surcharge) ✅
- `ONE_CHILD`: 1.80% ✅
- `TWO_CHILDREN`: 1.55% ✅
- `THREE_CHILDREN`: 1.30% ✅
- `FOUR_CHILDREN`: 1.05% ✅
- `FIVE_PLUS_CHILDREN`: 0.80% ✅

**Rentenversicherung (Pension Insurance) Rates:**

- `RV_RATE`: 18.6% ✅
- `RV_AN_ANTEIL`: 9.3% (employee share) ✅
- `RV_BBG`: 8450 €/month (2026) ✅

**Arbeitslosenversicherung (Unemployment Insurance) Rates:**

- `ALV_RATE`: 2.6% ✅
- `ALV_AN_ANTEIL`: 1.3% (employee share) ✅

**Kirchensteuer (Church Tax) Rates:**

- `BW_BY`: 0.08 (8% for Baden-Württemberg and Bayern) ✅
- `OTHER_STATES`: 0.09 (9% for all other states) ✅

**Solidaritätszuschlag (Solidarity Surcharge):**

- `RATE`: 0.055 (5.5%) ✅
- `THRESHOLD`: 19450 € (Freigrenze) ✅

**Arbeitszeitgesetz (Working Time Law) Constants:**

- `WORK_BREAK_THRESHOLD_6H`: 360 minutes (30 min break required if >6h) ✅
- `WORK_BREAK_THRESHOLD_9H`: 585 minutes (45 min break required if >9h) ✅
- `MAX_DAILY_WORK`: 600 minutes (max 10h/day) ✅
- `MAX_WEEKLY_WORK`: 2880 minutes (avg 8h in 6 months/24 weeks) ✅

**Time Factors:**

- `MONTHLY_HOURS_FACTOR`: 4.3333 (52/12 weeks) ✅
- `YEARLY_HOURS_FACTOR`: 52 (weeks per year) ✅

**Status:** ✅ All constants updated to RATES_2026

---

## Arbeitslosengeld Calculator Constants

### Legal Constants (`v2/js/arbeitslosengeld/constants.js`)

**Höchstbeträge (Maximum Amounts) - SGB III §150:**

- `MAX_ALG_WEST`: 2390 €/month (Westdeutschland, 2026) ✅
- `MAX_ALG_EAST`: 2320 €/month (Ostdeutschland, 2026) ✅

**Leistungssätze (Benefit Rates) - SGB III §150:**

- `ALG_PERCENTAGE_NO_CHILDREN`: 60% of netto income ✅
- `ALG_PERCENTAGE_WITH_CHILDREN`: 67% of netto income ✅

**Nebenverdienst-Freibetrag (Side Income Allowance) - SGB III §157:**

- `FREIBETRAG`: 165 €/month (not counted toward reduction) ✅

**Brutto-to-Netto Conversion:**

- `BRUTTO_TO_NETTO_RATE`: 0.80 (80% netto, 20% deduction) ✅
  - According to SGB III §150: Pauschalabzug ~20% for taxes and social security

**Side Income Reduction Rates - SGB III §157:**

- `SIDE_INCOME_REDUCTION_PERCENTAGE`: 0.20 (20% of ALG 1 per 100€ excess) ✅
- `SIDE_INCOME_MAX_REDUCTION_PERCENTAGE`: 0.80 (Maximum reduction: 80% of ALG 1) ✅

**Duration Calculation Constants - SGB III §127:**

- `MIN_EMPLOYMENT_MONTHS`: 12 months (minimum required in last 2 years) ✅
- `MAX_DURATION_UNDER_50`: 12 months (maximum duration for age < 50) ✅
- `MAX_DURATION_TOTAL`: 24 months (maximum duration total, age 58+) ✅
- `DURATION_AGE_INCREASE_MONTHS`: 2 months (additional months per year over 50) ✅

**Status:** ✅ All constants appear correct for 2026

---

## Mehrwertsteuer Calculator Constants

### Legal Constants (`v2/js/tools-mehrwertsteuer-calculator.js`)

**Germany (DE):**

- `standard`: 19% ✅
- `reduced`: 7% ✅
- `exemptionThreshold`: 25,000 € (Kleinunternehmer) ✅

**Austria (AT):**

- `standard`: 20% ✅
- `reduced`: 10% ✅
- `exemptionThreshold`: 35,000 € ✅

**Switzerland (CH):**

- `standard`: 8.1% ✅
- `reduced`: 2.6% ✅
- `exemptionThreshold`: 100,000 CHF ✅

**Status:** ✅ VAT rates unchanged (no 2026 changes expected)

---

## PayPal Calculator Constants

### Fee Structure (`v2/api/paypal_fees_config.json`)

**Transaction Types:**

- Personal payments
- Business payments
- Micropayment profile
- QR code payments

**Fee Rates:**

- Domestic rates
- International uplifts
- Currency conversion fees
- Dispute fees
- Withdrawal fees

**Status:** ⚠️ Needs verification (fee structure may change, not law-dependent)

---

## Zuschlags Calculator Constants

### Default Surcharge Rates (`v2/js/tools-zuschlags-calculator.js`)

**Default Rates:**

- `nachtZuschlag`: 25% (night work) ⚠️ Tariff-dependent, defaults may need verification
- `sonntagZuschlag`: 50% (Sunday work) ⚠️ Tariff-dependent
- `feiertagZuschlag`: 100% (holiday work) ⚠️ Tariff-dependent
- `samstagZuschlag`: 25% (Saturday work) ⚠️ Tariff-dependent

**Status:** ⚠️ Surcharge rates are tariff-dependent, defaults may need verification

---

## Arbeitszeit Calculator Constants

### Arbeitszeitgesetz Constants (`v2/js/tools-arbeitszeit-calculator.js`)

**Break Thresholds:**

- Break required if >6h: 30 minutes ✅
- Break required if >9h: 45 minutes ✅

**Maximum Working Time:**

- Max daily work: 10 hours ✅
- Max weekly work: 48 hours average (in 6 months/24 weeks) ✅

**Industry-Specific Rules:**

- Gastronomie templates
- Einzelhandel templates
- Other industry templates

**Minor Protection Rules (JArbSchG):**

- Age-based restrictions
- Time restrictions

**Status:** ⚠️ Needs verification against Arbeitszeitgesetz 2026

---

## Brutto-Netto Calculator Constants

### Legal Constants (`v2/pages/tools_bruttonettorechner.php`)

**Tax Constants:**

- `taxFreeAllowance`: 12348 €/year (2026) ✅
- `childAllowance`: 6828 €/year per child (2026) ✅
- `childBenefit`: 259 €/month per child (2026) ✅
- `solidarityThreshold`: 19950 € (singles) ✅
- `solidarityThresholdMarried`: 39900 € (married) ✅
- `solidarityRate`: 5.5% ✅

**Tax Brackets (2026):**

- Zone 1: ≤12348 € (14% marginal rate)
- Zone 2: 12348-68429 € (progressive 14%-42%)
- Zone 3: 68429-277825 € (42%)
- Zone 4: >277825 € (45%)

**Social Security Rates:**

- `pensionInsurance`: 9.3% employee (18.6% total) ✅
- `unemploymentInsurance`: 1.3% employee (2.6% total) ✅
- `healthInsurance`: 7.3% employee (14.6% total) ✅
- `careInsurance`: 1.7% employee with children (3.4% total) ✅
- `careInsuranceNoChildren`: 1.875% employee (3.75% total) ✅

**Contribution Limits (BBG):**

- `pensionLimitWest`: 8450 €/month (2026) ✅
- `pensionLimitEast`: 8450 €/month (2026, unified) ✅
- `healthLimit`: 5812.50 €/month (2026) ✅
- `careLimit`: 5812.50 €/month (2026) ✅

**Church Tax:**

- `churchTaxRate`: 9% (most states) ✅
- `churchTaxRateBW`: 8% (Bayern & Baden-Württemberg) ✅

**Status:** ✅ All constants appear correct for 2026

---

## Summary of Constants Needing Verification

### Critical Discrepancies Found:

1. **Solidaritätszuschlag Freigrenze:**

   - Midijob: `18130` € (comment says "2025")
   - Brutto-Netto: `19950` € singles, `39900` € married
   - **Action:** Verify official 2026 value and resolve discrepancy

2. **Tax Formula:**

   - Midijob: Zone 2 starts at ≤17005
   - Brutto-Netto: Zone 2 starts at ≤12348
   - **Action:** Verify official 2026 tax brackets and resolve discrepancy

3. **Pflegeversicherung Rates:**
   - Midijob: 3.6% base, 4.2% childless 23+
   - Brutto-Netto: 3.4% with children, 3.75% without children
   - **Action:** Verify official 2026 rates and resolve discrepancy

### High Priority (Verify):

1. **Tax Constants:**

   - `werbungskosten` (Arbeitnehmer-Pauschbetrag): 1230 € - verify 2026 value
   - `sonderausgaben` (Sonderausgaben-Pauschbetrag): 36 € - verify 2026 value
   - Solidaritätszuschlag `freigrenze`: 18130 € - verify 2026 value
   - Tax brackets (progressive formula) - verify 2026 values
   - SK 2 Entlastungsbetrag: 4260 € - verify 2026 value

2. **Social Security Rates:**

   - RV rate: 18.6% - verify unchanged for 2026
   - ALV rate: 2.6% - verify unchanged for 2026
   - KV rate: 14.6% - verify unchanged for 2026
   - PV rate: 3.6% base, 4.2% childless 23+ - verify unchanged for 2026

3. **Gleitzone F-Factor:**
   - F-Factor: 0.6683 - verify unchanged for 2026

### Medium Priority:

1. **Zuschlags Rates:**

   - Default surcharge rates - verify if tariff-dependent defaults are appropriate

2. **Holiday Calendar:**

   - 2026 holidays for DE, AT, CH - verify accuracy

3. **TVöD-SuE Entgelttabellen:**
   - 2026 salary tables - verify updated

### Low Priority (Not Law-Dependent):

1. **PayPal Fees:**

   - Fee structure - verify current rates (not law-dependent)

2. **Mathematical Calculators:**
   - Prozentrechner - pure math, no law-dependent constants
   - Zinseszinsrechner - pure math, no law-dependent constants

---

## Next Steps

1. Research 2026 values for all constants marked ⚠️
2. Verify all constants against official sources
3. Update all incorrect values
4. Fix all "2025" references in comments
5. Update CSV/PDF export headers
6. Document all formulas and legal basis
