← Planung

Prozesse

10 aktive Prozesse, modelliert nach DIN EN ISO 9001 und BPMN 2.0. Jeder Schritt ist atomar, mit RACI-Rollen, Input/Output-Entitäten und XOR-Gates bei Entscheidungen. Bewertung automatisch aus Schritt-Heuristik: atomar (keine Aktions-Kombinationen), SRP (1 Responsible), SoC (Input ≠ Output), DRY (aktion-Text unique).

B2B-Abo-Start b2b_abo_start Score: 20/20 = 100%

Ziel
Angenommenes Angebot in ein aktives PayPal-Monatsabo ueberfuehren.
Auslöser
Gate in b2b_angebot bei_ja (Angebot angenommen).
Ergebnis
Aktives Abonnement-Management, erste Buchung angelegt, erster Zahlungsplan in PayPal.
Kontext
Startet nach Annahme eines Angebots. Voraussetzung: Profil existiert.
5 Schritte
  1. Annahme-Token validieren [System, sofort]
    Signiertes Token aus Angebots-Mail pruefen.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  2. PayPal-Abo erzeugen [PayPal, < 1 Minute]
    Subscription-API-Aufruf mit Monatsbetrag und Laufzeit.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=PayPal A=System
    erzeugt Abonnement-Management
  3. Abonnement-Management-Datensatz anlegen [System, sofort]
    Referenz auf Buchung, PayPal-Subscription-ID, Startdatum, naechste_zahlung.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Abonnement-Management
  4. Buchung anlegen [System, sofort]
    teilnehmer=tbd (wird nach Zuweisung gesetzt), firma, durchfuehrung optional.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt Buchungen
  5. Willkommens-E-Mail versenden [System, sofort]
    Template willkommen_b2b, enthaelt Magic-Code-Link zum Profil.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt E-Mail-Versand

B2B-Angebot b2b_angebot Score: 70/72 = 97%

Ziel
Interessent erhaelt auf der Angebots-Website individuelles Abo-Angebot und folgt einer 3-fach-Follow-up-Kadenz bis zur Entscheidung.
Auslöser
Person besucht Angebots-Website und waehlt Laufzeit und traegt Firmen- und Kontaktdaten ein.
Ergebnis
Angebot per E-Mail verschickt, Profil angelegt, Follow-up gestartet oder Angebot archiviert.
Kontext
Quelle: User-Definition 2026-04-24. Atomare Schritte, RACI pro Schritt, XOR-Gates vor jedem Follow-up.
18 Schritte
  1. Laufzeit in Monaten waehlen [Interessent, sofort]
    Interessent waehlt Anzahl Monate und traegt Firma, Adresse und Ansprechpartner-Daten ein.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Interessent
  2. Firmen- und Kontaktdaten im Formular erfassen [Interessent, sofort]
    Interessent waehlt Anzahl Monate und traegt Firma, Adresse und Ansprechpartner-Daten ein.
    Bewertung: atomar=fail SRP=fail SoC=ok DRY=ok — Score 2/4 : enthaelt Bindewort und/sowie/plus; responsible-Count=2 (Soll 1)
    RACI: R=Interessent R=System
  3. Formular validieren [System, sofort]
    Pflichtfelder, E-Mail-Syntax, USt-ID Format, PLZ.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  4. Firma anlegen oder verknuepfen [System, sofort]
    Match per USt-ID oder Firmenname+Stadt, sonst neuen Datensatz.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Unternehmen / Firmen
  5. Mensch fuer Interessent anlegen oder verknuepfen [System, sofort]
    Match per E-Mail, sonst neuer Mensch.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Mensch
  6. Ansprechpartner (Firma) verknuepfen [System, sofort]
    Ansprechpartner-Datensatz auf Firma und Mensch zeigend.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Ansprechpartner (Firma)
  7. Benutzer-Profil fuer Interessent anlegen oder verknuepfen [System, sofort]
    Profil fuer den Ansprechpartner, verweist auf Mensch. Bei vorhandenem Profil nur aktualisieren.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Benutzer-Profil
  8. Angebot in Lexoffice erzeugen [Lexoffice, < 1 Minute]
    API-Aufruf mit Laufzeit und Produkt. Voucher-ID in planung_prozess_instanz gespeichert.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System C=Lexoffice
  9. Angebots-E-Mail versenden (Angebot initial) [System, sofort]
    Template angebot_initial. Enthaelt Angebots-PDF und Annahme-Link.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System C=Lexoffice
    erzeugt E-Mail-Versand
  10. Gate: Angebot nach 3 Tagen angenommen? [System, 3 Tage]
    Pruefung per Lexoffice-Status oder Annahme-Token.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    Gate: Angebot innerhalb 3 Tagen angenommen? → ja: Schritt 18, nein: Schritt 11
  11. Follow-up 1 senden [System, sofort]
    Template follow_up_1, freundliche Erinnerung.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System C=Lexoffice
    erzeugt E-Mail-Versand
  12. Gate: nach Follow-up 1 angenommen? [System, 3 Tage]
    Pruefung wie in Schritt 9.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    Gate: Angebot nach Follow-up 1 angenommen? → ja: Schritt 18, nein: Schritt 13
  13. Follow-up 2 senden [System, sofort]
    Template follow_up_2, konkrete Nutzen-Argumentation.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System C=Lexoffice
    erzeugt E-Mail-Versand
  14. Gate: nach Follow-up 2 angenommen? [System, 3 Tage]
    Pruefung wie in Schritt 9.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    Gate: Angebot nach Follow-up 2 angenommen? → ja: Schritt 18, nein: Schritt 15
  15. Follow-up 3 senden (letzte Chance) [System, sofort]
    Template follow_up_3, letzte Kontaktaufnahme.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System C=Lexoffice
    erzeugt E-Mail-Versand
  16. Gate: nach Follow-up 3 angenommen? [System, 3 Tage]
    Pruefung wie in Schritt 9.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    Gate: Angebot nach Follow-up 3 angenommen? → ja: Schritt 18, nein: Schritt 17
  17. Angebot archivieren [System, sofort]
    Kein Abo, Lexoffice-Angebot auf abgelehnt setzen, Profil bleibt aktiv.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
  18. Abo-Prozess starten (b2b_abo_start) [System, sofort]
    Triggert Prozess b2b_abo_start mit dem angelegten Profil.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin

