Proposals & Invoices · Article 5.10
Co możesz zmienić po `Wyślij` — wycofaj, wyślij ponownie, edytuj, utwórz aneks
Po kliknięciu `Wyślij` oferta staje się artefaktem prawnym i wiele pól jest blokowanych. Właściwa akcja zależy od tego, czy klient już podpisał: wycofaj przed podpisaniem, utwórz aneks po.
Cykl życia ma dwa czyste stany do edycji: Wersja robocza (wszystko edytowalne, brak obowiązku audytu) i po podpisaniu (wyłącznie Aneksy). Cienki plasterek pomiędzy — Wysłana i Wyświetlona — to gdzie najczęściej pojawiają się pytania „popełniłem literówkę". Dostępne akcje zależą od dokładnego statusu.
Step by step
Zidentyfikuj bieżący status.
Sprawdź odznakę na panelu lub baner szczegółów oferty.
Jeśli Wersja robocza
: po prostu swobodnie edytuj kreator. Nic nie zostało wysłane.
Jeśli Wysłana lub Wyświetlona
: wybierz wycofanie lub ponowne wysłanie. - Literówka lub zmiana zakresu →
Wycofaj i edytuj. Stary link zwraca 404; nowa wersja robocza wstępnie wypełniona. - E-mail nie dotarł →Wyślij ponownie. Ta sama treść, nowy PIN.Jeśli Podpisana i dalej
: otwórz kreator Aneksu pod adresem
/proposals/{id}/amend. Patrz artykuł 7.3.
Menu Akcji zmienia się w zależności od statusu. Przy Wysłana/Wyświetlona widzisz Wyślij ponownie i Wycofaj i edytuj. Przy Podpisana+ zostają zastąpione przez Wystaw fakturę końcową, Oznacz jako opłaconą ręcznie i Utwórz aneks. Timeline rejestruje każdą akcję ze znacznikiem czasu i użytkownikiem.
Why this works this way
Model blokowania. Po kliknięciu Wyślij w jednej transakcji dzieje się kilka rzeczy:
1. PDF oferty jest renderowany i przesyłany do R2 z włączoną flagą legal_hold.
2. Sekwencyjny numer oferty (PRO-2026-NNNN) jest zarezerwowany względem Twojego rocznego licznika (atomowy dla apps/proposals/models.py:DocumentCounter).
3. Status oferty zmienia się na Wysłana i ustawiany jest sent_at.
4. Kilka pól jest oznaczonych jako tylko do odczytu w warstwie modelu: number, language, currency, vat_breakdown, line_items_snapshot, client_address_snapshot. Są to pola, które prawo nakazuje być niezmiennymi na wysłanej fakturze/ofercie zgodnie z Art. 226 Dyrektywy VAT UE i §14 UStG.
Wycofaj i edytuj (status: Wysłana lub Wyświetlona). Dostępne przed podpisaniem. Kliknij Akcje → Wycofaj i edytuj na stronie szczegółów oferty. Efekt:
1. Oryginalny publiczny link jest natychmiast unieważniany. Każdy, kto go odwiedza (ze starym PIN lub bez) widzi: „Ta oferta została wycofana przez nadawcę". Oryginalny PDF pozostaje w Twoich Dokumentach (legal_hold), ale link zwraca 404.
2. Tworzona jest nowa wersja robocza z wszystkimi aktualnymi wartościami wstępnie wypełnionymi. Oryginalna oferta przechodzi do statusu Wycofana (końcowy) w Timeline.
3. Nowa wersja robocza przy następnym kliknięciu Wyślij otrzymuje nowy numer oferty. Oba numery są zachowane w Twoich aktach — ścieżka audytu pokazuje łańcuch (PRO-2026-0042 → wycofana → PRO-2026-0043 wysłana).
Wyślij ponownie (status: Wysłana lub Wyświetlona). Dostępne przed podpisaniem. Kliknij Akcje → Wyślij ponownie. Efekt:
1. Wychodzi świeży e-mail z nowym 4-cyfrowym PIN. Stary PIN jest unieważniany. 2. Sama oferta jest niezmieniona — ten sam numer, ta sama treść, ten sam PDF. 3. Przydatne, gdy klient mówi „nie otrzymałem e-maila" — drugi egzemplarz często dociera, nawet jeśli pierwszy trafił do spamu.
Po podpisaniu (status: Podpisana i dalej). Brak możliwości edycji oferty. Jedyna legalna ścieżka do zmiany zakresu, ceny lub harmonogramu to Aneks — formalne zamówienie zmiany, które klient podpisuje osobno. Patrz Sekcja 7. Aneksy generują własny łańcuch dokumentów (addendum + storno + nowa faktura końcowa lub nota kredytowa zależnie od delty), zachowując oryginalną podpisaną Umowę o świadczenie usług nienaruszoną.
Dlaczego nie ma skrótu „edytuj i podpisz ponownie"? Ponieważ zgodnie z europejskim prawem umów i Art. 25(1) eIDAS (skutek prawny podpisu elektronicznego), modyfikacja podpisanej umowy po podpisaniu unieważniłaby łańcuch audytu. IP, identyfikator przeglądarki, znacznik czasu serwera i wpisana nazwa podpisującego przechwycone przy podpisaniu odnoszą się do stanu dokumentu w tym momencie; ciche przepisanie dokumentu osierociłoby ten dowód. Naruszałoby to również niezmienność Art. 226 dla odpowiadającej faktury. Aneksy to sposób zgodny z UE: zachowują oryginał ORAZ rejestrują zmianę ORAZ uzyskują świeży podpis na zmianie.
Pełna macierz dostępności akcji:
| Status | Wycofaj | Wyślij ponownie | Edytuj pola | Aneks | Usuń |
|---|---|---|---|---|---|
| Wersja robocza | n/a | n/a | Wszystkie pola | n/a | Tak (twarde usunięcie) |
| Wysłana | Tak (→ Wycofana) | Tak (nowy PIN) | Nie | Nie | Nie |
| Wyświetlona | Tak (→ Wycofana) | Tak (nowy PIN) | Nie | Nie | Nie |
| Podpisana | Nie | Nie | Nie | Tak | Nie |
| Zaliczka opłacona | Nie | Nie | Nie | Tak | Nie |
| W realizacji | Nie | Nie | Nie | Tak (użyj Δ_REFUND dla zwrotu) | Nie — HTTP 409 `in_work_requires_amendment` (per [D-125]) |
| Oczekiwanie na płatność końcową / Opłacona / Ukończona | Nie | Nie | Nie | Tak | Nie |
| Odrzucona / Wygasła / Wycofana | Nie | Nie | Nie (stan końcowy) | Nie | Nie |
Troubleshooting
Keep reading
Lifecycle
Status: Sent — the proposal is in your client's inbox
You've clicked `Send`. The PDF is rendered, the email is on its way, the proposal number is assigned, and the audit trail starts here. Now you wait — until the client opens it (`Viewed`) or signs (`Signed`).
Lifecycle
Status: Viewed — your client has opened the link
The client clicked the email button, entered the PIN correctly, and saw the proposal. Status flips from `Sent` to `Viewed` automatically. From here, the next state is `Signed` (or `Declined`).
Lifecycle
Status: Signed — legally binding, audit trail captured
The client clicked Sign. Clozo collects an eIDAS-compliant evidence stack, generates the signed Service Agreement PDF, fires confirmation emails to both parties, and queues the deposit invoice. The proposal is now a contract.
Proposals & Invoices
Creating an amendment (the 4-step wizard)
The amendment wizard at `/proposals/{id}/amend` walks you through line items, reason, preview, and email — in that order. Five minutes for a simple change, ten minutes for a complex one. The client doesn't see anything until you click Send on Step 4.
Proposals & Invoices
When to use an amendment (vs a new proposal vs withdraw)
Three paths exist to change a deal: amend it, withdraw and resend, or start a new proposal. Pick the wrong one and you'll either break the audit trail or scare the client. Here's the decision tree.