Change order script · Client delay
Migration data needs cleanup the client did not mention
The export arrived three weeks late and full of duplicates. Migration was scoped as is. Here is how to propose cleanup as a paid option, not a silent burden.
Natalie Brooks10:42 AM
Here's the product export finally! Some SKUs might be duplicated, could you tidy those up while importing?
Possible scope change, visible to your team only
Cites SOW section 3.4, Data migration. Estimated 23 hours. Change order draft ready for PM review.
The situation
The SOW says data migrates as exported and that cleanup is a client task or a priced add-on. The export is late, which has already compressed the schedule, and it has quality problems: duplicate SKUs, inconsistent variant names and missing images. Cleaning it means judgment calls only the client can make, plus scripting and verification work from the agency.
Why this script works
The script quantifies the issue with real numbers from the file, which makes the request concrete. It offers to do the cleanup, explains the decisions the client needs to make, and is honest about the schedule effect of the late export.
- Scenario
- Client delay
- Clause to cite
- SOW section 3.4, Data migration
- Typical effort
- 23 hours
- Typical change order
- $3,795 at $165/hr
- Reply within
- Same business day
The script
Three versions: the quick reply, the email and the nudge.
Start in the channel where the request arrived, then follow with the email and change order. Copy any version and replace the bracketed placeholders.
Youdraft, reply in thread
Hi [Name], thanks for sending the export! We ran a quick check: about [N] duplicate SKUs and [M] products with inconsistent variant names. Our SOW (section 3.4) has data migrating as exported, with cleanup as an optional add-on, since some fixes need your team's judgment. I'll send a short change order for cleanup plus a list of the decisions we need from you. Also flagging that the export timing moves the import date to [date].
Replace every [bracketed] placeholder before sending. Your PM approves every message, TWINJAM never contacts clients on its own.
What not to say
Small wording changes decide whether the client hears help or a bill.
| Avoid | Say instead | Why |
|---|---|---|
| “Your data is a mess.” | “Our review found [N] duplicates, here is the list.” | Specific numbers, no judgment. |
| “Sure, we'll tidy it while importing.” | “Cleanup needs a few decisions from you, here is the add-on.” | "Tidy" hides days of work and responsibility for decisions you shouldn't make alone. |
| “This delay is on you.” | “The export arrived on [date], so the import moves to [date].” | Dates speak for themselves. |
SOW clause to cite
SOW section 3.4, Data migration
Source data is migrated as exported by the client. Cleanup, deduplication and enrichment are excluded, and are available as an optional add-on at the Schedule 1 rate. Late delivery of the export moves the import date day for day.
No clause like this in your SOW? Use one of the SOW templates for your next engagement, and have your counsel review final contract language.
CO-PHG-PLUS-07
Migration data needs cleanup the client did not mention
| Line item | Hours | Amount |
|---|---|---|
| Data profiling and duplicate detection scriptsData engineer | 6 | $990 |
| Decisions sheet and client review sessionProject manager | 3 | $495 |
| Variant normalization and dedupe executionData engineer | 10 | $1,650 |
| Verification report and re-import testQA engineer | 4 | $660 |
| Total | 23 | $3,795 |
Priced at a $165 blended hourly rate. Cites SOW section 3.4, Data migration.
Step by step
From the client’s message to a signed change order.
The script is one step. The process around it is what keeps scope conversations short and friendly.
- 1
Check the request against your signed SOW. For this scenario the clause to cite is usually SOW section 3.4, Data migration.
- 2
Reply the same day in the channel where the request arrived, using the Slack version. Agree with the goal before you mention scope.
- 3
Estimate the work as line items with hours. This scenario typically lands around 23 hours.
- 4
Send the email version with the change order attached and two or three options, including a lighter or free path where one exists.
- 5
Set a decision date tied to the schedule. If there is no reply in three business days, send the follow-up.
- 6
Record the approval or the decision to defer, so the SOW baseline stays accurate for the next request.
Related scripts
- New featureClient asks for a new payment gatewayThe checkout was scoped for Stripe. Now the client wants PayPal and Klarna too. Here is how to say yes to the idea and yes to the budget in the same message.
- Extra revisionClient requests a fourth design revisionThe SOW includes two revision rounds. The client is asking for round four. This script keeps the relationship warm while making the next round a paid, scoped decision.
- Content lateClient misses the content delivery deadlineFinal copy and images were due two weeks ago. The launch date has not moved. This script resets the timeline kindly and makes the cost of compression visible.
- New featureClient asks for extra landing pagesThe site build included 20 pages. Marketing now wants six campaign landing pages before launch. This script turns a favor request into a quick, approved add-on.
Agency Change Order Scriptbook
12 polite Slack and email templates to ask for more budget without friction.
The scriptbook collects the twelve conversations agency PMs dread most, from the fourth design round to the after-launch feature, with the SOW clause to cite and a change order form for each.
Spot the request before the work starts.
TWINJAM flags out-of-scope requests in Slack, Teams and Jira, cites the SOW clause and drafts a change order like this one for your PM to approve.