Dozenten-Honorar abrechnen dozenten_honorar Score: 48/48 = 100%

Ziel
Dozenten-Leistung mit Lexoffice-Gutschrift und PayPal-Auszahlung revisionssicher abrechnen.
Auslöser
Dozent hat einen Termin gehalten oder einen Abrechnungszeitraum abgeschlossen.
Ergebnis
Gutschrift in Lexoffice, Zahlung per PayPal, Eintrag in Dozenten-Profil, Controlling-Datensatz.
Kontext
Zwingend: gutschrift_nr und leistungszeitraum gefuellt, paypal_transaction_id nach Auszahlung.
12 Schritte
  1. Leistungen erfassen [Dozent, 15 Minuten]
    Termine oder Stunden fuer den Abrechnungszeitraum.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Dozent
  2. Dozenten-Honorar-Datensatz anlegen [System, sofort]
    dozent, termin, betrag, leistungszeitraum_von, leistungszeitraum_bis, bezahlt=false.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Dozenten-Honorar
  3. Admin-Freigabe einholen [Admin, 1-2 Tage]
    Pruefung der Stunden und Honorarsaetze.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
  4. Gate: Freigabe erteilt? [Admin, sofort]
    Admin entscheidet.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
    Gate: Admin-Freigabe erteilt? → ja: Schritt 5, nein: Schritt 11
  5. Lexoffice-Gutschrift erstellen [Lexoffice, < 1 Minute]
    Voucher-Typ Gutschriftsrechnung, Nummer in gutschrift_nr, lexoffice_voucher_id speichern.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Lexoffice
    geaendert Dozenten-Honorar
  6. PayPal-Auszahlung initiieren [PayPal, < 1 Minute]
    Payouts API, paypal_transaction_id speichern.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=PayPal A=System
  7. Gate: Auszahlung erfolgreich? [System, sofort]
    completed vs failed.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    Gate: PayPal-Auszahlung erfolgreich? → ja: Schritt 8, nein: Schritt 12
  8. Dozenten-Honorar auf bezahlt=true setzen [System, sofort]
    Plus datum-Feld.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    geaendert Dozenten-Honorar
  9. Profil-Eintrag fuer Dozenten erzeugen [System, sofort]
    Downloads (Profil): Gutschrift-PDF verfuegbar.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  10. Controlling-Dashboard informieren [System, sofort]
    Aggregations-Log fuer Deckungsbeitrag.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  11. Freigabe abgelehnt, Honorar stornieren [Admin, sofort]
    Status=storniert, Begruendung.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
  12. Auszahlung fehlgeschlagen, Support-Ticket oeffnen [Admin, sofort]
    Fehler klaeren, Retry manuell.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin

