Skip to main content

Proposals & Invoices · Article 5.6

Mehrfach-Nachtragsketten: ein Entwurf gleichzeitig, Ausgangsbasis = aktuell wirksamer Stand

Ein Angebot kann im Laufe seiner Laufzeit viele Nachträge erhalten – aber zu jedem Zeitpunkt nur einen offenen, und jeder neue Nachtrag basiert auf dem zuletzt unterzeichneten Stand, nicht auf dem ursprünglichen Angebot. So hält die Kette zusammen.

Die meisten Angebote erhalten keinen oder einen Nachtrag. Einige erhalten mehr – Designprojekte, bei denen sich das Briefing weiterentwickelt, Entwicklungsprojekte, bei denen die Spezifikation driftet, oder Retainer, bei denen jeder Monat ein neues Addendum ist. Clozo verwaltet Ketten beliebiger Länge, indem jeder neue Nachtrag als Delta gegenüber dem zuletzt unterzeichneten Stand behandelt wird – nicht gegenüber dem unveränderlichen Original. Das hält die Mathematik intuitiv: Wenn Sie nach einem bereits unterzeichneten vorherigen Nachtrag einen weiteren erstellen, arbeiten Sie vom aktuellen Vertrag aus, nicht von einem Punkt in der Vergangenheit.

Step by step

  1. Angebotsdetailseite aufrufen.

    Unterhalb des Dokumente-Dropdowns listet ein Abschnitt „Nachträge" jeden Nachtrag des Angebots in chronologischer Reihenfolge auf, mit Status (unterzeichnet / abgelehnt / storniert / abgelaufen), Sequenznummer, Unterzeichnungsdatum und einem Direktlink zum Addendum-PDF.

  2. Assistenten für einen neuen Nachtrag öffnen.

    Im Aktionsbereich von /proposals/{id} auf „Umfangsänderung vorschlagen" klicken. Der Assistent prüft has_signed_amendment und lädt den zuletzt unterzeichneten Umfang als Ausgangsbasis vor.

  3. Bearbeiten, senden, unterzeichnen wie gewohnt.

    Der Ablauf ist aus Freiberuflersicht identisch mit einem erstmaligen Nachtrag. Der Kunde sieht eine Unterschiedsliste gegenüber dem zuletzt unterzeichneten Stand, nicht gegenüber dem ursprünglichen Angebot.

  4. Nach der Unterzeichnung verlängert sich die Kette.

    Der revidierte Umfang des neu unterzeichneten Nachtrags wird zur Ausgangsbasis für alle zukünftigen Nachträge. Das Dokumente-Dropdown erhält ein neues Addendum-PDF (AMD-NNNN-vN), eine neue aktive Schlussrechnung (mit inkrementierter Revision) und eine neue Stornorechnung für die vorherige aktive Rechnung.

Ein übersichtlicher Abschnitt „Nachträge" auf der Angebotsdetailseite, der die Kette auflistet. Jede Zeile ist eigenständig: eigener Status, eigene Dokumente, eigener Prüfpfad. Der „aktuell wirksame Umfang" ist immer der revidierte Stand des zuletzt unterzeichneten Nachtrags; die Positionen des ursprünglichen Angebots sind in proposal.line_items gespeichert (unveränderlich gemäß [D-086]), treiben aber weder Rechnungen noch Gesamtbeträge an.

Why this works this way

Drei Regeln steuern die Kette:

1. Jeweils ein offener Nachtrag. Eine DB-Constraint (uniq_open_amendment_per_proposal mit Bedingung status IN (sent, viewed)) erzwingt dies auf Datenebene. Der Assistent erzwingt es auf UI-Ebene, indem er Sie zu „Entwurf fortsetzen" weiterleitet, falls bereits ein Entwurf existiert. Wenn Sie einen zweiten Nachtrag erstellen möchten, während ein anderer auf die Kundenunterschrift wartet, gibt die API 409 open_amendment_exists zurück. Um einen neuen Nachtrag zu beginnen, muss der vorherige in einen Endzustand übergehen: signed, declined, cancelled oder expired.

2. Ausgangsbasis = aktuell wirksamer Umfang. Wenn Sie den Assistenten für einen neuen Nachtrag bei einem Angebot mit bereits unterzeichneten Nachträgen öffnen, zeigt Schritt 1 die Positionen des zuletzt unterzeichneten Nachtrags als gesperrte „Original"-Spalte – nicht die Positionen des ursprünglichen Angebots. Die API stellt dies über proposal.has_signed_amendment und proposal.revised_line_items bereit; der Frontend-Assistent wechselt zu diesen, wenn sie vorhanden sind.

3. Anzahlung bleibt am Original verankert. Selbst nach mehreren unterzeichneten Nachträgen verwendet die Anzahlungsberechnung den allerersten Gesamtbetrag (parent.total_amount), nicht den zuletzt revidierten. Dies ist absichtlich gemäß [D-086]: Die Anzahlung wurde gegen eine bestimmte Zahl geleistet; sie skaliert nicht rückwirkend neu. Das Anzahlungskontext-Banner im Assistenten spiegelt dies wider – der Anzahlungsbetrag in Euro bleibt über die gesamte Kette konstant, auch wenn sich der revidierte Gesamtbetrag ändert.

Troubleshooting

Keep reading

Mehrfach-Nachtragsketten: ein Entwurf gleichzeitig, Ausgangsbasis = aktuell wirksamer Stand · Help · Clozo