# Verwaltungsverfahren und Abläufe

> **Status:** Aus Systemcode, Celery-Tasks und App-Struktur abgeleitet.
> Punkte mit [TODO] sind manuell zu ergänzen.

---

## 1. Antragsprozess für Förderungen

### 1.1 Erstaufnahme eines Destinatärs
1. Destinatär-Datensatz anlegen (Django Admin oder Weboberfläche `/destinataere/`)
2. Pflichtfelder ausfüllen:
   - Name, Geburtsdatum, E-Mail, Telefon
   - Familienzweig
   - `ist_abkoemmling` setzen
   - Haushaltsgröße, monatliche Bezüge, Vermögen
3. Prüfung Fördervoraussetzungen (automatisch via `erfuellt_voraussetzungen()`)
4. `unterstuetzung_bestaetigt` setzen wenn Voraussetzungen erfüllt
5. Vierteljährlichen Betrag festlegen
6. Standard-Auszahlungskonto zuordnen

### 1.2 Einzel-Förderungsantrag
1. Förderung anlegen unter `/foerderungen/`
2. Status beginnt mit `beantragt`
3. Prüfung durch Rentmeister
4. Entscheidung: `genehmigt` oder `abgelehnt`
5. Nach Auszahlung: Status auf `ausgezahlt` setzen
6. Verwendungsnachweis als Dokument in Paperless hochladen und verknüpfen

---

## 2. Vierteljährliches Nachweisverfahren

### 2.1 Ablauf
1. Zu Beginn jedes Quartals: VierteljahresNachweis-Datensätze für alle aktiven Destinatäre erstellen
2. Destinatäre werden benachrichtigt (per E-Mail, [TODO: Benachrichtigungsvorlage?])
3. Destinatäre reichen Unterlagen ein:
   - Per E-Mail an paperless@vhtv-stiftung.de (automatisch erfasst)
   - Oder direkt über das Self-Service-Portal (sofern eingerichtet)
4. Rentmeister prüft eingegangene Unterlagen
5. Status aktualisieren: `eingereicht` → `geprueft`
6. Zahlung freigeben wenn Nachweis genehmigt

### 2.2 Fristen (Überblick)
- **Studiennachweis:** 15. März (Q1/Q2) bzw. 15. September (Q3/Q4)
- **Zahlung:** 15. Dez. Vorjahr (Q1), 15. März (Q2), 15. Juni (Q3), 15. September (Q4)

### 2.3 Automatische Freigabe
Bei Destinatären mit Semesterbasis-Studiennachweis kann eine automatische Freigabe erfolgen (`auto_geprueft`).

---

## 3. E-Mail-Eingangsverarbeitung (Automatisiert)

### 3.1 Übersicht
Das System verarbeitet automatisch eingehende E-Mails an `paperless@vhtv-stiftung.de`.

**Technologie:** Celery Beat Task, läuft alle 15 Minuten

### 3.2 Konfiguration
| Env-Variable | Standard | Bedeutung |
|---|---|---|
| `IMAP_HOST` | – | IMAP-Server (Pflicht) |
| `IMAP_PORT` | 993 | IMAP-Port (SSL) |
| `IMAP_USER` | paperless@vhtv-stiftung.de | Benutzername |
| `IMAP_PASSWORD` | – | Passwort (Pflicht) |
| `IMAP_FOLDER` | INBOX | E-Mail-Ordner |
| `IMAP_USE_SSL` | true | SSL verwenden |

### 3.3 Workflow
1. System liest ungelesene E-Mails aus dem IMAP-Postfach
2. Absender-E-Mail wird mit Destinatär-Datenbank abgeglichen
3. `DestinataerEmailEingang`-Datensatz wird angelegt
4. Anhänge werden in **Paperless-NGX** hochgeladen mit Tag `Stiftung_Destinatäre`
5. Für jeden Anhang wird ein `DokumentLink` erstellt
6. Unbekannte Absender werden als `unbekannt` markiert (manuelle Nachbearbeitung nötig)