Ebook-Einmalkauf ebook_einmalkauf Score: 41/44 = 93%

Ziel
Digitales Ebook per PayPal-Einmalzahlung verkaufen und Profil samt Magic-Code-Zugang liefern.
Auslöser
Person klickt Kaufen auf Ebook-Seite.
Ergebnis
Ebook bezahlt, Rechnung gestellt, Profil mit Download-Recht.
Kontext
Voraussetzung: Produkt.abrechnungsmodell = einmalkauf.
11 Schritte
  1. Rechnungsadresse erfassen [Kaeufer, sofort]
    Rechnungsadresse, E-Mail, optional Firma.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Kaeufer
  2. E-Mail-Adresse erfassen [Kaeufer, sofort]
    Rechnungsadresse, E-Mail, optional Firma.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Kaeufer
  3. Mensch fuer Kaeufer anlegen oder verknuepfen [System, sofort]
    Match per E-Mail.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Mensch
  4. Benutzer-Profil fuer Kaeufer anlegen oder verknuepfen [System, sofort]
    Profil fuer Kaeufer, verweist auf Mensch.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Benutzer-Profil
  5. PayPal-Zahlung einziehen [PayPal, < 1 Minute]
    Order Capture API fuer Einmalbetrag.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=PayPal A=System
  6. Gate: Ebook-Einmalzahlung erfolgreich? [System, sofort]
    completed vs. pending/denied.
    Bewertung: atomar=ok SRP=fail SoC=ok DRY=ok — Score 3/4 : responsible-Count=0 (Soll 1)
    RACI: A=System
    Gate: PayPal-Zahlung erfolgreich? → ja: Schritt 7, nein: Schritt 11
  7. Lexoffice-Rechnung erstellen [Lexoffice, < 1 Minute]
    Voucher fuer Einmalzahlung.
    Bewertung: atomar=ok SRP=fail SoC=ok DRY=ok — Score 3/4 : responsible-Count=2 (Soll 1)
    RACI: R=Lexoffice R=System
    erzeugt Rechnungen
  8. Download-Recht auf Produkt setzen [System, sofort]
    Downloads (Profil)-Eintrag vom Typ ebook.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  9. Magic-Code erzeugen [System, sofort]
    Template ebook_zugang, enthaelt Login-Link und Download.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=fail — Score 3/4 : aktion-Text doppelt
    RACI: R=System
    erzeugt E-Mail-Versand →erzeugt Magic-Code Login System
  10. Magic-Code per E-Mail versenden [System, sofort]
    Template ebook_zugang, enthaelt Login-Link und Download.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt E-Mail-Versand →erzeugt Magic-Code Login System
  11. Kauf abbrechen, Daten verwerfen [System, sofort]
    Zahlung nicht erfolgt: Mensch und Profil bleiben unbestaetigt, E-Mail Retry-Info.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System

Kurs-Durchfuehrung planen kurs_durchfuehrung_planung Score: 32/32 = 100%

