Test a Vendor's Data Export Before You Commit
Before you commit to a platform, test its data export the way you would use it to leave. A working export button is not a working exit. Here is how to check.
Before you put real data into any platform, run its export the way you would run it on the day you leave, and try to rebuild from the result. Almost nobody does this. They see an export button, assume it works, and only discover on their way out that the export is a partial, mangled, or unusable version of what they need. By then the data is inside, the integrations are wired, and leaving is a project. The export button is a promise. Testing it is the only way to know the promise is real. Ten minutes of checking now saves you a trapped quarter later.
Why the export button lies
An export button existing tells you nothing about whether the export is usable. Vendors ship exports that technically satisfy "you can get your data out" while being useless for actually moving. Common failures: the export is a flattened report with no relationships, so records lose their connections. Attachments and files are excluded, only their filenames survive. History and audit trails are dropped. The format is a proprietary blob no other system reads. Rate limits make a full export take days. Each of these is a way to say "portable" while keeping you stuck, and I unpack the pattern in portable data export that is more than a CSV.
What to actually test
Do not just click export and confirm a file downloads. Do the harder thing: try to reconstruct a working dataset from it.
Check completeness. Does the export include every entity you care about, not just the headline records? Contacts and their notes, orders and their line items, documents and the actual file bytes. Count what went in and confirm it comes out.
Check the relationships. Open the export and verify that connected records still point at each other. A dump where a customer's orders are no longer linked to the customer is not portable, it is a jigsaw with missing pieces.
Check the format. Can another system read it without a custom parser you would have to write? Documented CSV, JSON, or a standard schema is portable. An undocumented proprietary format is lock-in wearing an export button.
Check the effort. Time the export. If pulling your full dataset takes days because of rate limits or manual steps, that friction is part of the lock-in. On the day you are trying to leave, that friction is a wall.
Do this during evaluation, not after
The leverage is all before you sign. During a trial, load representative data, run the export, and attempt a rebuild. If it works, you know your exit works. If it does not, you found out while you still have the option to walk. This is the same reason I run a vendor exit fire drill on tools I already depend on: an escape hatch you have never opened is not an escape hatch, it is a hope.
Make the export part of your evaluation checklist alongside features and price. A tool that nails the demo but cannot give you your data back is a tool that will cost you far more than its subscription. This belongs next to the other questions in what no vendor lock-in actually requires.
When a weak export is a dealbreaker and when it is not
Weight it by what the data is. For your core records, the systems that carry customers, money, or operational history, a weak export is disqualifying. That data has the most gravity and the highest cost to lose. For a peripheral tool holding data you could recreate or do not need to keep, a limited export is a smaller risk you can knowingly accept.
The point is to decide with eyes open. A tested export turns "I think I can leave" into "I know I can leave," and that knowledge is what makes a platform a choice instead of a trap. I keep my core data on infrastructure I control through HostSSH precisely so there is no export button to trust. For everything I do rent, the export gets tested before the data goes in. Never after. After is too late, and after is exactly when you find out.