Lifecycle · Article 2.9
Status: Completed — the proposal lifecycle is done
You've delivered the work, the client has paid, you're marking the project officially closed. `Completed` is a terminal state: no more emails, no more status changes (except Amendments which create branches). The proposal now lives in your archive.

Where this fits in the lifecycle
We don't auto-complete on payment because "paid" doesn't always mean "delivered". You might receive payment in advance (deposit + final upfront) and still owe weeks of work. Or you might deliver, get paid, and need to do a final round of revisions. The Mark as completed button is your explicit confirmation that everything is wrapped up.
Step by step
Confirm work is delivered.
Don't click
Mark as completedif the client is still expecting deliverables.Click
Mark as completed.From
/proposals/{id}→ Actions panel. Confirmation modal lists what becomes uneditable.Optional: leave a closing note.
A text field ("Project notes for your records") is internal-only — captures details for your future reference (lessons learned, client temperament, etc.).
Status flips to
Completed.Timeline event recorded. Proposal moves out of
Activefilter on your dashboard.Optional: Archive.
A separate
Archiveaction hides the proposal from default views entirely while preserving all data.
Why this works this way
Once Completed, the proposal is hidden from the default Active filter on your dashboard. It shows up under All, Paid, and Completed filters. You can still open it, view all documents, copy the public link, even create an Amendment retroactively (for legal corrections to invoice numbering, scope adjustments after delivery, refunds for warranty work, etc.).
The 10-year retention applies regardless of completion status — even after Completed, all PDFs are immutable in R2 storage with legal_hold: true. You cannot delete a completed proposal that has any signed documents (the Delete button is hidden); you can soft-archive it (Archive button on Actions menu) which removes it from list views but preserves the underlying records.
Troubleshooting
Keep reading
Lifecycle
Status: Awaiting final payment, then Paid
You've issued the final invoice. The client now owes the remaining balance (full amount minus the deposit they already paid). When the money lands, status flips to `Paid` and the final receipt is generated.
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.







