Proposals & Invoices · Article 5.4
What your client sees when an amendment lands
The client receives an email with a fresh PIN, lands on a PIN-gated page, sees a side-by-side diff of old vs new with totals and a reason, and signs (or declines) — exactly like the original proposal flow but with the diff baked in.
The client experience for an amendment mirrors the original proposal experience deliberately. Same email styling (display name = your business name), same PIN gate, same hosted-on-Clozo URL pattern, same evidence capture at signing. The difference is the page itself: instead of a single proposal preview, the client sees a structured comparison so the change is unambiguous. This consistency matters — clients who signed a proposal once should never feel they're navigating a foreign UI to sign the change-order.
Step by step
Email lands within ~5 seconds.
From
noreply@useclozo.com, display name "[Your business name] via Clozo". Subject defaults to "Proposal change request: [original title]" but is editable in Step 4 of the wizard.Client clicks
Review change.Lands on
app.useclozo.com/p/amendment/{slug}— a Clozo-hosted page protected by the 4-digit PIN that's printed in the email body.Client enters PIN.
Five wrong attempts in 24 hours triggers a per-slug lockout (cache key
slug_amend_locked:{slug}). After lockout, only you can issue a fresh PIN (article 7.7).Client reads the diff view.
Original line items appear on the left, revised on the right. Coloured tags mirror the wizard: green
+ added, amber~ modified, red− removed, greysame. Totals delta is prominent at the bottom ("Cost increase: +€500" / "Cost decrease: −€500" / "Refund due: €1,200"). The reason you wrote in Step 2 appears as a quoted note above the diff.B2C waiver block (if applicable).
On Δ+ amendments where the client is flagged B2C, the page renders two mandatory waiver checkboxes immediately above the Sign button. Both must be ticked before Sign enables. See article 7.5 for the legal mechanics.
Client signs (or declines).
Signing captures the same eIDAS evidence as the original proposal: typed name, email, IP, User-Agent, server timestamp, and consent flag. The amendment status flips to
signed, the post-sign pipeline runs, and confirmation emails fire to both parties within seconds.
The proposal detail page shows a "Pending amendment" panel with the amendment number, sent timestamp, expiry countdown (14 days from sent_at), and three buttons: Copy sign link, Resend with fresh PIN, Cancel amendment. The Timeline records Amendment proposed at HH:MM UTC. When the client opens the link, a Timeline event Amendment viewed at HH:MM UTC by IP X.X.X.X appears. When they sign, the panel disappears, replaced by the new documents in the Documents dropdown plus a confirmation email in your inbox.
Why this works this way
Why a fresh PIN per amendment, even for the same client who already signed the original proposal? Because the amendment is a separate legal artefact — it gets its own audit trail, its own evidence stack, its own immutable record. Sharing the original proposal's PIN would conflate the two artefacts and weaken the chain of evidence if the amendment is ever disputed. The 5-attempts-in-24-hours lockout (_check_amendment_access_code in backend/apps/public/amendment_views.py) applies independently per amendment slug.
The diff view rendering uses position-based comparison (computeDeltaAction in AmendmentWizard.tsx) — line item at index i in the revised list is compared to line item at index i in the original. Adds appear at the bottom of the revised list with green tags; removes appear in the original column with red strikethroughs; modifications stay in place with amber tags. This is simple and predictable; it won't catch a "swap two adjacent lines" as a no-op (it'll show both as modified) — by design, because such reorders can change a contract's emphasis even if line totals match.
Troubleshooting
Keep reading
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
B2C cooling-off: when the CRD Art. 16(a) waiver appears
When you increase scope on a contract with a consumer (B2C) client, EU consumer law gives that client a fresh 14-day right to withdraw from the added portion. Clozo presents a mandatory waiver checkbox so the client knows the right exists and explicitly waives it.
Proposals & Invoices
Resending the amendment link with a fresh PIN
Client lost the email, hit the PIN-attempt lockout, or just can't find the original message? Resend with a fresh PIN. The old PIN is invalidated, the lockout is cleared, a new email goes out, and the audit log records the re-issuance.
Proposals & Invoices
When the client declines (or the amendment expires)
Two terminal states for an unsigned amendment: the client clicked Decline (with optional reason) or 14 days passed with no action. Either way, the original contract is unchanged — and you can immediately draft a new amendment to try again.