Ziel
Eine Kurs-Durchfuehrung mit Terminen, Raum und Dozenten operativ aufsetzen.
Auslöser
Admin legt neue Durchfuehrung fuer ein Produkt an.
Ergebnis
Durchfuehrung aktiv, Termine gebucht, Dozenten und Raeume zugewiesen.
Kontext
Nach Abschluss dieses Prozesses koennen Teilnehmer gebucht werden.
8 Schritte
  1. Produkt festlegen [Admin, 15 Minuten]
    Produkt, startdatum, enddatum, max_teilnehmer=300.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
  2. Zeitraum (Start- bis Enddatum) festlegen [Admin, 15 Minuten]
    Produkt, startdatum, enddatum, max_teilnehmer=300.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
  3. Durchfuehrung anlegen [Admin, sofort]
    Status=geplant.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
    erzeugt Kurs-Durchführungen
  4. Termine fuer alle Module planen [Admin, 30 Minuten]
    Termin-Datensaetze pro Modul, Datum, Uhrzeit, Raum.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
    erzeugt Termine
  5. Dozenten verfuegbarkeitspruefen [Admin, 15 Minuten]
    Abgleich mit Verfuegbarkeitsmanagement.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin C=Dozent
  6. Dozenten den Terminen zuweisen [Admin, 15 Minuten]
    Pro Termin Dozent-Referenz setzen.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin I=Dozent
  7. Durchfuehrung auf aktiv setzen [Admin, sofort]
    Status=aktiv, oeffentlich buchbar.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
    geaendert Kurs-Durchführungen
  8. Durchfuehrung oeffentlich veroeffentlichen [Admin, sofort]
    Status=aktiv, oeffentlich buchbar.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
    geaendert Kurs-Durchführungen

Magic-Code Login magic_code_login Score: 51/52 = 98%

Ziel
Passwortloser Login per Einmal-Code an die hinterlegte E-Mail-Adresse.
Auslöser
Nutzer gibt E-Mail in Login-Formular ein.
Ergebnis
Aktive Session fuer Benutzer-Profil.
Kontext
Code-Lebensdauer gepflegt im Magic-Code-Datensatz (gueltig_bis). Login-Handler ruft session_regenerate_id bei erfolgreicher Authentifizierung.
13 Schritte
  1. E-Mail-Adresse entgegennehmen [System, sofort]
    Max 5 Anforderungen pro Stunde pro E-Mail.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  2. Rate-Limit pro E-Mail pruefen [System, sofort]
    Max 5 Anforderungen pro Stunde pro E-Mail.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  3. Gate: E-Mail existiert in Mensch? [System, sofort]
    Match case-insensitive auf Mensch.email.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    Gate: E-Mail in Mensch vorhanden? → ja: Schritt 4, nein: Schritt 7
  4. Magic-Code erzeugen [System, sofort]
    Zufaelliger 6-8 Zeichen Code, gueltig_bis=jetzt+15min, eingeloest=false.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=fail — Score 3/4 : aktion-Text doppelt
    RACI: R=System
    erzeugt Magic-Code Login System
  5. Magic-Code im Datensatz speichern [System, sofort]
    Zufaelliger 6-8 Zeichen Code, gueltig_bis=jetzt+15min, eingeloest=false.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Magic-Code Login System
  6. Magic-Code per E-Mail senden [System, sofort]
    Template magic_code, Login-Link mit Code als Token.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt E-Mail-Versand
  7. Generische Erfolgsmeldung zuruecksenden [System, sofort]
    Auch bei unbekannter E-Mail, um Enumeration zu verhindern.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  8. Code-Eingabe oder Link-Klick verarbeiten [Nutzer, bis 15 Minuten]
    Eingabe oder Link-Parameter.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Nutzer
  9. Gate: Code-Status pruefen (gueltig, nicht eingeloest) [System, sofort]
    Abgleich code, gueltig_bis, eingeloest.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    Gate: Code gueltig und nicht eingeloest? → ja: Schritt 10, nein: Schritt 12
  10. Magic-Code als eingeloest markieren [System, sofort]
    eingeloest=true, session_regenerate_id aufrufen, Last-Login speichern.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    geaendert Magic-Code Login System
  11. Neue Session fuer Profil starten [System, sofort]
    eingeloest=true, session_regenerate_id aufrufen, Last-Login speichern.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    geaendert Magic-Code Login System
  12. Fehlermeldung anzeigen [System, sofort]
    Code abgelaufen oder unbekannt, kein Profil aktivieren.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  13. Retry-Option anbieten [System, sofort]
    Code abgelaufen oder unbekannt, kein Profil aktivieren.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System

Mahnwesen mahnwesen Score: 46/48 = 96%

