Skip to content

Blog

Leaving a Third-Party System? Plan the Data Migration First

What happens when you move off a third-party system to own your data: the assumptions that break, and why the plan matters more than the migration itself.

· Updated 3 min read · Dino Correia
data-migrationsolution-architecture

TL;DR

  • Moving off a third-party system to own your data sounds simple; building the new system is the easy part.
  • The hard part is the historical data: exports rarely match the assumptions you designed your database around.
  • "Migration completed" is the start of the critical phase, with close monitoring and data fixes to follow.
  • Plan the migration before you start; mapping the scenarios up front makes everything after much easier.

Here’s the scenario. You run part of your business on a third-party system. Now you want to own your data: query it directly and build your own reports on top of it.

Yes, you could periodically download a bunch of CSV files, import them into a spreadsheet, and get your result.

So what’s the problem?

First, that approach is fragile. Someone has to download the files and paste them into the spreadsheet by hand, every time.

Note: this assumes there’s no API or plug-in connecting your system to anything else, for example HubSpot → Zapier → Google Sheets.

Second, whoever owns that task becomes the only person who knows how it works. If they leave the company, you find out that only “John” knew how to keep that report updated.

So you decide: let’s build our own system. But we need to bring all the historical data with us.

Building the internal system is the easy part

  • Everything works
  • Your test data looks right
  • The system runs smoothly

The real test is getting the historical data into it.

(Oh, here we go.)

Getting the data

You ask your provider for a full data export, because you’re migrating.

  • They send you their data catalogue
  • You select the data types you want
  • They send you the export

So far so good.

Then you notice something. You designed the database so the clients table requires a first name and a last name, but the export only has a full name.

That’s the kind of issue you hit when you migrate from a system you never owned: you don’t know the full data definition, so you make assumptions while designing the new database, and some of them turn out to be wrong.

From here, you need to build small transformation processes to deal with each of those mismatches.

Ready to migrate

Once your database design finally lines up with the data you were given, you’re ready to go:

  • Migration scripts
  • A rollback plan
  • Expected downtime
  • Communication to everyone affected
  • And so on

Time to import into the production database.

MIGRATION COMPLETED!

Job done?

Nope.

The critical phase

Now you’re in the critical phase. You need to monitor production closely and check that every feature you built shows the data you expect from what you imported.

Maybe you need to fix more data. Maybe it’s backend bug fixes to handle quirks in the historical records.

A database migration needs careful thought at every step. It’s never an easy job, and it takes real effort from the whole team.

Plan before you migrate

If you’re doing a migration, or about to, my advice is simple: have a good migration plan before you start. Mapping the possible scenarios up front makes it 10x easier to act once the migration is under way. I’ve put the questions I work through into a data migration checklist.

And not every migration has to happen all at once. Assess your use case, plan, and then act on it.

Moving off a third-party platform is also a chance to rethink the data model instead of rebuilding the old system’s limitations. That’s the kind of work I describe in this migration case study, and it’s a big part of what solution architecture is for. If you’re planning a move like this, a migration and integration assessment is the usual way in.

Where this leads

  1. If this is the situation you're in

    Migration & Integration Assessment →

    Understand data, dependencies and constraints before moving or connecting systems.

  2. How a problem like this was worked through

    Case study: Leaving a third-party platform →
  3. Or skip ahead

    Let's talk: tell me about the problem →

Related articles

Blog

Data Migration Checklist: What to Plan Before You Move

A practical data migration checklist: the questions to answer about source data, mapping, cutover, rollback, and validation before you move a single record.

· 6 min read
data-migrationsolution-architecturechecklist
Read →

Blog

Accounting Data Migration: Moving Financial Data Safely

How to migrate accounting and financial data between systems: what to move, opening balances vs full history, reconciliation, cutover timing, and the traps that break the books.

· 3 min read
data-migrationfintechchecklist
Read →

Blog

Architecture Review: What It Covers and When You Need One

What a software architecture review looks at, when it is worth doing, what you should get at the end, and how to prepare so it answers the questions you actually have.

· 3 min read
architecture-reviewsolution-architecturetechnical-decision-making
Read →

Working through something similar?

I help untangle problems like this one.