Der vollständige Zustandsraum
Der Mahnwesen-Sub-Workflow modelliert sieben Zustände — fünf Eskalationsstufen plus zwei Terminal-Pfade. Migration M237 verankert das Schema, M231 hatte den Banking-Sync-Trigger als Side-Effect-Mechanismus eingeführt. Die zentralen Übergänge sind nicht klassisch guard-getrieben, sondern timer- und event-getrieben: Timer für die Eskalationskaskade, Banking-Webhook für den Storno-Pfad:
Der teilzahlung-Übergang ist subtil: Kommt eine teilweise Zahlung an (etwa der Mieter zahlt die Hauptforderung, vergisst aber die Verzugszinsen), bleibt der Workflow nicht stehen — er wechselt eine Stufe zurück und passt den offenen Restbetrag an. Damit gehen Verzugszinsen nicht verloren, das Mahnverfahren läuft mit dem Restbetrag weiter.
Beispiel: Mieter Herr K., Hamburger Wohnung, März-Miete 850 €
Herr K. zahlt seit Januar regelmäßig per SEPA-Lastschrift. Im März kommt der Einzug zurück — Konto nicht gedeckt. Der Banking-Sync erkennt den Rücklauf am 5. März, der Workflow startet automatisch.
In diesem Fall hat der Verwalter den Restbetrag erlassen — gut für die Mieterbeziehung, dokumentiert im Audit-Trail. Bei einem hartnäckigen Zahlungsverweigerer wäre der Workflow durch Stufe 2 und 3 gelaufen und hätte am Ende den Inkasso-Sub-Workflow gestartet.
Technisch erzwungene Compliance
Verzugszinsen müssen rechnerisch korrekt sein. Ein Verwalter, der die Verzugszinsen schätzt oder pauschal mit 5 % rechnet (statt mit aktuellem Basiszinssatz + 5 Punkte), riskiert eine angreifbare Forderung — der Mieter kann argumentieren, der Verzugszins sei falsch berechnet, daher sei die Mahnung unwirksam.
ImmoGenio berechnet tagesgenau mit dem aktuellen Basiszinssatz (halbjährliche Anpassung durch die Deutsche Bundesbank). Die Berechnungsformel ist im Audit-Trail nachvollziehbar — Hauptforderung × Zinssatz × Verzugstage / 365. Bei Teilzahlungen werden die Zinsen proportional neu berechnet, weil sich der Verzugszeitraum verkürzt.
Ebenso wichtig: Die Mahnung muss formell korrekt sein. § 286 BGB verlangt eine Mahnung (mit Ausnahmen bei kalendarisch bestimmter Fälligkeit nach § 286 Abs. 2 Nr. 1 BGB, was bei Mietzahlungen meist erfüllt ist). Der Brief-Editor generiert die Schreiben aus geprüften Vorlagen mit korrekter Formulierung — der Verwalter muss nicht selbst formulieren.
Edge-Case: Mieter zahlt während laufender Mahnstufe
Banking-Sync ist der Schlüssel zur Workflow-Integrität. Sobald ein Mieteingang verbucht wird, prüft die Engine: Ist die Forderung vollständig getilgt? Falls ja → Storno. Falls nein → Zins-Anpassung und ggf. Rückfall in eine niedrigere Mahnstufe. Der Workflow darf nicht still schlucken — wenn der Banking-Sync einen Fehler hat (etwa ein nicht zuordenbarer Eingang ohne Verwendungszweck), wird dieser im Forderungs-Cockpit angezeigt, sodass der Verwalter manuell zuordnen kann. Ein „verschollener” Eingang, der zu einer unberechtigten Stufe-3-Mahnung führt, ist im Workflow nicht möglich.
Parallele Workflows: Kündigung wegen Zahlungsverzug
Bei zwei aufeinanderfolgenden Monatsmieten Rückstand greift § 543 Abs. 2 Nr. 3 BGB — fristlose Kündigung wegen Zahlungsverzug. Diese läuft als eigener Sub-Workflow im Master „vermietung” parallel zum Mahnwesen. Beide Workflows kennen voneinander: Wenn das Mahnwesen in „inkasso_uebergeben” wechselt, sieht der Kündigungs-Workflow den Status und kann darauf reagieren. Zahlt der Mieter alle Rückstände innerhalb der Schonfrist nach § 569 Abs. 3 Nr. 2 BGB (2 Monate nach Räumungsklage-Zustellung), wechselt nicht nur der Mahnwesen-Workflow in „storniert”, sondern auch der Kündigungs-Workflow erhält die Information und kann seinerseits zurückrollen.