Initial commit - Stand 26.04.2026

This commit is contained in:
OpenClaw
2026-04-26 07:51:39 +02:00
commit b29c467187
186 changed files with 39281 additions and 0 deletions
+111
View File
@@ -0,0 +1,111 @@
# Nebenkostenabrechnung - Implementation Complete
## Erstellte Dateien
### Datenbank (Migrationen)
1. `backend/database/migrations/001_nebenkostenabrechnung.sql`
- Tabellen: objekte, mieter, mietvertraege, objektkosten, vorauszahlungen, nebenkostenabrechnungen, abrechnungspositionen
- Indizes und Trigger
2. `backend/database/migrations/002_nebenkosten_beispieldaten.sql`
- 3 Beispiel-Objekte: Wilster, Segeberg, Zingelstraße 14
- 5 Beispiel-Mieter
- 3 Mietverträge
- Beispielkosten und Vorauszahlungen für 2024
### Backend
3. `backend/routes/nebenkosten.js`
- API-Endpunkte für alle CRUD-Operationen
- Berechnungslogik für Abrechnungen
- PDF-Export mit Entwurf-Wasserzeichen
### Frontend
4. `frontend/src/api-nebenkosten.js`
- API-Client für Objekte, Mieter, Abrechnungen
5. `frontend/src/components/nebenkosten/Objekte.jsx`
- Objekt-Verwaltung mit Formular
- CRUD-Operationen
6. `frontend/src/components/nebenkosten/Mieter.jsx`
- Mieter-Verwaltung
7. `frontend/src/components/nebenkosten/Nebenkostenabrechnung.jsx`
- Abrechnungs-Erstellung
- Vorschau mit Berechnungen
- PDF-Download
### Integration
8. `backend/server.js` (modifiziert)
- Import: `const nebenkostenRoutes = require('./routes/nebenkosten');`
- Routes: `nebenkostenRoutes(app);`
9. `frontend/src/App.jsx` (modifiziert)
- Neue Tabs: "Objekte", "Mieter", "NK-Abrechnung"
- Import der neuen Komponenten
## Features
### Objekt-Verwaltung
- Name, Adresse, PLZ, Ort, Wohnfläche, Bemerkung
- CRUD: Anlegen, Bearbeiten, Löschen
### Mieter-Verwaltung
- Name, E-Mail, Telefon, Adresse
- CRUD: Anlegen, Bearbeiten, Löschen
### Mietverträge (implizit in API)
- Mieter-Zuordnung zu Objekt
- Wohnfläche, Kaltmiete, Vorauszahlung
- Vertragsbeginn/-ende
### Kosten pro Objekt
- Kategorien: Grundsteuer, Heizung, Wohngeld, Handwerker, Wasser, Müll, Versicherung, Sonstiges
- Verteilung nach qm/Personen/Zählern
- CRUD über API
### Vorauszahlungen
- Monatliche Vorauszahlungen pro Mieter
- Bulk-Erstellung für ganze Jahr
### Abrechnung
- Flexibler Zeitraum (Standard: 1.1. - 31.12.)
- Pro-rata-Berechnung möglich
- Berechnung: (Gesamtkosten / Gesamtfläche) × Mieterfläche
- Abzug: Summe Vorauszahlungen
- Ergebnis: Nachzahlung oder Gutschrift
### PDF Export
- Firmenlogo und Daten (Täger IT)
- Übersicht aller Kosten
- Berechnung pro Mieter
- Entwurf-Modus mit Wasserzeichen
## Verwendung
1. **Datenbank-Migrationen ausführen:**
```bash
docker-compose exec db psql -U postgres -d buchhaltung -f /migrations/001_nebenkostenabrechnung.sql
docker-compose exec db psql -U postgres -d buchhaltung -f /migrations/002_nebenkosten_beispieldaten.sql
```
2. **Frontend neu bauen:**
```bash
cd frontend && npm run build
```
3. **Backend neu starten:**
```bash
docker-compose restart backend
```
## Navigation
- **Objekte**: Immobilien/Objekte verwalten
- **Mieter**: Mieter verwalten
- **NK-Abrechnung**: Neue Abrechnung erstellen, Vorschau berechnen, PDF exportieren
## Architektur
- Objekte haben Mieter über Mietverträge
- Kosten werden Objekten zugeordnet
- Vorauszahlungen sind Mieter + Objekt + Jahr + Monat
- Abrechnungen erstellen Positionen pro Mieter