Skip to main content

Proposals & Invoices · Article 5.6

Łańcuchy wielu aneksów: jeden szkic na raz, punkt bazowy = bieżący stan obowiązujący

Oferta może mieć wiele aneksów przez cały swój cykl życia — ale tylko jeden otwarty w danym momencie, a każdy nowy aneks bazuje na najnowszym podpisanym stanie, nie na oryginalnej ofercie. Oto jak łańcuch się trzyma.

Większość ofert ma zero lub jeden aneks. Kilka ma więcej — projekty designerskie, gdzie brief ewoluuje, projekty deweloperskie, gdzie specyfikacja dryfuje, kontrakty retainerowe, gdzie każdy miesiąc to nowy addendum. Clozo obsługuje łańcuchy dowolnej długości, traktując każdy nowy aneks jako deltę wobec najnowszego podpisanego stanu, nie wobec niezmiennego oryginału. Dzięki temu matematyka jest intuicyjna: gdy aneksujesz po podpisaniu poprzedniego aneksu, pracujesz z bieżącą umową, nie z punktem z przeszłości.

Step by step

  1. Zajrzyj na stronę szczegółów oferty.

    Poniżej listy rozwijanej Dokumentów sekcja Aneksy wymienia każdy aneks do oferty w kolejności chronologicznej, ze statusem (podpisany / odrzucony / anulowany / wygasły), numerem sekwencyjnym, datą podpisania i bezpośrednim linkiem do PDF addendum.

  2. Otwórz kreator dla nowego aneksu.

    Z panelu Akcje /proposals/{id}, Zaproponuj zmianę zakresu. Kreator sprawdza has_signed_amendment i wstępnie ładuje najnowszy podpisany zakres jako punkt bazowy.

  3. Edytuj, wyślij, podpisz jak zwykle.

    Przepływ jest identyczny jak przy aneksie po raz pierwszy z perspektywy freelancera. Klient widzi różnicę wobec najnowszego podpisanego stanu, nie wobec oryginalnej oferty.

  4. Po podpisaniu łańcuch się wydłuża.

    Zmieniony zakres nowo podpisanego aneksu staje się punktem bazowym dla dowolnego przyszłego aneksu. Lista rozwijana Dokumentów dostaje nowy PDF addendum (AMD-NNNN-vN), nową aktywną FakturaKońcową (z inkrementowaną wersją) i nową Stornorechnungową dla poprzedniej aktywnej faktury.

Przejrzysta sekcja Aneksy na stronie szczegółów oferty enumerująca łańcuch. Każdy wiersz jest niezależny: własny status, własne dokumenty, własna ścieżka audytu. „Bieżący obowiązujący zakres" to zawsze zmieniony stan najnowszego podpisanego aneksu; pozycje oryginalnej oferty są zachowane w proposal.line_items (niezmienne zgodnie z [D-086]), ale tylko zmieniony stan napędza faktury i łączne w przyszłości.

Why this works this way

Trzy zasady rządzą łańcuchem:

1. Jeden otwarty na raz. Ograniczenie DB (uniq_open_amendment_per_proposal z warunkiem status IN (sent, viewed)) egzekwuje to na warstwie danych. Kreator egzekwuje to na warstwie UI, kierując Cię do Wznów szkic, jeśli szkic już istnieje. Jeśli próbujesz sporządzić drugi aneks, gdy inny oczekuje na podpis klienta, API zwraca 409 open_amendment_exists. Żeby rozpocząć nowy aneks, poprzedni musi przejść do stanu terminalnego: signed, declined, cancelled lub expired.

2. Punkt bazowy = bieżący obowiązujący zakres. Gdy otwierasz kreator dla nowego aneksu do oferty, która ma już podpisane aneksy, Krok 1 pokazuje pozycje z najnowszego podpisanego aneksu jako zablokowaną kolumnę „Oryginał" — nie pozycje z oryginalnej oferty. API udostępnia to przez proposal.has_signed_amendment i proposal.revised_line_items; kreator frontendowy przełącza się na nie, gdy są obecne.

3. Zaliczka kotwi do oryginału. Nawet po wielu podpisanych aneksach, obliczenie zaliczki używa pierwszego łącznego (parent.total_amount), nie najnowszego zmienionego łącznego. Jest to celowe zgodnie z [D-086]: zaliczka była opłacona wobec konkretnej kwoty; nie zmienia skali wstecz. Banner kontekstu zaliczki kreatora to odzwierciedla — zaliczki pozostaje stała w całym łańcuchu, nawet gdy zmieniony łączny się przesuwa.

Troubleshooting

Keep reading

Łańcuchy wielu aneksów: jeden szkic na raz, punkt bazowy = bieżący stan obowiązujący · Help · Clozo