# Vorhaben vs. Projekt – der Unterschied

## Kurz gesagt

- **Vorhaben** = das Gebäude/die Örtlichkeit als Ganzes (Adresse + Eigentümer).
- **Projekt** = ein einzelner, zusammenhängender Auftragsfall an diesem Gebäude, mit seiner eigenen Beleg-Kette (Aufmaß → Angebot(e) → Auftrag → Rechnung).

Ein Vorhaben kann **mehrere** Projekte enthalten. Ein Projekt gehört immer zu **genau einem** Vorhaben.

## Warum diese Trennung wichtig ist

Im Handwerksalltag ist "Projekt" der Begriff, den man für den konkreten Auftragsfall benutzt ("das Projekt Terrassendach bei Müller"), während sich mehrere solcher Fälle am selben Haus über Jahre ansammeln können. Diese Trennung wurde bewusst eingeführt: Früher hieß das Gebäude-Modell selbst "Projekt", was im Alltag zu Verwechslungen führte – daher die Umbenennung zu "Vorhaben" für das Gebäude und "Projekt" (vormals "Vorgang") für den einzelnen Auftragsfall.

## Konkretes Beispiel

**Familie Müller, Musterstraße 5** wird als **Vorhaben** angelegt: Eigentümer = Herr und Frau Müller, Adresse = Musterstraße 5, Vorhabentyp = Einfamilienhaus, Sachbearbeiter = Julia (die sich generell um die Kommunikation mit den Müllers kümmert).

Im Frühjahr beauftragt Familie Müller ein Terrassendach. Dafür wird das **Projekt "Terrassendach"** angelegt (innerhalb des Vorhabens "Familie Müller"): ein Aufmaß, daraus ein Angebot, nach Zusage ein Auftrag, am Ende eine Rechnung. Projektleiter ist z. B. Thomas, der die Montage vor Ort fachlich verantwortet.

Im Herbst wollen die Müllers zusätzlich das Bad sanieren. Statt alles ins bestehende Terrassendach-Projekt zu mischen, wird dafür ein **zweites, unabhängiges Projekt "Badsanierung"** im selben Vorhaben angelegt – mit eigenem Aufmaß, eigenem Angebot, eigenem Auftrag, eigener Rechnung, eventuell sogar mit einem anderen Projektleiter. Beide Projekte laufen unter demselben Vorhaben "Familie Müller", teilen sich also Adresse, Dokumentenablage und die generelle Kundenbeziehung, haben aber getrennte Beleg-Ketten, getrennte Nummernkreise (Projektnummer mit Präfix **PR-**) und getrennten Status.

## Sachbearbeiter vs. Projektleiter

Dies ist einer der häufigsten Verwechslungspunkte:

- **Sachbearbeiter** (`Vorhaben.sachbearbeiterId`) ist die Ansprechperson im eigenen Betrieb für das **gesamte Vorhaben** – zuständig für Verwaltung und Angebotsphase über alle Projekte hinweg.
- **Projektleiter** (`Projekt.projektleiterId`) ist die fachliche Leitung der **Ausführung eines einzelnen Projekts** – z. B. wer die Baustelle vor Ort verantwortet.

Beide Felder können, müssen aber nicht dieselbe Person sein. Bei beiden stehen im Auswahlfeld nur Büro-Rollen zur Verfügung, keine App-Nutzer (Monteure).

## Wie ein Projekt entsteht

Ein Projekt kann auf zwei Wegen entstehen:

1. **Automatisch** – wenn Sie über den Dialog **Neues Projekt** direkt Kontakt + Adresse angeben (ohne vorher manuell ein Vorhaben anzulegen). Das Backend gleicht Kontakt und Adresse ab: Existiert bereits ein passendes Vorhaben, wird das Projekt dort eingehängt; existiert keins, wird im Hintergrund automatisch ein neues Vorhaben mitangelegt. Der Dialog erklärt das direkt: "Das passende Vorhaben wird über Kontakt und Adresse automatisch gefunden oder im Hintergrund neu angelegt."
2. **Explizit im Vorhaben** – von der Vorhaben-Detailseite aus über den Button **"+ Projekt"**, oder indem ein loser Beleg (Aufmaß/Angebot/Auftrag/Rechnung) über "+ Neuen Projekt daraus anlegen…" zum Startpunkt eines neuen Projekts gemacht wird.

Beim Anlegen eines Projekts lässt sich zusätzlich festlegen, **womit gestartet** wird: Aufmaß, Angebot, Auftrag oder "Ohne Beleg" – der jeweilige erste Beleg wird direkt im Anschluss zum Ausfüllen geöffnet.

## Wie sich der Projekt-Status automatisch ergibt

Ein Projekt hat **kein** gespeichertes Statusfeld. Der Status/die Phase wird bei jedem Laden live aus der tatsächlichen Beleg-Kette abgeleitet – Logik in `erpanda-backend/src/common/projekt/projekt-phase.ts`, Funktion `leiteProjektPhaseAb()`. Das garantiert, dass die Anzeige nie veraltet oder inkonsistent zum echten Zustand der Belege ist. Es gibt sechs Phasen mit jeweils einer Ampelfarbe:

| Phase | Bedeutung | Farbe |
|---|---|---|
| Anfrage | Noch nichts erfasst | grau |
| Aufmaß | Aufmaß vorhanden, noch kein Angebot | gelb |
| Angebot | Aktives Angebot vorhanden | gelb, rot wenn älter als 4 Wochen & nicht angenommen |
| Auftrag | Auftrag vorhanden, noch nicht angenommen | orange, rot wenn älter als 4 Wochen |
| Montage | Auftrag angenommen | orange bis Bedarf generiert/Bestellung freigegeben, dann grün – rot ohne aktuelle Termine |
| Abrechnung | Rechnung(en) vorhanden, noch nicht komplett bezahlt | orange, rot bei unbezahlter Schlussrechnung älter als 4 Wochen |
| Fertig | Schlussrechnung geschrieben und alles bezahlt | grün |

Auf der Vorhaben-Übersicht wird dieser Verlauf als Segment-Balken (6 Segmente) je Projekt dargestellt.

### Manuelle Überschreibung

Manchmal passt keine automatische Ableitung mehr, z. B. wenn ein Angebot endgültig gescheitert ist. Dafür gibt es auf der Projekt-Detailseite die Möglichkeit, einen **manuellen Status** zu setzen:

- **Verloren** – färbt alle sechs Phasen-Segmente rot.
- **Ignorieren** – blendet die automatische Ableitung aus (alternierendes grau/rot-Muster), z. B. für Projekte, die pausiert oder nicht weiterverfolgt werden.

Ein gesetzter manueller Status überschreibt die automatische Ableitung vollständig, bis er wieder entfernt wird.