Files
Florian WildeandClaude Opus 5 4b3021bb50 Kassenverwaltung als Phase 9 ergaenzen, Festlegungen dokumentieren
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>
2026-09-03 07:11:37 +02:00

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.