Ziel
Ausstehende Zahlung 3-stufig anmahnen, bei Ausfall Abo pausieren.
Auslöser
Gate in monatsabo_zyklus bei_nein oder Rechnung ueberfaellig.
Ergebnis
Zahlung nachgeholt oder Abo pausiert.
Kontext
Drei Stufen nach DIN-Praxis: 1. freundliche Erinnerung, 2. Mahnung, 3. Inkasso-Vorstufe.
12 Schritte
  1. Mahnstufe 1 (Zahlungserinnerung) anlegen [System, sofort]
    Template mahnung_1, keine Gebuehr.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt E-Mail-Versand →erzeugt Mahnwesen
  2. Mahnstufe 1 per E-Mail versenden [System, sofort]
    Template mahnung_1, keine Gebuehr.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt E-Mail-Versand →erzeugt Mahnwesen
  3. Gate: Zahlung nach 7 Tagen eingegangen? [System, 7 Tage]
    PayPal oder Ueberweisung.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    Gate: Zahlung nach Mahnstufe 1 eingegangen? → ja: Schritt 12, nein: Schritt 4
  4. Mahnstufe 2 (erste Mahnung) anlegen [System, sofort]
    Template mahnung_2, Mahngebuehr wird ggf. ergaenzt.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt E-Mail-Versand →erzeugt Mahnwesen
  5. Mahnstufe 2 per E-Mail versenden [System, sofort]
    Template mahnung_2, Mahngebuehr wird ggf. ergaenzt.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt E-Mail-Versand →erzeugt Mahnwesen
  6. Gate: Zahlung nach Mahnstufe-Wartezeit eingegangen? [System, 7 Tage]
    wie Schritt 2.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=fail — Score 3/4 : aktion-Text doppelt
    RACI: R=System
    Gate: Zahlung nach Mahnstufe 2 eingegangen? → ja: Schritt 12, nein: Schritt 7
  7. Mahnstufe 3 (letzte Mahnung) anlegen [System, sofort]
    Template mahnung_3, Ankuendigung Abo-Pause.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt E-Mail-Versand →erzeugt Mahnwesen
  8. Mahnstufe 3 per E-Mail versenden [System, sofort]
    Template mahnung_3, Ankuendigung Abo-Pause.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt E-Mail-Versand →erzeugt Mahnwesen
  9. Gate: Zahlung nach Mahnstufe-Wartezeit eingegangen? [System, 7 Tage]
    Letzter Check.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=fail — Score 3/4 : aktion-Text doppelt
    RACI: R=System
    Gate: Zahlung nach Mahnstufe 3 eingegangen? → ja: Schritt 12, nein: Schritt 10
  10. Abo pausieren [System, sofort]
    Abonnement-Management status=pausiert, Benutzer-Profil aktiv=false.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    geaendert Abonnement-Management
  11. Zugang im Profil sperren [System, sofort]
    Abonnement-Management status=pausiert, Benutzer-Profil aktiv=false.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    geaendert Abonnement-Management
  12. Mahnprozess beenden (Zahlung eingegangen) [System, sofort]
    Mahnwesen.status=erledigt, Abo aktiv lassen.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System

Modul-Abschluss bestaetigen modul_abschluss Score: 23/24 = 96%

Ziel
Abschluss eines einzelnen Moduls durch den Dozenten revisionssicher protokollieren.
Auslöser
Letzter Termin eines Moduls hat stattgefunden.
Ergebnis
Modul-Fortschritt.abgeschlossen=true, Bestaetigung auditierbar.
Kontext
Pflicht: bestaetigt_durch (Dozent) wenn abgeschlossen=true.
6 Schritte
  1. Anwesenheit im letzten Termin erfassen [Dozent, am Termintag]
    Anwesenheits-Datensatz pro Teilnehmer.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Dozent
    ←Termine →erzeugt Anwesenheit
  2. Gate: Modul-Teilnahmebedingungen erfuellen (Anwesenheit plus Aufgaben) [Dozent, sofort]
    Fachliches Urteil.
    Bewertung: atomar=fail SRP=ok SoC=ok DRY=ok — Score 3/4 : enthaelt Bindewort und/sowie/plus
    RACI: R=Dozent
    Gate: Teilnehmer war anwesend und hat Aufgaben erfuellt? → ja: Schritt 3, nein: Schritt 4
  3. Modul-Fortschritt anlegen oder aktualisieren [Dozent, sofort]
    abgeschlossen=true, bestaetigt_durch=Dozent, datum=heute, leistungsdatum=Termindatum.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Dozent
    erzeugt Modul-Fortschritt
  4. Nachholtermin ansetzen [Admin, innerhalb 14 Tagen]
    Alternativ-Termin anbieten.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Admin
  5. Gate: Alle Module der Durchfuehrung abgeschlossen? [System, sofort]
    Pruefung ueber alle Module.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    Gate: Alle Module der Durchfuehrung abgeschlossen? → ja: Schritt 6, nein: Schritt -
  6. Zertifikat-Prozess starten [System, sofort]
    Trigger zertifikat_ausstellung.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System