### 3.4 Paperless-Tags
| Tag | Verwendung |
|---|---|
| `Stiftung_Destinatäre` | Dokumente von/für Destinatäre |
| `Stiftung_Land_und_Pächter` | Dokumente zu Ländereien/Pächtern |
| `Stiftung_Administration` | Verwaltungsdokumente |

---

## 4. Pachtvertragsverwaltung

### 4.1 Datenstruktur
- **Land** (Flurstück): Grundeinheit, identifiziert durch `lfd_nr`
- **LandVerpachtung**: Pachtvertrag (neue Struktur)
- **LandAbrechnung**: Jährliche Abrechnung je Flurstück

### 4.2 Anlage eines Pachtvertrags
1. Land-Datensatz prüfen/anlegen (`/land/`)
2. Pächter anlegen (`/paechter/`) falls nicht vorhanden
3. LandVerpachtung anlegen (`/land/<id>/verpachtung/`)
   - Vertragsnummer vergeben
   - Pachtbeginn, Pachtende, Verlängerungsklausel
   - Pachtzins (pro ha oder pauschal)
   - Zahlungsweise
   - USt-Option und Umlagen konfigurieren
4. System aktualisiert LandAbrechnung automatisch

### 4.3 Pachtzins-Zahlungsweisen
| Option | Beschreibung |
|---|---|
| `jaehrlich` | Einmal jährlich |
| `halbjaehrlich` | Zweimal jährlich |
| `vierteljaehrlich` | Quartalsweise |
| `monatlich` | Monatlich |

### 4.4 Umlagen (Durchreichungen an Pächter)
Folgende Kosten können als Umlage auf Pächter umgelegt werden:
- Grundsteuer
- Versicherungen
- Verbandsbeiträge
- Jagdpachtanteile (optional)

---

## 5. Abrechnungsverfahren für Ländereien (LandAbrechnung)

### 5.1 Jährliche Abrechnung
- Pro Flurstück wird automatisch eine `LandAbrechnung` für jedes Abrechnungsjahr erstellt
- Felder: Pacht vereinnahmt, Umlagen, sonstige Einnahmen
- Ausgaben: nach Kategorien (Grundsteuer, Versicherung, Verwaltung etc.)
- USt-Berechnung wenn USt-Option aktiv

### 5.2 Dokumentenablage
Relevante Dokumente (Pachtverträge, Grundsteuerbescheide, Versicherungsnachweise) werden in **Paperless-NGX** abgelegt und per `DokumentLink` verknüpft.

---

## 6. Backup-Verfahren

### 6.1 Backup-Typen
| Typ | Inhalt |
|---|---|
| `full` | Datenbank + Dateien |
| `database` | Nur PostgreSQL-Datenbank |
| `files` | Nur Mediendateien |

### 6.2 Ablauf
1. Backup-Job über Weboberfläche anlegen (`/backup/`)
2. System erstellt Backup asynchron im Hintergrund
3. Backup wird als `.tar.gz` unter `/app/backups/` gespeichert
4. Status: `pending` → `running` → `completed` / `failed`

### 6.3 Speicherort
- **Container:** `/app/backups/`
- **Dateiname:** `stiftung_backup_YYYYMMDD_HHMMSS.tar.gz`

---

## 7. Verwaltungskosten-Erfassung

Verwaltungskosten werden kategorisiert erfasst:
- Bezeichnung, Kategorie, Betrag, Datum
- Lieferant/Firma, Rechnungsnummer
- Zuordnung zu Rentmeister (für Fahrtkosten etc.)
- Kilometerpauschale: Standard 0,30 €/km

---

## 8. Audit Trail

Alle Änderungen in der Anwendung werden im `AuditLog` erfasst:
- Benutzer, Zeitstempel, Aktion
- Entitätstyp, ID, Name
- Änderungsdetails (JSON)
- IP-Adresse, Browser

---

*Zuletzt aktualisiert: 2026-03 | Quelle: Systemcode tasks.py, models.py, backup_utils.py*
