# 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 1. **Frontend öffnen:** `http://192.168.0.55:3000` 2. **Tab "Objekte" auswählen** 3. **"Neues Objekt" klicken** 4. Daten eingeben: - Name: "Test Wohnung" - Adresse: "Musterstraße 1" - PLZ: "25554" - Ort: "Wilster" - Wohnfläche: "85" 5. **"Speichern" klicken** ### Test 2: Mieter anlegen 1. **Tab "Mieter" auswählen** 2. **"Neuer Mieter" klicken** 3. Daten eingeben: - Name: "Max Mustermann" - E-Mail: "max@test.de" 4. **"Speichern"** ### Test 3: Abrechnung erstellen 1. **Tab "NK-Abrechnung" auswählen** 2. Objekt auswählen 3. Jahr eingeben (z.B. 2026) 4. **"Abrechnung berechnen" klicken** 5. Ergebnis sollte leer sein (noch keine Kosten) 6. **"Als Entwurf speichern"** ### Test 4: Kosten hinzufügen Kann über Backend/API erfolgen: ```bash # Beispiel via curl (von Container aus) curl -X POST http://localhost:3001/api/objektkosten \ -H "Content-Type: application/json" \ -d '{"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.jsx` - `frontend/src/components/nebenkosten/Mieter.jsx` - `frontend/src/components/nebenkosten/Nebenkostenabrechnung.jsx` - `frontend/src/api-nebenkosten.js` - `frontend/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!**