Files
ProxLedger/docs/issues/043-laufzeiten-bearbeiten.md
T
florian.wildeandClaude Opus 5 83320f0443 feat(laufzeiten): anlegen, bearbeiten und zusammenfuehren (#043)
Laufzeiten entstanden bisher nur als Vorschlag aus dem Agenten-Report;
bestaetigen oder verwerfen war alles. Anlegen von Hand gab es als Aktion ohne
Oberflaeche, Aendern und Zusammenfuehren gar nicht - obwohl der Doppelfall
zwangslaeufig auftritt, sobald das gemeldete Ablaufdatum von der Bestellung
abweicht.

Jetzt: Formular zum Anlegen auf der Rechnungsseite (Key vorgeschlagen, Ende
aus dem Beginn vorbelegt), Bearbeiten von Key, Zeitraum und Notiz im
Laufzeit-Detail, und Zusammenfuehren zweier Laufzeiten desselben Hosts. Die
aufgeloeste gibt ihre Rechnungen ab, sofern das Ziel dort nichts hat; sonst
bricht der Vorgang mit Erklaerung ab - zwei Einkaufsrechnungen auf einem
Lizenzjahr waeren nicht mehr zuzuordnen.

Dazu die Kundenansicht: Laufzeit und Host verlinkt, Marge und Rabatt je Zeile.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-03 20:57:07 +02:00

2.3 KiB
Raw Blame History

#043 Laufzeiten anlegen, bearbeiten und zusammenführen

Status: erledigt Meilenstein: v0.25.0 Labels: backend, ui Geschätzt: 4 h Tatsächlich: 1 h 05 min

Auslöser

Drei Rückmeldungen aus dem Einsatz:

  1. „In der Kundenübersicht wäre es auch cool, die Laufzeit / Rechnung zu überarbeiten.“
  2. „Wie werden so Laufzeiten erfasst?“
  3. „Auch die Laufzeit im Nachhinein zu bearbeiten geht nicht. Oder mit einer vorhandenen zu verknüpfen oder zu vereinen.“

Ausgangslage

Laufzeiten entstanden ausschließlich als Vorschlag aus dem Agenten-Report: Meldet ein Host ein Ablaufdatum, legt ProxLedger eine Laufzeit von diesem Datum bis ein Jahr später an. Bestätigen oder verwerfen war möglich – mehr nicht:

  • Anlegen von Hand gab es als Server-Aktion, aber nirgends in der Oberfläche.
  • Ändern war unmöglich. Weicht das gemeldete Datum von der Bestellung ab, blieb es falsch.
  • Zusammenführen gab es nicht, obwohl der Fall zwangsläufig auftritt: Neben einer erfassten Laufzeit legt der Agent eine zweite an, wenn das Ablaufdatum um einen Tag abweicht.
  • Aus der Kundenansicht führte kein Weg in die Laufzeit.

Behebung

  • Formular Laufzeit von Hand anlegen auf der Rechnungsseite; der gemeldete Key wird vorgeschlagen, das Ende aus dem Beginn vorbelegt (ein Jahr minus ein Tag – dieselbe Rechnung wie beim Vorschlag).
  • Laufzeit bearbeiten im Laufzeit-Detail: Key, Beginn, Ende, Notiz. Eine Änderung bestätigt den Vorschlag zugleich.
  • Zusammenführen mit einer anderen Laufzeit desselben Hosts. Die aufgelöste Laufzeit gibt ihre Rechnungen ab, sofern das Ziel dort nichts hat; haben beide eine Rechnung derselben Art, bricht der Vorgang mit einer Erklärung ab.
  • Kundenansicht: Laufzeit und Host sind verlinkt, Marge und Rabatt stehen dabei.

Entscheidungen

  • Kein stilles Überschreiben beim Zusammenführen. Zwei Einkaufsrechnungen auf einem Lizenzjahr wären nicht mehr zuzuordnen – lieber ein Abbruch mit Hinweis.
  • Beim Ändern bleibt die Regel „ein Startdatum je Host“. Kollidiert das neue Datum, verweist die Meldung aufs Zusammenführen.
  • Beim Zusammenführen muss die Quelle ihre Positionen zuerst loslassen: Eine Rechnungsposition gehört zu genau einer Laufzeit, und die Datenbank wacht darüber. Erst dann darf das Ziel sie übernehmen.