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

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

  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:
  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:

# 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.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!