I wrote the standard for making websites AI-operable. Learn More

Switching systems

Don't worry about losing fifteen years of client history.

Fixed-price, fixed-scope data migrations between business systems — for the company that has already decided to switch and is now stuck on getting its data out intact.

— the problem Why the switch stalls

The decision is usually easy. The new system is better, or cheaper, or the old vendor has stopped answering the phone. Then someone in the room asks what happens to the ledgers, or the charts, or the activity log — and the project sits there for another eighteen months.

That hesitation is correct. Most of these systems were never designed to let you leave, and the data does not come out in one clean file. It comes out through report exports, licensed data feeds, direct database reads, and occasionally through nothing at all, depending on what your contract permits. Working out which of those you actually have is the first real piece of work, and it happens before you commit to anything.

What I sell is not a promise that nothing will be lost. It's a written account, before you commit, of exactly what moves, what doesn't, and what it will cost — followed by a process where nothing touches production until you have signed off on a reconciliation you checked yourself.

— pricing Published, fixed before anything starts

Three tiers. Fixed price, fixed scope.

Almost everyone starts with the assessment, because the assessment is what makes a fixed price for the migration possible. Quoting a migration without one is guessing, and a guessed price is how migrations turn into hourly billing halfway through.

Tier

Scope

Price

Migration Assessment

A read-only audit of your source system.Full inventory of what data exists and what is actually extractable, record counts by object, a written risk register, and a fixed-price quote for the full migration. You own the report whether or not you go further with me.

$1,500 – $2,500

Standard Migration

One source system to one destination.Extraction, field-by-field mapping, cleaning, a staged test load into a sandbox, a written validation report, scheduled cutover support, and a 30-day correction warranty.

$6,500 – $15,000

Complex / Multi-Entity Migration

Multiple locations, systems, or long history.Everything in Standard, across multiple locations or source systems — plus historical data beyond three years, custom field reconciliation, and a parallel-run period before the old system is retired.

$18,000 – $40,000

Add-on

Post-migration data hygieneOngoing reconciliation, duplicate monitoring, and sync health checks on the new system. Offered after cutover, not before — there is nothing to monitor until there is.

$500 – $1,500 / month

The assessment fee is credited toward the migration if you proceed with me. If you don't, you keep the report and the quote — take them to another vendor and hold their proposal against them.

— process Six steps, in order, every time

Nothing touches production until you've signed off.

This is published in full because it's the answer to the real question. A migration you can inspect, verify, and reverse is a fundamentally different purchase than a migration you have to trust.

01

Assessment

A read-only connection to your source system. Full inventory of what data exists, what is technically extractable, and what will be lost. Record counts by object, a written risk register, and a fixed-price quote for the migration. You own the report regardless of whether you proceed.

02

Mapping

A field-by-field mapping document — every source field, where it lands, how it's transformed, and what happens to the ones with nowhere to go. You sign it before any code runs. This is where scope creep dies, and it's why the price holds.

03

Test load

The full migration, run into a sandbox instance of the destination system. Not a sample — the whole thing. You log in and click around your own data before a single record reaches production.

04

Validation

Record counts on both sides, tied out object by object. A spot-check protocol you run, against records you choose. It ends in a written reconciliation report that you sign. If the counts don't tie, we don't cut over.

05

Cutover

Scheduled, usually a weekend, sequenced around your billing calendar rather than around the convenient date. The rollback plan is written and agreed before the cutover starts — not improvised if something goes wrong.

06

Warranty

Thirty days of corrections included. Things surface in week two that nobody could have found in validation — a code that meant something different in 2014, a report that doesn't tie. Those are mine to fix, not yours to discover and pay for.

— the honest part What does not survive a migration

Every vendor pitching you a migration will tell you nothing will be lost. That is never true, and you already suspect it. Here is what is generally true across every system pair, before we have even looked at yours:

