Der vollständige Zustandsraum
Der Instandsetzungs-Sub-Workflow modelliert acht Zustände entlang der typischen Reparatur-Wertschöpfungskette. Master-Bindung ist die Objekt-Anfragen-Tabelle — nicht die Vermietung, weil eine Reparatur auch ohne aktiven Mietvertrag stattfinden kann (Leerstand, Wechsel zwischen Mietern). Migration M239 verankert das Schema, M248 erweitert um den Magic-Link-Mechanismus für die Eigentümer-Freigabe. Zentrale Guards: Kostenvoranschlag liegt vor für eigentuemer_freigabe_anfordern, Freigabe dokumentiert ODER Bagatell-Grenze für handwerker_beauftragen, Rechnung liegt vor und ist OCR-validiert für abschliessen:
stateDiagram-v2
direction LR
[*] --> anfrage_erfasst
anfrage_erfasst --> kostenvoranschlag_angefordert : kostenvoranschlag_anfordern
kostenvoranschlag_angefordert --> kostenvoranschlag_versendet : kostenvoranschlag_eingegangen
kostenvoranschlag_versendet --> eigentuemer_freigabe_pending : freigabe_anfordern<br/>[> Bagatell-Grenze]
kostenvoranschlag_versendet --> freigegeben : auto_freigeben<br/>[≤ Bagatell-Grenze]
eigentuemer_freigabe_pending --> freigegeben : freigabe_erteilt<br/>[Magic-Link-Klick]
eigentuemer_freigabe_pending --> abgelehnt : freigabe_abgelehnt
freigegeben --> handwerker_beauftragt : handwerker_beauftragen
handwerker_beauftragt --> arbeit_abgeschlossen : arbeit_abschliessen
arbeit_abgeschlossen --> rechnung_eingegangen : rechnung_erfassen
rechnung_eingegangen --> abgeschlossen : abschliessen<br/>[OCR validiert]
anfrage_erfasst --> abgebrochen : abbrechen
abgelehnt --> abgebrochen : workflow_beenden
abgeschlossen --> [*]
abgebrochen --> [*]Die zwei Pfade aus kostenvoranschlag_versendet heraus sind interessant: Bei Kosten oberhalb der Bagatell-Grenze ist die Eigentümer-Freigabe Pflicht. Darunter erlaubt der Workflow den Direkt-Übergang in freigegeben mit einem Vermerk „Bagatell-Grenze, keine Freigabe nötig“ — dieser Vermerk steht im Audit-Trail und ist später nachweisbar, falls der Eigentümer fragt.
Beispiel: Heizungsdefekt Lindenstraße 12, Wohnung 2A
Im Februar meldet Mieterin Frau M. einen Heizungsausfall. Außentemperatur −3 °C, also dringlich. Hausmeister geht raus, prüft, stellt den Defekt fest: Pumpe defekt, Austausch nötig.
sequenceDiagram
autonumber
participant MI as Mieterin
participant HM as Hausmeister
participant S as ImmoGenio
participant HW as Handwerker
participant EI as Eigentümer Frau S.
participant OCR as OCR-Service
participant SKR as SKR03-Buchhaltung
MI->>HM: Heizung kalt seit gestern
HM->>S: Anfrage erfassen (Foto, Beschreibung, Dringlichkeit hoch)
S-->>HM: Workflow gestartet, "anfrage_erfasst"
HM->>S: "kostenvoranschlag_anfordern" an Heizungs-Fritz
HW->>S: Kostenvoranschlag 1.850 € (Pumpe + Arbeit)
S-->>HM: Zustand "kostenvoranschlag_versendet"
Note over S: Bagatell-Grenze 500 € — Freigabe nötig
S->>EI: E-Mail mit Magic-Link "Heizung Lindenstr. 12, 1.850 €"
EI->>S: Klick auf Magic-Link
S-->>EI: Freigabe-Seite mit Foto, KV-PDF
EI->>S: "Freigabe erteilen" (16:42 Uhr)
S->>S: Audit-Trail: Freigabe Eigentümer Frau S., IP 84.x.x.x
S-->>HM: Zustand "freigegeben"
HM->>S: "handwerker_beauftragen"
HW->>HW: Arbeit am nächsten Tag
HW->>S: "arbeit_abgeschlossen"
HW->>S: Rechnung 1.847,50 € (3 Cent Differenz)
S->>OCR: PDF parsen
OCR-->>S: Betrag, USt, Datum extrahiert
S->>S: SKR03 Konto 4805 (Instandh. Heizung) vorschlagen
HM->>S: Freigeben und "abschliessen"
S->>SKR: Buchung scharf
S-->>HM: Workflow "abgeschlossen"Vom Schadensreport bis zur Auftragsvergabe — knapp 18 Stunden. Frau M. hat am übernächsten Morgen wieder eine warme Wohnung. Die Eigentümerin Frau S. hat eine vollständig dokumentierte Freigabe-Entscheidung im Audit-Trail.
Technisch erzwungene Compliance
Der Verwalter ist treuhänderisch für den Eigentümer tätig. Größere Reparaturen ohne Einverständnis des Eigentümers sind eine Pflichtverletzung — der Eigentümer kann verlangen, dass der Verwalter die Kosten selbst trägt. In der klassischen Verwaltung passiert das oft genug: Der Hausmeister beauftragt aus Zeitdruck, der Verwalter winkt die Rechnung später durch, der Eigentümer wundert sich bei der Jahresabrechnung. Streit ist programmiert.
ImmoGenio macht den Ablauf rechtssicher: Bei jeder Reparatur oberhalb der Bagatell-Grenze ist die Freigabe technisch erzwungen. Der Verwalter sieht im Workflow den aktuellen Stand, der Eigentümer entscheidet selbst, der Audit-Trail dokumentiert alles. Selbst bei Gefahr im Verzug (Wasserschaden, Heizungsausfall im Winter) gibt es einen dokumentierten Eskalations-Pfad mit Begründung — keine „graue Zone“.
Magic-Link als UX-Schlüssel
Die Eigentümer-Freigabe ist nur dann ein Beschleuniger, wenn sie für den Eigentümer keine Hürde darstellt. Ein Login mit Passwort, eine App-Installation, eine 2-Faktor-Authentifizierung — jeder dieser Schritte führt dazu, dass der Eigentümer die Freigabe auf später vertagt. Erfahrungswerte aus der Praxis: 60 % der per Portal angeforderten Freigaben hängen 5+ Tage in der Warteschlange.
Der Magic-Link verkürzt das auf 60 Sekunden. Der Eigentümer bekommt eine E-Mail, klickt einmal, sieht Foto und Kostenvoranschlag, klickt ein zweites Mal zur Entscheidung. Der Link ist signiert (HMAC mit Server-Secret), zeitlich befristet auf 7 Tage und kann nicht nach erfolgter Entscheidung erneut verwendet werden — keine Doppel-Freigaben.
SKR03-Buchung im Sub-Workflow
Beim Übergang in abgeschlossen wird die Eingangsrechnung als Buchung scharf geschaltet. Der Workflow kennt die Anfrage-Kategorie und schlägt das passende Konto vor:
- Heizung → 4805 (Instandh. Heizung)
- Sanitär → 4810 (Instandh. Sanitär)
- Elektro → 4815 (Instandh. Elektro)
- Dach/Fassade → 4825 (Instandh. Gebäudehülle)
Bei WEG-Verwaltung wird zusätzlich die Verbindung zur Instandhaltungsrücklage hergestellt — falls die Reparatur aus der Rücklage finanziert wird, ist der Bezug zum Beschluss (etwa ETV-Beschluss zur Verwendung der Rücklage) im Audit-Trail dokumentiert. Damit ist die Verwendung der Rücklage transparent und beim Wirtschaftsplan-Genehmigungs-Workflow direkt nachvollziehbar.