Files
buchhaltung/NEBENKOSTEN_IMPLEMENTATION.md
2026-04-26 07:51:39 +02:00

112 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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