Anything stored as an image or free text stays an image or free text. If your old system recorded something as a scanned page or a note blob, it arrives as a scanned page or a note blob. It does not become structured, searchable data because it changed systems.

Custom reports do not migrate. They are rebuilt against the new system's reporting layer, and that is separate work with a separate price.

Interface customizations, macros, and templates do not migrate. The data moves; the way your staff interacted with it gets rebuilt.

Full general-ledger transaction detail rarely survives as like-for-like history. In most engagements you carry balances forward and keep the old system in read-only archive mode for prior-period reporting. Anyone claiming otherwise has not closed a year on the far side of one.

Live integrations are re-established, not migrated. Carrier downloads, lab equipment, payment terminals, imaging modalities — the historical data moves, the connections get rebuilt, and some of them have lead times measured in weeks. That sequencing goes into the plan up front, because discovering it at cutover costs you a month.

Internal record IDs change. The new system issues its own. Anything you have keyed externally to an old ID needs a mapping table, which I produce and hand to you as part of the migration.

The assessment turns this general list into your specific list, with record counts attached. That is most of what you are buying.

— systems Named pairs, with the specifics written out

What I migrate.

Each pair has its own page covering how the data actually comes out of the source, what moves object by object, what doesn't, and the undocumented quirks that decide whether it goes well. Search for your current system — if your pair isn't here, it doesn't mean no, it means the page isn't written yet. Ask.

0 shown
Migration
Industry
The hard part
Typical tier
Yardi → AppFolio
Property management
Ledger depth and deposit interest
Standard – Complex
Dentrix → Open Dental
Dental
Whether perio exists as data
Standard – Complex
AVImark → ezyVet
Veterinary
Vaccine reminders fail silently
Standard – Complex
AMS360 → Applied Epic
Insurance agency
Attachment-to-transaction linkage
Standard – Complex
Buildium → AppFolio
Property management
Easy extraction, so scope is the risk
Standard
RealPage → Entrata
Property management
Enterprise scale and module sprawl
Complex
Eaglesoft → Open Dental
Dental
The account-versus-patient split
Standard – Complex
Dentrix → Curve Dental
Dental
A cloud target with a fixed importer
Standard
Cornerstone → ezyVet
Veterinary
In-house lab results and their linkage
Standard – Complex
HawkSoft → Applied Epic
Insurance agency
The log is the E&O record
Standard – Complex
QQCatalyst → EZLynx
Insurance agency
Someone else set your deadline
Standard
Time Matters → Clio
Legal
Fifteen years of custom fields
Standard – Complex
PCLaw → Clio
Legal
Trust accounting must reconcile exactly
Complex
Amicus Attorney → Clio
Legal
Access is the constraint, not effort
Standard – Complex
PracticePanther → Clio
Legal
Trust balances, even on an easy pair
Standard
FieldEdge → ServiceTitan
Field service
Equipment records and service agreements
Standard – Complex
Housecall Pro → ServiceTitan
Field service
Creating structure that never existed
Standard
ServiceTitan → Housecall Pro
Field service
Deciding what to deliberately drop
Standard
Sage 100 Contractor → ServiceTitan
Field service
Job costing has no destination
Complex
eClinicalWorks → athenahealth
Medical
Discrete data versus a PDF of your chart
Complex
Allscripts → athenahealth
Medical
Which Allscripts product you are on
Complex
Practice Fusion → Tebra
Medical
Export terms decide what you can take
Standard – Complex
— fit Who this is for

Good fit: A business that has already chosen its destination system, has years of history it cannot afford to lose, and has discovered that neither vendor considers getting the data out to be their job. Property managers, dental and veterinary practices, insurance agencies, and multi-location operators of any kind.

Not a fit: A business still deciding which system to buy — come back when that's settled, because the assessment is scoped against a specific destination. Also not a fit: anyone whose source system has already been fully decommissioned with no data access remaining. In that situation recovery is partial and expensive, and I would rather say so now than take the assessment fee.

