You'll get files. That part is real. What you won't get is your system.
A typical export produces one CSV file per object. Contacts in one file. Deals in another. Projects, tasks, time entries, invoices, each in their own. Open one and it looks fine. Open two and try to connect them, and the trouble starts.
The link between records lives in ID columns. Your task file has a project ID. Your project file has a client ID. Those IDs are the vendor's internal numbers, and they mean nothing anywhere else. Rebuilding the relationships is real work. It's not hard work for a developer, but it's not a drag-and-drop into a new tool either.
Formulas come out as values, not formulas. A calculated margin field exports as the number it happened to be that day. The logic behind it is gone. Same with rollups, conditional formatting, and anything that computed on the fly.
Custom fields usually export, but the field definitions don't. You get a column called "Priority Tier" full of text. You don't get the dropdown options, the validation rules, or the fact that only three roles could edit it.
The parts that rarely come out at all
Some things almost never survive an export. Plan around that.
- Attachments and uploaded files. Most exports give you a URL that expires, not the file itself. Pulling ten years of PDFs, photos, and signed contracts takes a script that walks every record and downloads each file. That's a scripted export, not a copy and paste.
- Automations and workflows. The rule that emails a client when a job hits stage four is configuration inside the vendor's product. There's no file format for it. You document it and rebuild it.
- Dashboards and reports. You can export the underlying rows. The chart, the filters, and the saved view are gone.
- Permissions and role structures. Who could see what is a security model, and it stays with the platform.
- Comment threads, @mentions, and activity history. Some vendors include comments. Many don't. Audit logs are the least likely to be exportable.
- Email and call logs synced from a mailbox. These often live in a separate subsystem with its own export rules, if any.
The pattern is simple. Rows come out. Behavior stays in. Your data is the easy part. The years of accumulated logic your team relies on every day is the part you'd be rebuilding from memory.
Almost every SaaS contract says you own your data. Read it closely. It says you own the content, not that the vendor guarantees you a usable copy of it in a format anyone else can read. Ownership and portability are two different promises.