Monatsabo-Zahlungszyklus monatsabo_zyklus Score: 28/28 = 100%

Ziel
Monatliche PayPal-Zahlung empfangen, zuordnen und Zugang verlaengern oder Mahnwesen starten.
Auslöser
PayPal-Webhook PAYMENT.SALE.COMPLETED oder PAYMENT.SALE.DENIED.
Ergebnis
Abo-Zahlung verbucht oder Mahnwesen gestartet.
Kontext
Lauft monatlich pro aktivem Abonnement-Management.
7 Schritte
  1. PayPal-Webhook empfangen [System, sofort]
    Signatur pruefen, Event in paypal_events ablegen.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=PayPal A=System
  2. Zahlung zu Abo zuordnen [System, sofort]
    Match ueber PayPal-Subscription-ID.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  3. Gate: Monatsabo-Zahlung erfolgreich? [System, sofort]
    completed vs denied.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    Gate: PayPal-Zahlung erfolgreich? → ja: Schritt 4, nein: Schritt 7
  4. Abonnement-Zahlungen-Datensatz anlegen [System, sofort]
    Buchung, Betrag, faellig_am, bezahlt=true.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt Abonnement-Zahlungen
  5. Lexoffice-Rechnung ausstellen [Lexoffice, < 1 Minute]
    Voucher mit Bezug auf Buchung und Rechnungsadresse (Firma).
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=Lexoffice A=System
    erzeugt Rechnungen
  6. Rechnung per E-Mail senden [System, sofort]
    Template monatsrechnung, PDF im Profil verfuegbar.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    erzeugt E-Mail-Versand
  7. Mahnwesen starten (Teilprozess) [System, sofort]
    Trigger Prozess mahnwesen.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System

Zertifikats-Ausstellung zertifikat_ausstellung Score: 32/32 = 100%

Ziel
Offizielles Zertifikat nach Abschluss aller Module revisionssicher ausstellen und ausliefern.
Auslöser
Gate in modul_abschluss bei_ja (alle Module abgeschlossen).
Ergebnis
Zertifikat unique nummeriert, Hash abgelegt, versendet, verifizierbar.
Kontext
Pflicht: Bezug zu bezahlter Buchung.
8 Schritte
  1. Abschluss-Voraussetzungen pruefen [System, sofort]
    Alle Module bestaetigt, Buchung bezahlt.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
    ←Buchungen ←Modul-Fortschritt
  2. Zertifikats-Nummer erzeugen [System, sofort]
    Format CAS-<jahr>-<laufende-nr>, unique.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  3. PDF erzeugen [System, < 1 Minute]
    Template mit Teilnehmer-Name, Produkt, ausgestellt_durch.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  4. SHA-256-Hash der PDF berechnen [System, sofort]
    verifikations_hash Feld.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  5. Hash im Zertifikats-Datensatz speichern [System, sofort]
    verifikations_hash Feld.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System
  6. Zertifikats-Datensatz anlegen [System, sofort]
    status=gueltig.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt Zertifikate
  7. Zertifikat per E-Mail versenden [System, sofort]
    Template zertifikat, PDF als Anhang.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System A=Admin
    erzeugt E-Mail-Versand
  8. PDF im Profil als Download hinterlegen [System, sofort]
    Downloads (Profil) Eintrag Typ zertifikat.
    Bewertung: atomar=ok SRP=ok SoC=ok DRY=ok — Score 4/4 : 10/10 atomar
    RACI: R=System