Switch software without losing a single file.
Moving off legacy practice management software is the reason most firms put it off for years. Esqase imports contacts and matters by CSV, and rebuilds your practice areas as templates.
Bring the file, not just a name and a date
Download the template, paste your export into it, and Esqase counts what is ready and what will skip before it writes a row. Your practice areas carry over as matter templates you reuse.
Build the fields your old system tracked before you import, and the template gains a column for each one, so a migrated matter arrives complete.
Custom fieldsMatter templates
Recreate each practice area's stages, tasks, and team.
Practice areas and stages
Match the lanes your old system already had.
Bring your fields and your numbering too
A team distrusts software that forgot how the old one worked. Custom fields hold the details you tracked before, your numbering picks up where you left off, and the API handles a larger move.
Two imports and a setup checklist.
Read the setup guide docsContacts
Import contacts from a CSV
Start from the template Esqase builds for your firm, then load the address book in one pass.
A template per firm
Every column, plus one for each custom field.
Checked before it writes
See what imports and what skips, then commit.
Matters
Import matters from a CSV
Bring case history across with the practice area, stage, dates, and attorney set per row.
The whole case list
Up to 50,000 rows in a single pass.
A skipped-rows report
Each row that did not land, and why.
Getting started
The Setup Guide
A checklist that walks a new firm through the settings worth deciding before the team logs in.
Decide the basics once
Accounts, payments, and availability.
Bring the team in
Invite each member with the right role.
Set up, then move the records in.
Browse the docsFAQs
File formats, volume, documents, fields, and numbering.
What file format does Esqase import?
A CSV, for both contacts and matters. Download the template Esqase generates for your firm, which already carries every column it understands plus one for each of your custom fields, then paste your export into it. The importer matches columns by their header name, so keep the header row as it is.
How much data can I bring across?
Up to 50,000 rows per file, imported in the background so the rest of the app stays usable while it runs. A whole address book and case list move over in one pass rather than record by record. For a larger or more complex migration, the API is there if you would rather script the move.
What happens to rows that are not clean?
Esqase checks every row when you choose the file and tells you how many are ready and how many will skip, with examples, before it writes anything. Afterwards you download a skipped-rows report naming each row, the reason, and your original data, so you can correct those rows and import them on their own.
Do documents come across too?
Upload the files themselves into the documents workspace once your contacts and matters are in, since a CSV cannot carry a PDF. They file against the matter the same as anything created in Esqase, and content search reads what is inside them while your firm has AI document indexing turned on.
Will my practice areas and stages carry over?
Rebuild them here. A practice area holds its own matter types and its own ordered stages, and a matter template adds the team, billing setup, and starting tasks on top. Opening a new matter in that practice area applies the template, which is closer to how a legacy system opens a file than a blank matter is.
What happens to the custom fields we used to track?
Recreate them in Esqase. A custom field belongs to contacts, matters, or leads, takes a type such as text, date, number, dropdown, or currency, and can be bundled into a field set. Create them before you import and the CSV template gains a column for each one, so a migrated record arrives with the same details.
Can our numbering scheme stay the same?
Yes. Matter, invoice, lead, and task IDs each take your own prefix, suffix, digit length, and optional year, and you set the next number, so numbering can continue from where your old system stopped rather than resetting to 1.