Client workflow guide
Client approval workflow: estimate approval and delivery sign-off
A client approval workflow records two decisions. Before work starts, the client approves the estimate: scope, price, timing and acceptance criteria. After you deliver, the client signs off that the result meets those criteria. Keeping them separate shows what was agreed, what was delivered and who said yes to each.
What is a client approval workflow?
It is the agreed way a client says yes to your work: what they approve, who approves, how the answer is recorded and what happens after a no. For software and web work there are two approvals, and they answer different questions.
| Estimate approval | Delivery sign-off | |
|---|---|---|
| When | Before work starts | After the client has reviewed the result |
| Question | Do we agree on what will be built, for how much and by when? | Does the result meet the agreed acceptance criteria? |
| Client approves | Scope, exclusions, hours or price, timing, acceptance criteria | A specific version: a review link, release or date |
| If the answer is no | Revise the estimate; no work starts | Fix what misses the criteria; new ideas become new requests |
Agreeing to a price does not confirm that the finished work is right, and accepting the work does not settle what it should have cost. One approval cannot stand in for the other.
The 6-step client approval workflow
-
Define what the client is approving
Write down the outcome, what is included, what is not and the acceptance criteria. Name one person on the client side who can approve, and confirm they have the authority to say yes to the budget.
-
Send the estimate for approval
One estimate per request: hours, fee, timing and a date until which the estimate is valid. Ask a direct question, “Do you approve this estimate?”, rather than “Thoughts?”.
-
Record the decision: who, when, which version
Keep the approval next to the work it covers. If the scope changes later, send a revised estimate rather than editing the approved one.
-
Deliver for review
Share a staging or preview link, list the acceptance criteria to check and say by when you need an answer. Send test logins through a separate channel, not in the review message.
-
Request delivery sign-off
Ask for one of two answers: approve, or list what does not match the agreed criteria. Feedback without a decision leaves the task open indefinitely.
-
Separate corrections from new requests, then close
A correction fixes something that misses the agreed criteria and stays within the estimate. Anything new goes through the change request template with its own estimate. After sign-off, mark the task done.
Estimate approval: checklist and email template
Before you send an estimate, check that it contains:
- the outcome, in words the client would use
- what is included and what is not
- acceptance criteria the delivery will be checked against
- hours and fee (or a fixed price) with the currency
- what you need from the client: content, access, decisions
- start and delivery dates, and a “valid until” date
- the name of the person who approves
Subject: Estimate for approval: [request title] Hi [name], Here is the estimate for [request title]. I'll start once you approve it. Included: - [deliverable 1] - [deliverable 2] Not included: - [exclusion] Done when: - [acceptance criterion 1] - [acceptance criterion 2] Estimate: [hours] hours / [amount] [currency] Delivery: [date], if approved by [date] This estimate is valid until [date]. What I need from you: [content, access or decisions] Do you approve this estimate? Reply "Approved", or tell me what to change and I'll send a revised version. Thanks, [your name]
Delivery sign-off: acceptance checklist and email template
Before you ask for sign-off, check that you can tick off:
- every acceptance criterion from the approved estimate
- a review link and the version or date being reviewed
- the browsers and devices you tested
- known limitations, with follow-ups logged as separate requests
- what happens after sign-off, such as going live
Subject: Ready for sign-off: [request title] Hi [name], [Request title] is ready for your review. Review link: [staging or preview URL] Version: [release, build or date] Checked against the approved estimate: - [acceptance criterion 1]: done - [acceptance criterion 2]: done Tested on: [browsers and devices] Not part of this delivery: [items, logged as separate requests] Please reply "Approved" to sign off, or list anything that doesn't match the criteria above, by [date]. After sign-off I will [publish it to the live site / close the task]. New ideas are welcome. I'll log them as separate requests so this delivery can close. Thanks, [your name]
What counts as client approval?
Approval is a clear yes from the person who can give it, tied to a specific estimate or version. The weaker the signal, the more you should confirm it in writing.
| Signal | Treat as approval? | What to do |
|---|---|---|
| “Approved” in writing, or a recorded decision in your tool | Yes | Check it came from the named approver |
| “Looks good” or a thumbs-up in chat | Unclear | Reply asking them to confirm which version they approve |
| A verbal yes on a call | Not on its own | Send a summary: “Confirming you approved estimate v2, 8 hours / $480, today” |
| No reply | No, unless your contract says so | Follow up (see the next section) |
This is practical guidance, not legal advice. Whether a message counts as acceptance depends on your contract and jurisdiction.
When a client won’t approve
- Set a review window up front. Put the reply-by date in the request, for example three working days, and agree in your contract what happens if it passes.
- Send one short reminder when the window ends, with a single question and a link. Say what the delay affects: “If I don’t hear back by Friday, this moves to my next free slot.”
- Let estimates expire. A valid-until date gives you a reason to follow up and lets you re-price when your schedule or the scope has changed.
- Find the blocker. The wrong person may have the request, a detail may be missing, or the estimate may be too large to approve in one go. Split it into smaller pieces.
- Don’t build unapproved scope. Work on approved tasks and leave the rest waiting with the client.
Hi [name], a quick reminder: [request title] is waiting for your approval since [date]. Can you reply "Approved" or tell me what to change by [date]? Until then it stays out of my schedule.
Client approval vs feedback vs sign-off
| Term | What it is | Who gives it | What it decides |
|---|---|---|---|
| Feedback | Comments, questions and suggestions during the work | Anyone on the client side | Nothing on its own |
| Approval | A yes to a proposal, usually the estimate | The named approver | Work can start on the agreed terms |
| Sign-off | A yes that the delivered work meets the criteria | The named approver | The task can close |
Run the workflow in TaskOH
In TaskOH, estimate approval and delivery approval are two separate decisions on the same task. Both are part of Solo ($1.99 per workspace per month), Pro and Business; the Free plan does not include them.
- Scope: mark the task in scope or out of scope and record hours and a fee for billable out-of-scope work.
- Estimate: send a price, a time estimate or both. The task moves to Needs client and the client approves or declines it. After a decline you can send a revised estimate.
- Delivery: request delivery approval when the work is ready. The task moves to Needs client again, and the client approves the delivery or requests changes. Requesting changes needs a comment, which goes into the task conversation.
- Record: each decision is logged in the task history with who made it and when.
Clients decide in the client portal, where they sign in with an email link or a password and see what is waiting on them. Activity history retention depends on the plan, so keep anything you need for contracts or billing in your own records. TaskOH does not create invoices or collect client payments. Before estimating, use the client request template to get the details you need. See current plans and limits.
Client approval FAQ
What should a client sign-off email include?
The review link and version, the acceptance criteria you checked, where you tested, anything not included, a reply-by date and a clear ask: approve, or list what does not match the criteria.
Is “looks good” in chat a client approval?
Treat it as a likely yes, not a recorded one. Reply asking the client to confirm which estimate or version they approve, or ask them to approve it where you track decisions.
Who should approve on the client side?
One named person with authority over budget and scope. Others can give feedback, but only that person approves, so you never wait on a group decision.
How long should a client have to approve?
Long enough to review properly and short enough to keep the schedule, often a few working days. Agree the window in your contract and repeat the date in each request.
Should estimates expire?
Yes. A valid-until date protects your schedule and lets you re-price if the scope or your availability changes. After it passes, send a revised estimate rather than starting on the old one.
Do I need a signed client sign-off form?
Not for routine tasks; a written “Approved” or a recorded decision is usually enough in practice. Large milestones or contracts that require formal acceptance may call for a signed document. Check your contract.