Start before you cancel the old contract, not after. The single most expensive mistake in this category is losing access to the source system before the extraction is complete. If you have already given notice, say so in the form and I will prioritize accordingly.

— FAQ Common questions

Questions people ask before requesting an assessment.

How much does a data migration cost?

A migration assessment is $1,500 – $2,500. A standard one-source-to-one-destination migration is $6,500 – $15,000. Complex migrations — multiple locations, multiple source systems, historical data beyond three years, or a parallel-run period — are $18,000 – $40,000. Every price is fixed before work starts, and the assessment is what makes fixing the migration price possible.

Why do I need an assessment before the migration?

Because a fixed price without one is a guess, and a guessed price becomes hourly billing halfway through. The assessment establishes what data actually exists, what is extractable given your contract and access, what will be lost, and how many records of each type there are. That is what a real fixed quote is built from. It also frequently changes the buying decision — occasionally it shows the migration is simpler than feared, and occasionally it shows the destination vendor's own conversion team can handle it.

Isn't the new vendor supposed to do this?

The destination vendor's onboarding team will import data given to them in their templates, and they are generally good at that. What sits outside their scope is getting the data out of the old system, interpreting a decade of company-specific field use, cleaning it, and reconciling the result. That gap is the work. The two efforts are complementary — I hand their onboarding team clean, validated files in their format.

What happens if something goes wrong at cutover?

The rollback plan is written and agreed before cutover starts, and the old system stays available in read-only mode. That is the entire reason the process is sequenced the way it is: sandbox first, validation second, production last. By the time anything reaches production it has already been loaded once and inspected by you.

How long does a migration take?

An assessment is typically one to two weeks. A standard migration runs four to eight weeks from signed mapping document to cutover, most of which is mapping and validation rather than the load itself. Complex engagements with a parallel-run period run longer and get a written schedule up front. The genuine variable is how fast your side can review and sign off on the mapping document.

Do you sign an NDA and a BAA?

NDA on request before anything is shared. For healthcare and dental work, a BAA is signed before any data moves rather than after. Test data lives in a scoped environment and is destroyed at the end of the engagement on a documented schedule.

What if my systems are not on your list?

Ask. The named pairs are the ones with pages written; they are not the limit of the work. The process is the same regardless of the pair, and the assessment is how an unfamiliar system stops being unfamiliar. If a pair turns out to be genuinely infeasible, you find that out during the assessment rather than after committing to a migration.

What is the 30-day warranty?

Thirty days after cutover, corrections are included. Migrations surface issues in week two that could not have been found in validation — a code that meant something different in 2014, a report that doesn't tie, an edge case in a record type nobody remembered existed. Those are mine to fix at no additional cost.

— start here Step 1 of the process

Request a migration assessment.

The assessment is the read-only audit — what data exists, what is extractable, what will be lost, and a fixed-price quote for the migration itself. It is priced at $1,500 – $2,500 depending on scope, fixed before anything starts, and the report is yours whether or not you go further.

Tell me what you're moving. I read every one of these personally and reply within one business day, usually with a couple of specific questions about your source system — the answers change the price, so it's worth asking early.

Nothing is committed by this form. No payment, no contract, no scheduling sequence. It starts a conversation.

If your destination vendor can handle it, I'll say so. Some conversions genuinely don't need an independent migration.

I respond personally within 1 business day. Your details are used to answer you and nothing else — no list, no sequence.

All product and company names referenced on this page and its subpages are trademarks of their respective owners. Naming a system describes migration work involving it; it does not imply any affiliation with, partnership with, or endorsement by its vendor.

Before you give notice

Find out what's actually recoverable.

The assessment is read-only, fixed-price, and yours to keep. Worst case you learn your migration is simpler than you feared and you take the report to someone cheaper. That's a fine outcome.

I respond personally within 1 business day. No pitch — just a real conversation.