Short answer: treat software migration as a controlled replacement. Name one owner, preserve an untouched source export, decide what moves, map relationships, test a difficult sample, reconcile counts and money, freeze changes, load the final delta, and release only when every critical test passes. Keep the source accessible or securely archived through rollback and retention. Cancel only after the business, financial, and required compliance reviewers accept the evidence.
Last checked: August 27, 2026. Research method: documented public research using official vendor help centers, terms, and US federal sources; this is not firsthand testing. ToolBuyerDesk did not access vendor accounts, run an import, or inspect reader records. Behavior varies by plan, region, contract, configuration, volume, and implementation scope. The example is synthetic. This is software-workflow guidance, not legal, tax, accounting, payroll, immigration, or employment advice.

Download the migration workbook
The nine-sheet XLSX turns this guide into a working control file: inventory data, map fields and relationships, assign cutover tasks, reconcile totals, record acceptance tests, preserve rollback evidence, and log source checks. Save a controlled working copy, restrict access, and do not place sensitive production data in an unsecured shared file.
Who this migration plan is for
- Best fit: a small service business that has selected a replacement scheduling, CRM, invoicing, or field-service platform and now needs a one-time cutover plan.
- Also useful for: an owner, office manager, operations lead, bookkeeper, or implementation partner coordinating customers, properties, jobs, appointments, estimates, invoices, payments, staff, and historical records.
- Not the best fit: a team still choosing software, building a permanent two-way integration, moving an enterprise data warehouse, or seeking a vendor to guarantee compliance.
- Get qualified review: when payroll, tax, timekeeping, personnel, benefits, I-9, health, payment-card, litigation-hold, or jurisdiction-specific retention rules affect what must be preserved and who may access it.
If the replacement product is not settled, start with the service-business software selection guide and the ToolBuyerDesk software hub. A migration plan cannot repair an unresolved product or workflow decision.
Migration, integration, and selection solve different problems
| Reader job | Primary question | Finish line | ToolBuyerDesk resource |
|---|---|---|---|
| Software selection | Which product fits the workflow and budget? | A supported buying decision and implementation scope | Selection framework |
| Ongoing integration | How should two or more live systems exchange data? | Owned events, durable IDs, monitoring, retry, reconciliation, and support | Integration guide |
| One-time migration | How do we replace a source system without losing working records? | Accepted target data, operational cutover, recoverable rollback, and retained archive | This migration plan |
This guide deliberately does not repeat the integration guide’s event maps, webhook retries, or continuing reconciliation schedule. Migration owns the finite sequence: extract, classify, map, test, freeze, load, accept, stabilize, archive, and decommission.
Choose one of four migration modes
| Mode | Best fit | What moves | Main risk | Required safeguard |
|---|---|---|---|---|
| Clean operational start | A new business or a source with little useful history | Current customers, active price list, users, and future work | Staff may need old context that was left behind | Searchable source archive and a written lookup process |
| Active-data cutover | A small team replacing a cluttered platform | Active customers, open leads, future jobs, open estimates, balances, and required reference fields | Recent history may be separated from active work | Defined history window and linked legacy IDs |
| Selected-history migration | Service history affects recurring work, equipment, warranties, or customer support | Active data plus a justified period or category of completed records | Partial relationships and inconsistent status mapping | Object-by-object inclusion rules and relationship tests |
| Fuller historical transfer | A supported destination and a business need for detailed history | Most supported records, activities, attachments, and relationships | Longer cutover, more exceptions, more sensitive data, and false confidence in “complete” | Vendor-confirmed scope, staged loads, control totals, exception ownership, and retained source evidence |
“Move everything” is not a migration mode until every object, exclusion, relationship, retention requirement, and acceptance test is named. Prefer the smallest scope that preserves active work, financial accuracy, operational history, customer promises, and required records.
How this framework was built
We reviewed documented import, export, account-closure, and retention behavior for eight products used across scheduling, field service, CRM, invoicing, and payments. The review asks five questions: what the destination can import, what the source can export, which relationships or files may be lost, who needs permission or vendor help, and what access remains after cancellation. It is a portability reality check, not a ranking. A documented feature is not verified performance, and a vendor-supported migration is not proof that every record will transfer.
Eight-vendor portability reality check
| Product and scope checked | Documented import path | Export or retention caveat to plan around | Official documentation |
|---|---|---|---|
| Jobber Current public help; plan-dependent export; job import marked beta | Clients use CSV, TSV, or PSV under 2.5 MB. Job import supports up to 1,000 jobs per run; invoice import supports 500 rows. | Job custom fields are not imported, past-job dates have limits, and the job-import revert window is ten minutes. Client exports are available on select plans and split above 1,499 records. Subscription cancellation ends data access after the paid term; permanent closure is final. | Clients, jobs, invoices, exports, and cancellation |
| Housecall Pro Public US/Canada documentation; MAX assisted-import option; terms modified July 1, 2026 | Self-service job and customer imports accept spreadsheet files. MAX customers can work with the data-import team on customers, job history, equipment, and price books; fees may apply beyond standard work. | Only one customer level is supported, unmapped fields are discarded, and support recommends reversing a bad import rather than deleting and reimporting it yourself. Only admins can export customer and job lists. Terms say a terminated account is disabled within 14 days and retained information is not guaranteed. | Import/export guide and terms |
| Workiz Current public help and US terms | Separate flat CSV or XLS/XLSX files can cover clients, jobs, leads, estimates, invoices, and items, typically through technical support. | Documented exclusions include images and files, calls and messages, parent-client relationships, extra properties, timelines, service plans, and several line-item or metadata fields. Public export guidance is largely report-level CSV/PDF or individual downloads. Terms provide for immediate loss of access at termination and allow permanent deletion of content. | Import overview, report export, and terms |
| ServiceTitan Current knowledge base; all business types/trades; terms last updated July 17, 2026 | During onboarding, an Implementation Manager supplies XLSX templates for customers, equipment, jobs, estimates, and accounts receivable. A separately configured general CSV integration exports data one way through SFTP. | Current terms promise only commercially reasonable post-termination export efforts, possibly for a fee, with no representation about completeness or timeliness. The export period is no more than 60 days, and the delivered format may be .BAK, .MTF, or another chosen format. Telephony summaries and transcripts are not exportable. | Import preparation, CSV export, and current terms |
| HubSpot All plans with plan-gated features; Product Specific Terms modified April 14, 2026 | The import tool supports multiple CRM objects and activities. Unique identifiers are needed to update, deduplicate, and preserve associations; custom association labels require Professional or Enterprise. | Existing emails, meetings, notes, and tasks cannot be updated by import. Record exports contain current property values and associations, while activities can require separate paths. Smart CRM, Free Services, and most other Hubs may provide no post-term access; Marketing Hub Professional and Enterprise have a 30-day written-request path. | Import tool, file requirements, record exports, and product terms |
| Zoho CRM Global product with edition and data-center differences | The migration wizard handles multi-module CSV files and relationships, with up to 200 files and 25 GB total in current documentation. | Official pages conflict on the per-file maximum: the overview says 5 GB while the FAQ says 2 GB. Use the lower limit and confirm in the tenant. Module exports allow 200,000 CSV or 50,000 XLSX records per run; links expire after seven days. Full backup excludes IMAP email. Closing the account is different from cancelling to a free edition. | Migration overview, migration FAQ, exports, and backup |
| QuickBooks Online United States edition checked; some imports plan-gated | Supported imports include core lists and many transactions. Intuit says to import lists—accounts, customers, vendors, employees, classes, locations, products/services—before transactions. US bill import is restricted to Advanced. | The standard export is selected reports and lists, not a database image. Estimates, purchase orders, statements, attachments, and other non-posting data use separate paths. A cancelled single subscription becomes read-only for one year and is then deleted; QuickBooks Payments must be handled separately. | Import FAQ, data export, and cancellation |
| Square US Support Center checked | Square Dashboard can bulk-import customers and item libraries. Customer matching and item-field mapping happen during import. | An import cannot re-subscribe a previously unsubscribed marketing contact. Taxes and some modifier relationships may need manual setup, and CSV handling can corrupt leading-zero or long SKUs. Card-on-file export requires support and may take up to two weeks. Account deactivation is irreversible and removes access to payment history, tax forms, and account information. | Customer import, item import, card export, and deactivation |
Practical conclusion: do not schedule cancellation from the new system’s proposed go-live date. Build the cancellation date backward from the slowest export, payment-token transfer, vendor-assisted import, financial close, retention review, and rollback requirement.
Prerequisites before migration work starts
- A signed product decision with destination plan, region, add-ons, import scope, support contact, and contract term
- Migration, business, and financial owners plus a named stop-work authority
- Source and target admin access plus secure storage for exports and evidence
- A current workflow map from inquiry through scheduling, service, invoicing, payment, payroll/time handoff, and follow-up
- A test workspace or labeled test records with customer messages and automatic billing disabled
- A retention schedule and litigation-hold check
- A manual continuity process for bookings, urgent work, payments, and staff communication during the freeze
Step 1: define scope, finish line, and authority
Write a finish line that names the operating result, not the files uploaded. Example: “Staff can find every active customer and property, complete future work, match accepted estimate and invoice totals, and retrieve required history without using the source for daily work.”
Name who approves data, money, permissions, and daily workflow. The migration owner coordinates evidence but should not silently accept a financial variance or decide a retention question outside their authority.
Expected outcome: one scope statement, one target date, named approvers, a stop-work authority, and written exclusions.
Step 2: inventory and classify every data set
Inventory objects before fields. Include customers, properties, recurring work, access instructions, estimates, invoices, payments, staff, time, equipment, files, messages, and consent status as applicable. Classify each object as migrate, archive, rebuild, or retire.
Worksheet 1: data inventory
| Object | Source count/date | Business use | Decision | Sensitivity/retention | Owner |
|---|---|---|---|---|---|
| Customers and properties | ____ as of ____ | Identity, service location, contact | Migrate / archive / retire | ____ | ____ |
| Future and recurring work | ____ as of ____ | Calendar and customer promise | ____ | ____ | ____ |
| Open estimates/invoices | ____; total $____ | Revenue and collections | ____ | Financial record | ____ |
| Completed history/files | ____ through ____ | Support, warranty, proof | ____ | ____ | ____ |
| Users, roles, time/payroll data | ____ | Access and workforce workflow | ____ | Restricted | ____ |
Expected outcome: every source object has a disposition, owner, count date, and retention classification; “everything” is not an accepted value.
Step 3: export a protected source snapshot
Export while the source account is active. Include lists, reports, configuration, custom fields, statuses, users, supported attachments, and documents the bulk export omits. Record filters, time zone, date range, user, plan, region, file and record counts, and a checksum where supported. Keep an untouched original; work only on copies.
Open every file. Check encoding, leading zeros, dates, multiline notes, currency, negative amounts, archived records, and relationship keys. An “export complete” message does not prove the files are readable or sufficient.
Expected outcome: a readable, access-controlled source package with recorded scope and an untouched recovery copy.
Step 4: map fields, values, IDs, and relationships
Map durable IDs before names. Preserve legacy customer, property, job, estimate, and invoice IDs in target fields when possible. Define how locations, parent/child records, recurring work, statuses, money, owners, consent, and file references translate. Accept a blank target only with a documented reason and lookup path.
Worksheet 2: field and relationship map
| Source object.field | Target object.field | Transform/allowed values | Unique or relationship key | Null rule | Test evidence |
|---|---|---|---|---|---|
| Customer.external_id | Customer.legacy_id | Text; preserve exactly | Unique | Reject blank | ____ |
| Property.customer_id | Location.customer_link | Lookup through legacy customer ID | Parent relationship | Exception queue | ____ |
| Job.status | Job.status | Booked→Scheduled; Done→Completed; Cancelled→Cancelled | Legacy job ID | Reject unknown | ____ |
| Invoice.balance | Archive/reference or opening balance | Approved financial method only | Invoice number + legacy ID | Financial stop | ____ |
| Customer.sms_suppressed | Contact.sms_suppressed | True remains true; never infer consent | Customer ID | Default suppressed | ____ |
Bounded AI assistance for field mapping
An LLM can suggest field matches in a structured draft when given sanitized source headers, the target schema, allowed values, and mapping rules. Every output is a proposal. Never send production customer, employee, payroll, tax, payment, credential, or immigration data to an unapproved model.
- Use copies and give the model no production write access.
- Require a schema: source field, proposed target, transform, confidence, reason, question, and verification test.
- Reject fields or values absent from the supplied schemas.
- Require human approval for every mapping and transform.
- Use deterministic checks for counts, IDs, dates, money, tax, consent, and duplicates.
- Record provider/model, version, region, date, input provenance, reviewer, accepted change, and output location.
- Keep the pre-AI copy, approved map, import copy, exception log, and rollback path.
NIST’s voluntary AI Risk Management Framework supports AI-risk management; it does not make output correct. Reconciliation and approval remain deterministic and human-owned.
Expected outcome: every included field, relationship, transformation, rejection rule, and test is explicit; unresolved mappings cannot enter the production file.
Step 5: prepare the target and clean a working copy
Create users, roles, custom fields, statuses, taxes, products/services, notifications, and relationships before loading. Disable automated messages, invoices, payment requests, marketing, and staff alerts until tested. Clean a working copy while retaining every original value and reason.
Do not “clean” a disputed balance, legal name, worker classification, time entry, tax code, consent state, or historical document based on convenience. Route it to the qualified owner and preserve the source evidence.
Expected outcome: the destination schema is ready, external actions are suppressed, and every material cleanup is traceable to an owner and rule.
Step 6: run a representative test import
Test a difficult sample, not ten clean customers. Include multiple locations, duplicate names, special characters, long notes, archived records, recurrence, rescheduling, cancellation, discounts, deposits, partial payments, credits, custom fields, files, former owners, suppressed contacts, and invalid rows that must reject safely.
Record which rows created, updated, skipped, failed, or duplicated. If the vendor offers reversal, document its exact time limit and scope before the run. Never assume a rollback removes messages, payments, integrations, or downstream records.
Expected outcome: a test result that exposes both supported and unsupported data, with no external customer or financial action.
Step 7: reconcile records, relationships, money, and workflow
Compare totals by object and status, then trace records both ways; counts can pass while relationships fail. Verify customer, property, equipment, job, recurring visit, estimate, invoice, payment, owner, and consent links. The person responsible for the books must approve financial totals.
Worksheet 3: control totals and open work
| Control | Source | Target | Difference | Explanation/evidence | Approver |
|---|---|---|---|---|---|
| Active customers | ____ | ____ | ____ | ____ | ____ |
| Future appointments/visits | ____ | ____ | ____ | ____ | ____ |
| Recurring series | ____ | ____ | ____ | ____ | ____ |
| Open estimates | ____ / $____ | ____ / $____ | ____ | ____ | ____ |
| Open invoices/credits | ____ / $____ | ____ / $____ | ____ | ____ | ____ |
| Files or records excluded | ____ | Archive: ____ | N/A | Retrieval test: ____ | ____ |
Worksheet 4: acceptance tests and exceptions
| Test ID | Record/workflow | Expected result | Actual evidence | Pass/fail | Exception owner/due |
|---|---|---|---|---|---|
| MIG-01 | Multi-property customer | All properties linked once | ____ | ____ | ____ |
| MIG-02 | Recurring appointment | Next dates, duration, crew, and instructions correct | ____ | ____ | ____ |
| MIG-03 | Part-paid invoice | Accepted balance and reference agree | ____ | ____ | ____ |
| MIG-04 | Suppressed contact | No reminder, marketing, or review request sent | ____ | ____ | ____ |
| MIG-05 | Former employee owner | Record routes to approved active owner | ____ | ____ | ____ |
| MIG-06 | Missing required key | Row stops safely in exception log | ____ | ____ | ____ |
Expected outcome: every difference is zero or explicitly accepted, and every critical workflow has observable pass evidence.
Step 8: plan the freeze, final delta, and cutover
Choose the shortest workable edit freeze. Define stopped actions, permitted emergency work, its temporary record, and final-delta entry. Avoid payroll, tax deposits, billing, close, busy service periods, and unsupported hours. Tell staff which system is authoritative; tell customers what affects appointments, access, payment, or communication.
Worksheet 5: time-stamped cutover runbook
| Time/window | Action | Owner | Evidence | Dependency | Abort trigger |
|---|---|---|---|---|---|
| T-24h | Confirm vendor support, approvals, and continuity sheet | ____ | ____ | Release gate draft | Missing approver/support |
| T-2h | Announce source edit freeze; disable automated sends | ____ | ____ | Staff acknowledgement | Critical channel still writing |
| T0 | Export final delta and record counts/hash | ____ | ____ | Source access | Unreadable/incomplete export |
| T+1h | Import approved files in documented order | ____ | ____ | Target configuration | Unexpected duplicate/action |
| T+3h | Run critical acceptance and financial controls | ____ | ____ | Import complete | Any critical failure |
| Release | Approvers sign; enable only tested actions | ____ | ____ | All gates pass | Approval missing |
Expected outcome: every cutover action has a timestamp, owner, predecessor, evidence requirement, and abort trigger.
Step 9: apply a binary release gate
A weighted score can hide a serious failure, so this migration uses a binary gate. Release only when every required item is true. A vendor consultant’s completion message does not replace business acceptance.
- □ Untouched source export and retrieval instructions are secured.
- □ Every critical object count and monetary control agrees or has signed, specific acceptance.
- □ Critical relationships and future work pass sample tracing in both directions.
- □ Roles, least-needed access, former-user handling, and sensitive fields pass review.
- □ Customer messages, invoices, payment requests, marketing, and review requests remain off until their tests pass.
- □ Manual continuity records created during the freeze are included.
- □ No unresolved critical exception, unexplained duplicate, or unknown rejected row remains.
- □ Rollback steps, authority, time boundary, and source re-entry plan are current.
- □ Business, financial, and any required compliance approvers have signed the evidence.
Expected outcome: “go” means all mandatory evidence exists; otherwise the result is “no-go” or “extend the freeze,” not an optimistic percentage.
Step 10: stabilize or roll back
Rollback is more than import reversal. Stop target writes, preserve evidence, identify actions already sent or paid, restore source access, enter continuity changes, notify staff, and reconcile before resuming. Do not delete records merely to make counts match; use the documented correction path.
Worksheet 6: rollback, archive, and decommission register
| Control | Trigger or requirement | Action/owner | Evidence/location | Due/retain until | Status |
|---|---|---|---|---|---|
| Rollback decision | Critical financial, duplicate, permission, or workflow failure | Stop authority: ____ | ____ | Decision by ____ | ____ |
| Source restart | Rollback approved | ____ | Continuity changes entered | ____ | ____ |
| Legacy archive | Accepted export plus omitted files/configuration | Custodian: ____ | Restricted location: ____ | ____ | ____ |
| Vendor cancellation | Rollback window and retention review complete | Account owner: ____ | Confirmation: ____ | ____ | ____ |
| Credential/integration removal | Source no longer operational | ____ | Access review: ____ | ____ | ____ |
| Deletion/destruction | Retention expired; no hold or continuing need | Approved by: ____ | Destruction log: ____ | ____ | ____ |
Expected outcome: rollback can be invoked without improvisation, and source retirement cannot occur before archive, access, financial, and retention approvals.
Step 11: archive and decommission deliberately
Keep the source read-only where permitted and justified, or create a secure archive with an index, retrieval instructions, custodian, access log, encryption/backup method, retention date, and destruction authority. Before cancellation, retrieve a customer history, invoice, payment, former-user record, and required employment document.
Remove integrations, API keys, scheduled exports, shared credentials, mobile access, payment links, forms, widgets, and notification numbers in a documented order. Preserve cancellation and export-request evidence. Update public links only after testing the new paths.
Expected outcome: source records remain retrievable, dependencies are removed, and decommission approval is recorded.
US payroll, HR, tax, and I-9 retention caution
Do not use a SaaS cancellation policy as the business retention schedule. For US federal examples, the IRS says employment-tax records generally must be kept for at least four years after the tax becomes due or is paid, whichever is later. The Department of Labor’s FLSA Fact Sheet #21 says covered employers generally preserve payroll records for at least three years and wage-computation records such as time cards and schedules for two years. Current USCIS Form I-9 instructions require retention for as long as the employee works and, after employment ends, for three years after the first day of employment or one year after termination, whichever is later.
Those are examples, not a complete rule set. Worker type, state and local law, business size, benefit plan, contract, tax item, audit, dispute, litigation hold, industry, and filing schedule can change the answer. Preserve original documents, corrections, approvals, audit trails, and export readability as required. Have a qualified payroll, HR, tax, accounting, immigration, or legal professional approve the applicable schedule before deleting source records or cancelling access. Official references: IRS record-retention guidance, DOL Fact Sheet #21, and USCIS Form I-9 instructions.
Worked example: a six-person cleaning company
This synthetic company is replacing a scheduling/invoicing app after selecting a field-service platform. Its source has 3,240 customers, 3,610 service properties, 286 future visits, 74 recurring series, 41 open estimates totaling $58,400, 96 open invoices totaling $31,760, 12 credits totaling $1,180, six active users, four former users, 1,900 job photos, and eight years of completed work. These numbers are illustrative, not measured performance.
The team chooses selected-history migration. It moves active customers and properties, all future and recurring work, open estimates, accepted invoice references and balances under the bookkeeper’s method, active price-book items, access instructions, suppression status, and two years of completed job summaries. Older jobs, photos, sent documents, and payment reports remain in an encrypted indexed archive because the target import does not preserve every relationship or attachment.
The test sample includes a customer with three properties, a recurring biweekly visit, a cancelled visit, a former cleaner assigned to history, a deposit, a credit, accented characters, a do-not-text flag, and a missing postal code. The first test creates seven duplicate properties because abbreviations differ. The migration does not proceed. The team preserves source values, adds a reviewed address-normalization rule plus legacy property IDs, clears the test using the vendor’s documented process, and reruns the sample. Counts and relationships then pass.
On cutover day, the source enters a two-hour edit freeze after the final crews check out. Dispatch records one emergency call on the continuity sheet. The owner exports the final delta, the implementer loads files in the tested order, and the office manager traces the next day’s first ten visits. The bookkeeper reconciles open invoice and credit totals. Customer reminders remain disabled until the do-not-text case and five real upcoming appointments are reviewed. All binary gates pass, so the owner releases the new schedule and enters the emergency call once.
The company keeps the old subscription through its 30-day rollback window, stores cancellation and archive evidence, and tests two archive lookups. It does not claim that the migration “moved everything.” It can show what moved, what stayed, why, who accepted it, and how a record can be found.
Troubleshooting common migration failures
| Symptom | Likely cause | Safe next check | Do not do |
|---|---|---|---|
| Customer or property duplicates | Name/address matching instead of stable IDs | Pause, export target, compare legacy IDs and normalization rules | Bulk merge without identity review |
| Future appointments shifted | Time zone, daylight-saving, locale, or all-day conversion | Trace stored source time, zone, target display, and notification time | Apply one blanket offset |
| Open balance differs | Credits, deposits, tax, payments, voids, or cut-off timing omitted | Stop release and reconcile invoice-level evidence with the bookkeeper/accountant | Force an opening balance to match |
| Recurring work is incomplete | Series imported without future instances or recurrence rule | Compare series count, next date, end rule, crew, duration, and invoice schedule | Assume one visible visit proves the series |
| Customers receive unexpected messages | Automations were enabled during import | Disable sends, preserve logs, identify recipients, and follow approved correction steps | Delete logs or send an unreviewed mass apology |
| Files or history cannot be found | Export covered records but not attachments, activities, or individual PDFs | Use the inventory and vendor scope; retrieve while source access remains | Cancel first and rely on support recovery |
| Import says complete but totals disagree | Rejected rows, filters, archived states, or duplicate suppression | Reconcile created/updated/skipped/failed counts and inspect error files | Approve based on a completion banner |
| Staff work in both systems | Authority changed without a clear time or continuity plan | Restate the cutover timestamp, freeze rules, and one source of truth | Merge both copies casually after the fact |
Verification after release
- Immediately: confirm user access, next-day schedule, urgent jobs, customer lookup, open estimates, balances, suppressed contacts, and notification settings.
- Daily for week one: reconcile new customers, bookings, completed jobs, invoices, payments, credits/refunds, exceptions, and continuity-sheet items.
- At day seven: review duplicate reports, missing-owner views, rejected rows, staff workarounds, customer complaints, and archive retrieval.
- At the rollback boundary: obtain business and financial acceptance or invoke the documented extension/rollback decision.
- Before cancellation: repeat exports needed for the final archive, confirm retention and legal holds, remove dependencies, and test source-record retrieval.
- After cancellation: retain confirmation, verify old links/integrations are inactive, and record who can access the archive and until when.
Reusable migration checklist
- □ Product, plan, region, contract, support, import, export, and post-cancellation terms checked on a recorded date.
- □ Migration mode and explicit inclusions/exclusions approved.
- □ Business, financial, data, security, and stop-work owners named.
- □ Every object classified as migrate, archive, rebuild, or retire.
- □ Untouched source exports are readable, indexed, secured, and backed up.
- □ Legacy IDs, relationships, statuses, dates, money, tax, owners, and suppression rules mapped.
- □ Target fields, roles, allowed values, and notifications configured before import.
- □ Representative difficult sample and invalid-row tests completed.
- □ Record counts, monetary totals, relationships, and workflows reconciled.
- □ Freeze, final delta, continuity, staff/customer communication, and vendor support windows documented.
- □ Every binary release gate passes; no score overrides a critical failure.
- □ Rollback authority, trigger, time boundary, source restart, and reconciliation steps practiced.
- □ Payroll, HR, tax, I-9, state/local, contract, and litigation-hold retention reviewed where applicable.
- □ Archive retrieval, custodian, permissions, retention date, and destruction approval documented.
- □ Source cancellation occurs only after acceptance, rollback, archive, and dependency checks.
Related operating decisions are covered in the scheduling software guide, field-service software guide, and lead-follow-up audit. Those pages help define the workflow and records that the migration must preserve; this template owns the cutover.
Need help planning a controlled cutover?
ToolBuyerDesk can help document migration scope, field maps, acceptance tests, cutover ownership, archive requirements, and rollback controls. The guide and worksheets remain usable without hiring us, and consulting does not influence editorial rankings.
Sources
All sources below were checked August 27, 2026. Vendor interfaces, plans, limits, terms, and support scope can change; recheck material claims within 24 hours of publication and against the reader’s signed agreement.
- Jobber: Import Clients; Import Jobs; Import Invoices; Export Client Information; Reports Basics; Cancel Your Jobber Subscription; and Permanently Close an Account.
- Housecall Pro: How to Import and Export Jobs and Customers; Terms of Service; and Privacy Policy.
- Workiz: Importing Data into Workiz; Importing Clients; Exporting a Custom Report; and Terms and Conditions.
- ServiceTitan: Prepare Data for Import; General CSV Integration Guide; Export Customers to Excel; and Terms of Use.
- HubSpot: Understand the Import Tool; Format Import Files; Import Multiple Objects; Export Records; and Product Specific Terms.
- Zoho CRM: Data Migration Overview; Migration FAQ; Export CRM Data; Data Backup; Delete a CRM Organization; and Privacy Policy.
- QuickBooks Online, United States: Import FAQ; Export QuickBooks Online Data; and Cancel a Subscription.
- Square, United States: Add and Import Customers; Bulk Import Items; Item Import Troubleshooting; Export Card-on-File Data; and Deactivate an Account.
- US federal retention and AI-risk references: IRS Employment Tax Recordkeeping; IRS How Long Should I Keep Records?; DOL FLSA Fact Sheet #21; USCIS Form I-9 Instructions; and NIST AI Risk Management Framework.