# Index Pages Annual Update Guide

**Last Updated:** 2026-04-02

This guide documents the annual update process for resource index pages (tools, templates, downloads) and their data files. Run this checklist in December or early January when labor law values and year references change.

## Index Pages and Data Files

| Index Page | Data File | Carousel |
|------------|-----------|----------|
| `v2/pages/tools_index.php` | `v2/data/tools_index_data.php` | `v2/base/tools_carousel.php` |
| `v2/pages/templates_index.php` | `v2/data/templates_index_data.php` | `v2/base/templates_carousel.php` |
| `v2/pages/download_index.php` | `v2/data/downloads_index_data.php` | `v2/base/downloads_carousel.php` |
| `v2/pages/compare_index.php` | `v2/data/tools_data.php` | — |

**Data flow:** Carousels load from `*_index_data.php`. Updating data files automatically updates carousels. `download_index.php` has hardcoded feature cards for Trinkgeld and Zeiterfassung (not from data file).

## Year Update Checklist

### 0. Product Pages – softwareVersion

Update schema `softwareVersion` in all product pages:

- **Files:** `v2/pages/product_appstore.php`, `product_payroll.php`, `product_absences.php`, `product_checklists.php`, `product_documents.php`, `product_timetracking.php`, `product_personnelfile.php`, `product_schichtplan_neu.php` (`/schichtplan`)
- **Change:** `"softwareVersion": "2025.1"` → `"softwareVersion": "2026.1"`

### 1. Industry Pages – Funding Ticker

Update the funding/news ticker on **legacy industry-layout** Branchen pages (hero badge „Series A“):

- **Files:** `v2/pages/industry_healthcare.php`, `industry_retail.php`, `industry_crafts-and-industry.php`, `industry_leisure-and-culture.php`
- **Change:** `€12M für KI & Payroll 2025` → `€12M für KI & Payroll 2026`

**Gastronomie (canonical `/branchen/gastronomie`):** Live implementation is [`v2/pages/branchen_gastronomie_neu.php`](../../../v2/pages/branchen_gastronomie_neu.php) (paid-LP-style layout). It does **not** use the same hero funding pill as `industry_*.php` pages; do not rely on `industry_hospitality.php` for the public URL. If a funding line appears in shared `gastro` copy or this page in the future, update it in the same annual pass.

### 2. Tools Index Data (`v2/data/tools_index_data.php`)

Update year references in tool descriptions and tags:

- Stundenlohnrechner: `für 202X`
- Brutto-Netto-Rechner: `für 202X`, `Steuern 202X` (tags)
- TVöD-SuE Gehaltsrechner: `Gehalt 202X`
- PayPal Gebührenrechner: `Deutschland 202X`
- Midijob-Rechner: `für 202X`
- Minijob-Rechner: `Minijobs 202X`
- Arbeitslosengeld-Rechner: `für 202X`
- Elterngeld-Rechner: `für 202X`, BEEG constants (see `docs/guides/tools-pages/testing/elterngeld-rechner/elterngeld-legal-research-2026.md`)

### 3. Templates Index Data (`v2/data/templates_index_data.php`)

**Labor law values:** See `docs/content/LABOR_LAW_VALUES_2026.md` for current Mindestlohn and Minijob-Grenze.

Update in `$dedicatedPages`:

- Dienstplan: `Mindestlohn XX,XX€` (in description)
- Schichtplan: `Mindestlohn XX,XX€` (in description)

### 4. Downloads Index Data (`v2/data/downloads_index_data.php`)

- Trinkgeld: `Praxis-Guide 202X` (description)
- Zeiterfassung: `Zeiterfassung 202X: Pflichten & Lösungen` (name)

### 5. Download Index Page (`v2/pages/download_index.php`)

Hardcoded content (not from data file):

- Trinkgeld card: `Der Praxis-Guide 202X:`
- Zeiterfassung card: Comment, `alt` attribute, and `h3` title with `Zeiterfassung 202X:`

## Verification Commands

After updates, run:

```bash
# Expect 0 matches for previous year in updated files
grep -r "2025" v2/data/tools_index_data.php v2/data/downloads_index_data.php v2/data/templates_index_data.php v2/pages/download_index.php

# Expect 0 matches for old Mindestlohn in templates data
grep "12,82" v2/data/templates_index_data.php
```

## Manual Page Review

- `/tools` – verify tool cards show current year
- `/vorlagen` – verify template cards show current Mindestlohn
- `/download` – verify Trinkgeld and Zeiterfassung cards show current year
- Visit a tool page (e.g. `/tools/stundenlohnrechner`) – verify carousel shows current year
- Visit a download page (e.g. `/download/trinkgeld-bargeldlose-gastronomie`) – verify carousel shows current year

## Resources Content Blocks (Templates, Downloads)

Beyond index data files, annual updates apply to:

### Template Content Blocks

- **Path:** `docs/systems/templates/template-data/{id}/content/content.md`
- **Sync:** `php v2/scripts/templates/sync-template-content-blocks.php --template=id`
- **Templates with labor law values:** lohnabrechnung-vorlage (Minijob/Midijob), dienstplan-excel-vorlage, schichtplan-excel-vorlage, wochenplan-vorlage (Minijob 520→603)
- **FAQ data:** `data/faq-answers-optimized.json` (lohnabrechnung-vorlage)

### Download Pages

- **download_zeiterfassung.php:** H1, body, FAQ (Zeiterfassung 202X, Gesetzesentwurf 202X)
- **download_trinkgeld.php:** Mindestlohn value, date (seit 01.01.20XX)

### Full Guide

See [docs/guides/resources/RESOURCES_RECURRING_AUDIT.md](../resources/RESOURCES_RECURRING_AUDIT.md) for complete checklist and affected files.

## Related Documentation

- **Labor law values:** `docs/content/LABOR_LAW_VALUES_2026.md` (single source of truth for Mindestlohn, Minijob-Grenze)
- **Resources recurring audit:** `docs/guides/resources/RESOURCES_RECURRING_AUDIT.md`
- **Date management:** `.cursor/rules/date-management.mdc`
- **Index pages cursor rule:** `.cursor/rules/index-pages-annual-update.mdc`
