4.6 KiB
4.6 KiB
Nebenkostenabrechnung - Status Dokumentation
Datum: 21.04.2026
Status: ✅ VOLLSTÄNDIG IMPLEMENTIERT & DEPLOYED
✅ IMPLEMENTIERT
Backend (nebenkosten.js)
- ✅ Objekte-CRUD (GET, POST, PUT, DELETE /api/objekte)
- ✅ Mieter-CRUD (GET, POST, PUT, DELETE /api/mieter)
- ✅ Mietvertraege-CRUD (GET, POST, PUT, DELETE /api/mietvertraege)
- ✅ Objektkosten-CRUD (GET, POST, PUT, DELETE /api/objektkosten)
- ✅ Vorauszahlungen-CRUD (GET, POST, PUT, DELETE /api/vorauszahlungen)
- ✅ Vorauszahlungen Bulk-Erstellung (POST /api/vorauszahlungen/bulk)
- ✅ Nebenkostenabrechnung Übersicht (GET /api/nebenkostenabrechnung/uebersicht)
- ✅ Nebenkostenabrechnung Vorschau (POST /api/nebenkostenabrechnung/vorschau)
- ✅ Nebenkostenabrechnung speichern (POST /api/nebenkostenabrechnung)
- ✅ Alle Abrechnungen abrufen (GET /api/nebenkostenabrechnung)
- ✅ Einzelne Abrechnung mit Positionen (GET /api/nebenkostenabrechnung/:id)
- ✅ Status aktualisieren (PUT /api/nebenkostenabrechnung/:id/status)
- ✅ PDF Export (POST /api/nebenkostenabrechnung/:id/pdf)
Datenbank-Tabellen
Alle erforderlichen Tabellen werden automatisch erstellt:
- ✅
objekte - ✅
mieter - ✅
mietvertraege - ✅
objektkosten - ✅
vorauszahlungen - ✅
nebenkostenabrechnungen - ✅
abrechnungspositionen
Frontend
- ✅ Objekte.jsx - Komplette Objektverwaltung
- ✅ Mieter.jsx - Komplette Mieterverwaltung
- ✅ Nebenkostenabrechnung.jsx - Abrechnung erstellen & Berechnung
- ✅ api-nebenkosten.js - Alle API-Calls mit Zusatzfunktionen
- ✅ App.jsx - Routing eingebunden (Objekte, Mieter, NK-Abrechnung)
Berechnungslogik
- ✅ Pro-rata Verteilung der Kosten nach Wohnfläche
- ✅ Vorauszahlungen werden verrechnet
- ✅ Nachzahlung/Gutschrift automatisch berechnet
- ✅ PDF-Generation mit Entwurf/Final-Modus
Deployment
- ✅ Backend Container erfolgreich neu gebaut
- ✅ Neue Tabellen werden automatisch erstellt
- ✅ Alle Routen aktiv
📦 VERFÜGBARE ENDPUNKTE
| Endpunkt | Methode | Beschreibung |
|---|---|---|
| /api/objekte | GET/POST | Alle Objekte / Neues Objekt |
| /api/objekte/:id | PUT/DELETE | Objekt aktualisieren/löschen |
| /api/mieter | GET/POST | Alle Mieter / Neuer Mieter |
| /api/mieter/:id | PUT/DELETE | Mieter aktualisieren/löschen |
| /api/mietvertraege | GET/POST | Mietverträge |
| /api/mietvertraege/:id | PUT/DELETE | Mietvertrag aktualisieren/löschen |
| /api/objektkosten | GET/POST | Kosten |
| /api/objektkosten/:id | PUT/DELETE | Kosten aktualisieren/löschen |
| /api/vorauszahlungen | GET/POST | Vorauszahlungen |
| /api/vorauszahlungen/bulk | POST | 12 Monate auf einmal erstellen |
| /api/nebenkostenabrechnung/vorschau | POST | Berechnung durchführen |
| /api/nebenkostenabrechnung | GET/POST | Abrechnungen abrufen/speichern |
| /api/nebenkostenabrechnung/:id/pdf | POST | PDF erstellen |
🧪 TEST-ANLEITUNG
Test 1: Objekt anlegen
- Frontend öffnen:
http://192.168.0.55:3000 - Tab "Objekte" auswählen
- "Neues Objekt" klicken
- Daten eingeben:
- Name: "Test Wohnung"
- Adresse: "Musterstraße 1"
- PLZ: "25554"
- Ort: "Wilster"
- Wohnfläche: "85"
- "Speichern" klicken
Test 2: Mieter anlegen
- Tab "Mieter" auswählen
- "Neuer Mieter" klicken
- Daten eingeben:
- Name: "Max Mustermann"
- E-Mail: "max@test.de"
- "Speichern"
Test 3: Abrechnung erstellen
- Tab "NK-Abrechnung" auswählen
- Objekt auswählen
- Jahr eingeben (z.B. 2026)
- "Abrechnung berechnen" klicken
- Ergebnis sollte leer sein (noch keine Kosten)
- "Als Entwurf speichern"
Test 4: Kosten hinzufügen
Kann über Backend/API erfolgen:
# Beispiel via curl (von Container aus)
curl -X POST http://localhost:3001/api/objektkosten \
-H "Content-Type: application/json" \
-d '{"objekt_id": "<OBJEKT_ID>", "kategorie": "Heizkosten", "bezeichnung": "Gas 2026", "betrag": 1200, "jahr": 2026}'
📁 DATEIEN
Backend
backend/routes/nebenkosten.js- Alle API-Routen (600+ Zeilen)backend/server.js- InitDatabase erweitert
Frontend
frontend/src/components/nebenkosten/Objekte.jsxfrontend/src/components/nebenkosten/Mieter.jsxfrontend/src/components/nebenkosten/Nebenkostenabrechnung.jsxfrontend/src/api-nebenkosten.jsfrontend/src/App.jsx- Navigation erweitert
Dokumentation
NEBENKOSTEN_STATUS.md- Diese Datei
🚀 DEPLOYMENT STATUS
✅ Container gebaut: buchhaltungs-app-backend:latest
✅ Container gestartet: buchhaltung-backend
✅ Datenbank-Tabellen initialisiert
✅ Backend läuft auf Port 3001
System ist betriebsbereit!