- REST API: 9 Read-Only-Endpunkte unter /api/v1/ für alle Kernmodelle (Destinatäre, Ländereien, Pächter, Förderungen, Konten, Verpachtungen, Verwaltungskosten, Kalender, Transaktionen) - Token-Authentifizierung via DRF TokenAuthentication - Management-Command `create_agent_token` für Agent-Tokens - Wissensbasis: knowledge/ mit Satzung, Richtlinien, Verfahren, Kontakte, Historie - Agent-Instructions: Datenzugriff-Sektion in AGENTS.md dokumentiert Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
177 lines
5.7 KiB
Markdown
177 lines
5.7 KiB
Markdown
# 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*
|