Die Rolle KASSIER war seit Phase 0 angelegt, ein Kassenmodul fehlte in der Planung. Phase-9.md beschreibt es jetzt: Konten, Buchungen mit Beleg, Beitragslauf mit Mahnstufen, Rechnungen, Kassenabschluss und Auswertungen. Geschaetzt 8-11 PT, Version 0.10.0. Zwei Festlegungen aus der Spezifikation, weil sie den Rest bestimmen: eine festgeschriebene Buchung ist unveraenderbar und wird nur ueber eine Gegenbuchung korrigiert; der Kassenabschluss friert seinen Zeitraum ein. Ausserdem als entschieden festgehalten: - Berechtigung bleibt ohne organisationId. Die Tabelle ist der systemweite Katalog dessen, was die Software kann; mandantenbezogen wird es erst ueber RolleBerechtigung. - Die Loeschausnahme im Audit-Log bleibt. UPDATE ist dauerhaft gesperrt, DELETE nur im gekennzeichneten Aufbewahrungslauf des Workers. Roadmap, Aufwandsschaetzung, Versionierung, README und die Seitenleiste sind entsprechend ergaenzt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
39 lines
2.0 KiB
Markdown
39 lines
2.0 KiB
Markdown
Phase 9: Kassenverwaltung.
|
|
|
|
Ergänzt am 03.09.2026. Die Rolle KASSIER ist seit Phase 0 angelegt, ein Modul
|
|
dazu fehlte in der ursprünglichen Planung.
|
|
|
|
Modelle: Kassenkonto (Bezeichnung, Art: bar | bank | ruecklage, IBAN,
|
|
Anfangsbestand, aktiv), Buchungskategorie (Name, Art: einnahme | ausgabe,
|
|
Oberkategorie, Konto im Kontenrahmen), Buchung (Konto, Kategorie, Datum,
|
|
Betrag, Verwendungszweck, Belegnummer, Gegenkonto, Person ODER
|
|
Lieferant, Beleg als Datei, festgeschrieben), Beitragssatz (Bezeichnung,
|
|
Betrag je Jahr, gilt für Abteilung), Beitrag (Person, Jahr, Satz, Betrag,
|
|
Status: offen | bezahlt | erlassen | gemahnt, bezahlt_am),
|
|
Rechnung (Empfänger, Positionen, Betrag, Datum, faellig_am, Status),
|
|
Kassenabschluss (Zeitraum, Kassenbestand laut Buch, gezählter Bestand,
|
|
Differenz, Prüfer, geprueft_am, Bericht als PDF).
|
|
|
|
Funktionen:
|
|
- Buchungsmaske mit Kategorievorschlag aus dem Verwendungszweck
|
|
- Beleg als Foto oder PDF anhängen, Ablage in MinIO
|
|
- Beitragslauf: erzeugt für ein Jahr alle Beiträge nach Abteilung,
|
|
Mahnstufen mit Vorlage, Zahlungseingang manuell oder per CSV-Abgleich
|
|
aus dem Bankkonto (CAMT.053 oder MT940)
|
|
- Rechnungen an Dritte (Fehlalarm, Öleinsatz, Vereinsveranstaltung) mit
|
|
Nummernkreis und PDF über Gotenberg
|
|
- Kassenabschluss: Zeitraum wählen, Bestand zählen, Differenz erklären,
|
|
Kassenprüfbericht als PDF mit Unterschriftsfeldern
|
|
- Auswertungen: Einnahmen/Ausgaben nach Kategorie und Monat,
|
|
Jahresvergleich, offene Posten, Beitragsrückstände
|
|
- Export für den Steuerberater und für die Kassenprüfung der Gemeinde
|
|
|
|
Wichtig:
|
|
- Eine festgeschriebene Buchung ist unveränderbar. Korrekturen erfolgen über
|
|
eine Gegenbuchung mit Verweis, nie durch Ändern.
|
|
- Der Kassenabschluss friert den Zeitraum ein: danach sind Buchungen mit
|
|
Datum in diesem Zeitraum nicht mehr möglich.
|
|
- Beträge als DECIMAL(12,2), niemals als Fließkommazahl.
|
|
- Der Kassier sieht keine Geräte- oder Atemschutzdaten, der Gerätewart keine
|
|
Buchungen. Die Trennung ist in lib/authz.ts bereits angelegt.
|