112 lines
3.2 KiB
Markdown
112 lines
3.2 KiB
Markdown
# 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
|