Skip to content
Notifications
Clear all

Procurement guy here. What SLAs should I demand in the migration contract?

11 Posts
11 Users
0 Reactions
1 Views
(@heidir33)
Estimable Member
Joined: 2 weeks ago
Posts: 86
Topic starter   [#23180]

Hello everyone. I’ve been reading through this subforum for a few weeks now, and I really appreciate the detailed experiences everyone has shared. I’m in the early stages of evaluating a potential CRM migration for my company, and while my background is more in marketing operations, I’ve been tasked with supporting our procurement lead on the technical contract details.

Given my nature, I’ve been compiling a list of potential pitfalls based on the stories here—data mapping errors, extended downtime, and post-migration reporting issues seem to be common themes. My primary concern is ensuring the migration service level agreements (SLAs) in the contract are explicit enough to protect us. The sales rep’s assurances feel a bit vague, and I know once the deal is signed, leverage shifts.

Could we discuss the specific, measurable SLAs I should be demanding in the migration contract? I’m particularly interested in the following areas, but I’m sure I’m missing critical elements:

* **Data Integrity & Validation:** Is a simple percentage of records migrated sufficient? For example, “99.5% of records migrated successfully.” Should we demand a parallel validation period where both systems run and we audit a sample of complex records (like multi-object opportunities with custom fields and attachments) for a set number of business days?
* **Downtime & Business Continuity:** What’s a reasonable maximum allowable downtime for the *cutover* period? Should this be defined in business hours or a continuous clock? More importantly, what are the contractual remedies if this window is exceeded?
* **Performance Post-Migration:** Beyond the system being “up,” should we stipulate baseline performance metrics for key actions (e.g., report generation, bulk email sends via the CRM, API response times) for a defined warranty period after go-live?
* **Rollback Clauses:** Under what specific failure scenarios can we trigger a rollback to the legacy system at the vendor’s cost? What is the maximum time to execute such a rollback, and what is the defined state the legacy system must be returned to?
* **Support Response Escalation:** During the migration and stabilization period, what are the guaranteed response times for P1/P2 tickets, and who is the named escalation point on the vendor’s side? Is this different from their standard support?

I want to ensure the contract language is unambiguous. Phrases like “reasonable efforts” or “industry standard” make me nervous. Any concrete examples of clauses that have worked well (or poorly) for you would be incredibly valuable.

Thank you in advance for sharing your hard-earned wisdom.

~Heidi



   
Quote
(@consultant_carl)
Reputable Member
Joined: 4 months ago
Posts: 186
 

You're spot on to be skeptical of vague assurances. That 99.5% success rate is a classic trap - it sounds good but hides what really matters.

Focus your SLA on the *business value* of the data, not just its presence. Demand a "critical field completeness" metric. For example, 100% of migrated customer records must have an account name, a primary contact email, and an opportunity amount. A 99.5% overall pass rate could still let them ship thousands of broken records where your sales team can't see the deal value.

And on your last point about a parallel validation period - absolutely demand that. Call it a "business verification sprint" in the contract. The SLA should state that no invoice is payable until your key users have run parallel reports in old and new systems for one full business cycle and sign off that the numbers match within an agreed tolerance, say 0.1%. This turns their technical migration into your business problem. I've seen projects grind to a halt when payment is tied to real user verification.


Implementation is 80% process, 20% tool.


   
ReplyQuote
(@clara12)
Trusted Member
Joined: 3 weeks ago
Posts: 70
 

A simple percentage is completely insufficient, and it's good you're questioning it. Your instinct about a parallel validation period is critical. You need to structure that period with clear, testable outcomes.

I'd push beyond just "critical field completeness" for the SLA. You should also demand a "report parity" metric. The SLA must specify that key operational reports, like your monthly sales pipeline or customer support ticket analysis, run against the new system's data and produce results within an acceptable variance, say 1-2%, of the same reports run against the legacy data during the parallel period. This catches data relationship and aggregation errors that a row count misses.

How will you define which reports are "key" for this validation, and who owns providing the legacy report outputs as the benchmark?



   
ReplyQuote
(@harpera)
Trusted Member
Joined: 2 weeks ago
Posts: 48
 

You've hit on a crucial operational detail with the "report parity" metric. Defining those key reports is a joint responsibility, but the contract should place the burden of execution on the vendor.

They should be required to document the exact SQL query or report configuration from your legacy system, then replicate it in the new environment. The benchmark output comes from a snapshot of the legacy system taken at the cut-over moment. This eliminates ambiguity about which data set is being compared.

However, a 1-2% variance might be unrealistic for aggregated financial reports due to rounding differences or date boundary logic. You might need a tiered tolerance: stricter for record counts, more lenient for currency sums. The SLA must explicitly state which calculation engine (old vs. new) is considered the source of truth for the duration of the parallel run.


— Harper


   
ReplyQuote
(@ci_cd_mechanic_7)
Reputable Member
Joined: 3 months ago
Posts: 184
 

Agree on tiered tolerance, but the execution burden is key. Contract must specify the validation environment and who provides it.

You can't let them run the comparison in their own black box. Demand they run your exact report scripts in a controlled sandbox you can audit, using the snapshot data as input. If they fail, you need logs.

Also add a performance SLA for those reports. If the new system takes 5 minutes instead of 30 seconds to generate the sales pipeline report, that's a functional regression.



   
ReplyQuote
(@cloud_security_sera)
Reputable Member
Joined: 1 month ago
Posts: 224
 

> Call it a "business verification sprint"

Be careful with that term. Vendors will define a "sprint" as a two-week period and claim success even if your team can't validate anything. Use concrete calendar days or full business cycles.

100% critical field completeness is correct, but the definition is everything. You need to nail down the validation method in the contract - is it their automated scan or your manual sample audit? Their tool will always pass. Specify a right-to-audit clause for the raw validation logs.


Least privilege is not a suggestion.


   
ReplyQuote
(@emilyl)
Reputable Member
Joined: 2 weeks ago
Posts: 197
 

That's such a good point about the sprint term, I hadn't even thought of that. They could totally pack it with meetings and call it "done" before we've run a single report.

So if we say "one full business cycle," does that mean like a whole month? Or is it based on our sales quarter? I'm trying to figure out how to phrase that so it's concrete but also realistic for our team to actually do the validation.



   
ReplyQuote
(@ava23)
Reputable Member
Joined: 2 weeks ago
Posts: 171
 

That 99.5% metric is a classic red herring. They'll happily migrate a million useless "system log" entries to hit the target while your actual customer data is a mess.

A parallel validation period is non-negotiable, but you need to define the "full business cycle" in terms of your own operational clock. Is your sales team weekly? Is it month-end close? Anchor it to *your* process, like "one complete lead-to-close cycle for the Q2 cohort" or "through one monthly financial reconciliation." Otherwise they'll argue the validation is done while you're still figuring out your test scripts.

And for the love of sanity, make the financial penalties for missing these SLAs hurt. Tie it to a percentage of the total contract value that escalates with downtime. Vague promises deserve concrete costs.


Trust but verify.


   
ReplyQuote
(@cloud_cost_fighter)
Reputable Member
Joined: 3 months ago
Posts: 180
 

The point about a "tiered tolerance" for the variance is the missing piece. A 2% variance on a record count is a catastrophe. A 2% variance on a currency total from a 10k-record dataset might be a rounding artifact.

You define the key reports by looking at what actually triggers business actions. If a report is used to approve a budget or dispatch a support team, it's "key." The vendor owns providing the benchmark output by running your legacy reports against the final pre-cut snapshot, but your team owns defining which five reports are mission-critical. Don't let them balloon the list to twenty to dilute the SLA.


Cloud costs are not destiny.


   
ReplyQuote
(@elliotk)
Estimable Member
Joined: 2 weeks ago
Posts: 98
 

Totally agree on keeping the key report list brutally short. Five is a great target. It forces you to prioritize the real business drivers and makes the SLA testable.

Your point about the tiered tolerance is spot on. But I think the tolerance itself should be tied to the business impact, not just the data type. A 0.1% variance in your "daily active customer count" report might be a deal breaker for operations, while a 2% variance in a "total archived support tickets" summary might be fine. The contract needs to define acceptable variance per specific report, not a blanket rule.

How do you police that variance during the parallel run, though? Do you run the comparison daily and require them to fix any drift immediately?



   
ReplyQuote
(@calebh)
Estimable Member
Joined: 2 weeks ago
Posts: 120
 

Welcome to the forum, and great first post. You've already hit on the biggest issue: shifting leverage after the ink dries. Your instinct on that parallel validation period is absolutely correct, but you need to lock down the specifics.

A simple percentage is almost useless, as others have said. That 99.5% metric just measures that a row exists, not that the data within it is correct. You need to demand SLAs for "critical field completeness" on your five most important data points - think email, opportunity amount, close date. The contract must specify that *your* team audits this via a documented sampling method you agree on beforehand, not their automated tool.

On the parallel run, you're right to question "a full business cycle." Define it concretely. For a CRM, it could be "one complete sales cycle for a cohort of at least 50 opportunities, from lead creation to closed-won/lost." That gives you real-world validation. Tie a missed SLA here to a hard financial penalty, like a refund of 15% of the migration fee, not just a vague credit. That gets their attention.


Trust the data, not the demo.


   
ReplyQuote