Zum Hauptinhalt springen

Prozessdiagramm Lehrerabrechnung und SEPA

Voraussetzungen​

  • Das Diagramm beschreibt ausschließlich die in Backend und Frontend vorhandenen Status, Aktionen und Sperren.
  • Es ist eine fachliche Übersicht, kein Ersatz für Berechtigungsprüfung oder Bankprüfung in der Anwendung.
  • Für den SEPA-Zweig muss eine finalisierte, noch nicht bezahlte Abrechnung als Kandidat verfügbar sein.

Schritte​

  1. Lesen Sie das Diagramm von oben nach unten: zunächst Abrechnungsentwurf, Prüfung und Finalisierung.
  2. Folgen Sie nach der Finalisierung entweder dem SEPA-Zweig oder bei Bedarf dem Berichtigungszweig.
  3. Beachten Sie im SEPA-Zweig die Trennung zwischen Export und Bestätigung.
stateDiagram-v2
direction LR

[*] --> DRAFT: Abrechnungsentwurf erstellen
DRAFT --> REVIEW_PENDING: zur Prüfung senden
REVIEW_PENDING --> CHANGES_REQUESTED: Änderungswunsch mit Grund
CHANGES_REQUESTED --> REVIEW_PENDING: erneut zur Prüfung senden
REVIEW_PENDING --> APPROVED: freigeben
DIFFERENCE_FOUND --> APPROVED: freigeben
APPROVED --> FINALIZED: finalisieren

DRAFT --> DIFFERENCE_FOUND: externe Rechnung mit Differenz erfassen
DRAFT --> REVIEW_PENDING: externe Rechnung ohne Differenz erfassen

FINALIZED --> EXPORTED: als SEPA-Kandidat auswählen und XML exportieren
EXPORTED --> PAID: Bankausführung bestätigen
EXPORTED --> FINALIZED: offenen Lauf stornieren

FINALIZED --> CORRECTION_PENDING: Berichtigung beginnen
CORRECTION_PENDING --> FINALIZED: Berichtigungsentwurf löschen
CORRECTION_PENDING --> CANCELLED: Berichtigung finalisieren

PAID --> DRAFT: Berichtigung erstellen; Original bleibt PAID
APPROVED --> ADJUSTMENT_PENDING: Berichtigung zu bezahltem Original finalisieren
ADJUSTMENT_PENDING --> ADJUSTED: Differenzausgleich abschließen

Zentrale Aussage: Der Status EXPORTED steht für einen offenen Zahlungslauf, nicht für eine Zahlung. Nur der Übergang EXPORTED → PAID nach der Bestätigung setzt die Abrechnung auf bezahlt. Eine Stornierung des offenen Laufs führt nicht zu PAID und gibt die Abrechnung wieder frei.

Warnungen​

  • Das Diagramm verkürzt Details: Eine externe Lehrerrechnung kann nur nach Erfassung von Nummer und Originaldatei finalisiert werden.
  • Eine Gutschrift wird nur nach den im Abrechnungsprofil geprüften Voraussetzungen freigegeben und finalisiert.
  • Eine Berichtigung ist nur für eine finalisierte oder bezahlte Gutschrift vorgesehen; ein Original in einem offenen SEPA-Lauf kann nicht berichtigt werden.
  • Bei einer Berichtigung eines bezahlten Originals bleibt das Original bezahlt. Das Diagramm zeigt deshalb keinen Übergang von PAID zurück in einen unbezahlten Status.

Screenshot-Checkliste​

  • Gerenderte Diagrammseite in der Kundendokumentation.
  • Verlinkte oder unmittelbar benachbarte Detailansicht mit Status Entwurf, Prüfung ausstehend, Freigegeben und Finalisiert.
  • Zahlungslauf Ausführung offen als Beleg für den vom Diagramm dargestellten Exportzustand.
  • Bestätigter Zahlungslauf und Abrechnung mit Status Bezahlt.
  • Berichtigungsfall eines finalisierten und eines bereits bezahlten Originals mit anonymisierten Daten.

Offene Input-Fragen​

  • Soll die veröffentlichte Version zusätzlich eine für Lehrkräfte vereinfachte Darstellung ohne interne SEPA-Aktionen enthalten?
  • Welche Rollen- und Berechtigungsinformationen sollen direkt am Diagramm stehen, ohne die Prozessdarstellung zu überladen?
  • Soll für Bankablehnungen und Teilrückmeldungen ein gesondertes, nach Produktentscheidung ergänztes Diagramm entstehen?

Quellenbasis im Code​

  • Statuswerte: yasa-backend/src/main/java/com/school_system/enums/school/TeacherSettlementStatus.java.
  • Entwurf, Prüfung, Änderungswunsch, Freigabe, Finalisierung und Berichtigung: yasa-backend/src/main/java/com/school_system/service/impl/TeacherSettlementServiceImpl.java.
  • SEPA-Export, Bestätigung und Stornierung: yasa-backend/src/main/java/com/school_system/controller/InvoiceController.java.
  • Sichtbare Oberfläche für Lehrerabrechnung und SEPA-Zahlungsläufe: yasa-frontend/src/app/components/invoices/teacher-invoice-page/teacher-invoice-page.component.html sowie yasa-frontend/src/app/components/invoices/teacher-payment-batch/teacher-payment-batch.component.html.