Acceptance clause generator: pay only for work you can check

You are writing the contract for a job someone else will do, some of it with AI, and you already know how the old ending goes: a summary arrives, it says done, and accepting it is a feeling. This generator writes the other ending into the contract. The clause makes one handover link the acceptance event: the deliverable counts as delivered when the link is provided, each step counts as done when it checks against its verifiable receipt, the client Accepts or Flags within a window you set, and payment releases on Accept. Agree the check while you still agree, before the job starts.

The generator

Four blanks. The clause updates as you type, and it is yours to keep: no signup, nothing sent anywhere, the text is generated in this page.





The same template ships in the free zambo-delivery package (bundle/acceptance-clause.txt), so the clause can live next to the delivery tooling: pip install zambo-delivery, then zambo-delivery clause prints it with your terms filled in.

Why acceptance needs an event, not a feeling

Most payment disputes about freelance and agency work are not really about quality. They are about what happened: which steps ran, what came back, whether the thing being billed for is the thing that was delivered. A summary cannot settle that, because the summary is written by the side asking to be paid. So the argument runs on memory and screenshots until someone gives in.

An acceptance clause moves the argument onto a record before there is anything to argue about. Both sides agree, while they still agree, what delivery looks like: a handover link carrying the step record, receipts that either recompute or do not, a review window with a clock on it, and payment that releases on a named event. When a step is disputed, the dispute is about one flagged step on a shared record, not about the whole job.

The clause sits alongside milestone payments and escrow rather than replacing them: each milestone gets its own handover, and each handover is its own acceptance event. What changes is only the trigger. Instead of "the client feels the milestone is done", the contract says the milestone is accepted when its record checks.

The record the clause stands on

The clause needs one thing from the working side: the job runs where its steps leave verifiable receipts, and it wraps up as a handover. On Zambo that is the default shape of work: connect the endpoint at https://zambo.dev/mcp, the working calls return AER-1 receipts as they run, and the wrap-up hands the job over as one link with the full step record attached. The client picks the handover up free, checks any step free, and Accepts or Flags on the record.

The honest limit, stated in the clause itself: work done entirely outside any record has nothing to check, and a receipt proves the saved result was not changed after saving, never that the work was good. The clause does not automate judgment. It makes sure judgment is exercised on the real record of the job, while the review window is still open, instead of on a summary after the invoice is due.

Questions, answered

What is an acceptance clause for freelance or agency work?

It is a contract clause that defines the moment work counts as accepted. Under the clause this page generates, the deliverable counts as delivered when a handover link is provided, a step counts as done when its entry in the step record checks against its verifiable receipt, the client has a fixed number of days to Accept or Flag any step, and payment releases on Accept. Acceptance becomes an event both sides can point to, instead of an argument about whether the work feels finished.

How do I use the generator?

Fill in four blanks: the job type, the deliverables, the review window in days, and the payment trigger (when the fee falls due). The clause updates as you type. Copy it into the contract or statement of work before the job starts. The same template ships in the free zambo-delivery package as bundle/acceptance-clause.txt, and the zambo-delivery clause command prints it with the same terms filled in.

What does the client actually check before accepting?

The handover carries the full step record of the job: each step in order, what ran it, and the verifiable AER-1 receipt issued for the call. For any step, the client opens the receipt and recomputes it at zambo.dev/verify, free with no account. A match means the saved result is the result fixed when the call ran. A step with no receipt, or a receipt that does not recompute, gets flagged inside the review window instead of paid for.

Does a receipt prove the work is good?

No, and the clause says so in writing. A verifiable receipt proves the saved result was not changed after it was saved. It does not prove the work is good; the Accept and Flag decision stays with the client. What the record settles is what was done, in what order, and what came back, so the review argues about the work itself, not about what happened.

What does it cost to work this way?

Starting costs nothing: the free tier is 20 calls + 1 wrap-up free every day, and picking up a job in another AI is always free, so you can run a first job under the clause before paying anything. A Day Pass is $0.99 one time and covers 24 hours of calls. Ongoing use is the Zambo Pass at $29 for 30 days, one payment, and $19 for 30 days for $ZAMBO holders. A Lifetime Pass is $250, one payment for good. Full pricing: https://zambo.dev/pricing. Checking a receipt is always free at https://zambo.dev/verify/ with no signup, so clients never need a plan to check your work.