How do I prove a client approved an AI-drafted change order or estimate?
Save the draft as a step in the job before you send it, so its exact text is fixed in a verifiable receipt, then have the client record their decision on that handover. The billed change can then be compared word for word with the approved one, by anyone, at any later date.
Change orders concentrate every weakness of informal approval. The AI drafted it quickly, it was sent as a message or an attachment, the client said "go ahead," and months later the billed amount is compared against a version nobody can produce with confidence. Was the contingency in the approved draft? Was the estimate a range or a cap? Memory answers both sides differently.
The recorded pattern is the version-binding pattern applied to commercial documents. The draft becomes a step: its saved result is committed in its receipt (AER-1, IETF Internet-draft-zambo-aer1-21) at the moment of saving. The handover presents it. The client accepts on the record, or holds it and names the line to change, and the changed draft is a new step with its own receipt. Approval and artifact can no longer drift apart, because they live on the same object.
For estimates, add one practice: save the assumptions as a step beside the number. Estimates are disputed over their assumptions more than their arithmetic, and an approved estimate with its assumptions recorded is a document both sides can still honour when conditions change, by writing the next change order against them.
Checklist: approval-proof change orders
1. Draft the change order or estimate. 2. Save the exact draft as a job step before sending anything. 3. Save the assumptions as their own step (estimates). 4. Send the handover link with the line: "The draft in this record is the one your approval covers." 5. Client accepts or holds on the record; revisions are new steps. 6. Bill by citing the accepted step and its date. 7. File the link in the job folder beside the invoice it supports.
Worked example
The binding object in public form: https://zambo.dev/handover/45434a17-4afc-486a-9646-e689bcee4297 shows steps with saved results and a recorded client decision on one record. A change order saved as a step in a record like this is approved as a text, not as a recollection of a text.
Frequently asked questions
The client approved the change order in a recorded call. Is that enough?
A call recording proves words were spoken about a draft; it rarely proves which draft. Keep the call, and still bind the approval to the saved version on the record, so the text itself is never the disputed part.
What if the client will not use the handover and insists on email?
Send the draft by email and name the handover link inside it: approval of that message approves the draft in the linked record. The binding survives because the approved text lives in the record either way.
Do estimates need the same treatment as change orders?
Yes, with the assumptions step added. An estimate approved without its assumptions is a number waiting to be argued about; with them, changed conditions produce a new estimate instead of a dispute.
By Brennan Zambo, founder of Zambo.
Last verified: 2026-10-17.
Try a handover
A handover gives your client one proof link with verifiable receipts to review, then Accept or Flag.
try it: say 'use zambo to hand this over to <client>' in your ai