---
title: "How to Export All Data from Practifi: Methods, Limits & Formats (2026)"
slug: how-to-export-all-data-from-practifi-methods-limits-formats-2026
date: 2026-04-06
author: Raaj
categories: [Practifi]
excerpt: "Learn every method to export data from Practifi — native CSV backups, Data Loader, Reports, and APIs — with real limits, formats, and relational mapping risks explained."
tldr: "Practifi has no single full-export tool. The native backup runs once per 7 days and outputs flat CSVs. For migration-ready extracts, use Bulk API 2.0 and resolve 18-digit relational IDs across custom objects."
canonical: https://clonepartner.com/blog/how-to-export-all-data-from-practifi-methods-limits-formats-2026/
---

# How to Export All Data from Practifi: Methods, Limits & Formats (2026)


**There is no single "Export Everything" button in Practifi that gives you a complete, relationally intact extract.** Practifi is built on Salesforce, but it replaces the standard CRM data model with a dense layer of custom objects designed for wealth management. The native Data Export Wizard generates flat CSVs once every 7 days. Data Loader requires object-by-object SOQL queries. Reports cap at 100,000 rows and flatten every relationship. None of these methods preserve the Household → Entity → Contact → Financial Account hierarchy that makes Practifi data meaningful.

A complete Practifi export typically involves parallel workstreams: the native Data Export Wizard for a full org CSV backup, Data Loader or Salesforce Inspector Reloaded for targeted object pulls, the REST or Bulk API for large-scale extraction, and a separate process for files and attachments.

Here is what each method actually gives you:

| Method | Format | All Objects | Relational IDs | Files/Attachments | Frequency Limit | Best For |
|--------|--------|-------------|----------------|-------------------|-----------------|----------|
| **Data Export Wizard** | CSV (ZIP) | ✅ | Flat (raw IDs) | Optional (slow) | Once per 7 days | Org-wide backups |
| **Salesforce Reports** | XLSX, XLS, CSV | Partial (per report) | ❌ (flattened) | ❌ | Unlimited | Ad-hoc business analysis |
| **Salesforce Data Loader** | CSV | Per object | ✅ (via SOQL) | ❌ | Unlimited | Targeted object exports |
| **Salesforce Inspector Reloaded** | CSV | Per query | ✅ (via SOQL) | ❌ | Unlimited | Quick admin queries |
| **REST API** | JSON | Per object | ✅ | Via separate endpoint | API quota | Custom scripts (<50K records) |
| **Bulk API 2.0** | CSV or JSON | Per object | ✅ | Via separate endpoint | 15,000 batches/day | High-volume extraction (50K+) |

If your goal is a **migration-ready extract** — one where household hierarchies, service team assignments, and compliance documents arrive in a target CRM intact — the CSV backup alone is insufficient. You need API extraction or a dedicated migration partner to preserve the relational links between Practifi's custom objects.

For context on why flat CSV files struggle with relational CRM data, see our breakdown of [Using CSVs for SaaS Data Migrations](https://clonepartner.com/blog/blog/csv-saas-data-migration/).

## Understanding Practifi's Architecture: Custom Objects vs. Standard Salesforce

If you assume Practifi is just standard Salesforce with a different UI, your data mapping will fail. <cite index="4-7">Practifi is solving the industry-wide issue of fragmented data, back-office inefficiency, compliance challenges, and limited scalability by providing a wealth management-specific CRM on the Salesforce platform.</cite>

This means Practifi replaces or ignores several standard Salesforce objects entirely. The standard `Lead` object is not used. Neither are `Opportunity`, `Case`, or `Location`. Instead, Practifi relies on a dense layer of **managed package custom objects** — all prefixed with `practifi__` — to model wealth management workflows.

<cite index="32-3,32-4">Practifi's documentation outlines Salesforce objects, their API names, and whether they are used within Practifi, describing objects as data tables where columns represent fields and rows represent records.</cite>

Here are the key custom objects you will encounter during any export:

| Practifi Label | API Name | Purpose |
|---------------|----------|----------|
| Relationship | `practifi__Relationship__c` | Links Contacts to Entities (households, trusts) |
| Relationship Type | `practifi__Relationship_Type__c` | Role semantics (trustee, attorney, dependent) |
| Entity | Account (customized) | Represents households, trusts, organizations |
| Team Member | User (relabeled) | Internal firm users |
| Service | `practifi__Service__c` | Tracks services provided to clients |
| Prospect | Custom record type on Account | Pipeline management for new clients |
| Matter | `practifi__Matter__c` | Tracks deals, onboarding, projects |
| Asset/Liability | `practifi__Asset_Liability__c` | Financial positions and AUM |
| Holding | `practifi__Holding__c` | Investment holdings |
| Plan | `practifi__Plan__c` | Financial plans |
| Policy | `practifi__Policy__c` | Insurance and policy records |
| Reference Document | `practifi__Reference_Document__c` | Monitored identity docs with expiry dates |
| Activity | Standard Task/Event + custom fields | Client interactions, Smart Notes |

<cite index="48-1">The standard Salesforce User object is relabelled as Team Member and represents an internal team member who is a user of Practifi.</cite>

<cite index="43-4">The API name field clarifies the actual name used in the Data Loader to select from when completing data uploads, updates or deletions.</cite>

### Key definitions worth getting straight

- **Household**: Practifi treats households as a primary entity type for grouping multiple individuals covered by financial planning services. In the data model, a Household is a record type on the Account object.
- **Member**: A person inside a household or organization, usually with roles like primary contact, partner, dependent, or employee. Member relationships are not the same thing as generic `practifi__Relationship__c` records.
- **Individual**: A person your firm relates to directly, independent of a household or organization, stored as a Person Account in Practifi's data model.
- **Entity**: The umbrella term for Account-based records that represent households, organizations, trusts, and similar structures.

The most critical custom object is **`practifi__Relationship__c`**. It acts as the connective tissue between Contacts and Entities. It dictates who belongs to a household, who is a trustee, and who acts as external counsel. If you export Practifi data using raw CSVs, these relationships flatten out. You are left with a list of names and a list of accounts, with no relational links between them.

> [!WARNING]
> If you export Practifi objects and see only raw 18-digit Salesforce IDs in the relationship columns, those IDs are the *only* thing linking a Contact to their Household Entity. Lose them or mismatch them, and your target CRM will have orphaned records with no family or firm connections.

For a comparison of how standard Salesforce Financial Services Cloud structures data differently, see our guide to [exporting data from Salesforce FSC](https://clonepartner.com/blog/blog/how-to-export-data-from-salesforce-financial-services-cloud/).

## Method 1: Using the Native Data Export Wizard

The Data Export Wizard is the most accessible path. It is also the most limited.

### How to run a native export

<cite index="1-28,1-29,1-30">Navigate to Salesforce Setup by clicking the gear icon and selecting Setup. Use the Quick Find search to search for and select Data Export.</cite>

1. Log into your Practifi environment as a System Administrator.
2. Navigate to **Setup** (the gear icon).
3. Search for **Data Export** in the Quick Find box.
4. Select **Export Now** for an immediate run, or **Schedule Export** for a weekly backup.
5. Set the file encoding. Optionally check **Replace carriage returns with spaces** for cleaner import files.
6. Check **Include images, documents, and attachments** if you need binary files (this significantly increases processing time).
7. Optionally check **Include Salesforce Files and Salesforce CRM Content document versions**.
8. Select specific modules or choose **Include All Data** for a full backup.
9. Click **Start Export**. You will receive an email when the ZIP file is ready for download. You must download it within 48 hours.

<cite index="1-31,1-32">The Export Now option prepares your files for export immediately. This option is only available if enough time has passed since your last export (7 days).</cite> <cite index="1-33">The Schedule Export option allows you to schedule the export process for weekly or monthly intervals.</cite>

### Key limitations

- **Frequency:** <cite index="1-9">You can export backup data from Practifi once every 7 days.</cite> You cannot run a secondary export to catch incremental changes within that window.
- **File retention:** <cite index="1-11">Exported files are deleted 48 hours after they're generated (not including weekends).</cite> <cite index="1-12">For example, if the export is processed on a Friday, the files are deleted on Tuesday.</cite>
- **Sandbox not supported:** <cite index="1-2,1-3">The data export service isn't supported in sandboxes. You can request an export in your sandbox, but the export doesn't get processed and doesn't complete.</cite>
- **Formula and roll-up fields excluded:** <cite index="59-25,59-26">Formula and roll-up summary fields do not export because Salesforce calculates their values dynamically.</cite>
- **Chatter truncation:** <cite index="1-1">For Chatter posts and comments, Practifi exports up to 1000 characters.</cite>
- **Attachments slow things down:** Including images and PDF attachments increases processing time significantly. Large orgs often see multi-hour or multi-day export windows.
- **Notification goes to one person:** <cite index="1-18">The email address for this notification can't be changed.</cite>
- **Column order is not guaranteed:** <cite index="1-39">Practifi recommends ensuring any automated processes that process the export files rely on the column headings in the CSV files, rather than the position of the columns.</cite>
- **Scheduled exports need re-selection:** <cite index="1-14,1-15">The Include all data option selects all objects for export at the time the checkbox is selected. For a recurring scheduled export, be sure to reselect the Include all data option to include newly created objects.</cite>
- **Person accounts behave differently:** Person-account records included in Contact exports only expose the shared Contact/Person Account fields, which can hide individual-specific data your target system may need.

> [!NOTE]
> **One export at a time.** <cite index="59-17,59-18">If you start a new export — manual or scheduled — Salesforce immediately deletes all files from the previous export, even if the earlier export is still within the 48-hour availability period.</cite>

### What you get

A ZIP archive containing one CSV per Salesforce object (both standard and `practifi__` custom objects). <cite index="1-17">When the export is initiated, Practifi creates a .zip archive of CSV files and emails the user who scheduled the export when it's ready.</cite> Large exports are split across multiple ZIPs. Every relationship column contains a raw 18-digit Salesforce ID — not a human-readable name.

This is fine as a **backup**. It is not migration-ready without significant post-processing.

## Method 2: Exporting via Salesforce Reports

Practifi uses Salesforce's standard reporting engine. You can build custom reports on any Practifi object and export the results.

<cite index="5-1,5-2">Select Export from the drop-down options. Choose an Export View, either formatted report or details only.</cite>

<cite index="5-3,5-4">Formatted Report exports the report as it appears in Salesforce, with the report header, groupings and filter details. Because formatting is retained, you cannot select encoding, and the only supported formatted export file type is .xlsx.</cite>

<cite index="5-5,5-6">Details Only exports each detail row without formatting and is useful for doing further calculations in a spreadsheet. If exporting as Details Only, select Excel Format .xlsx, Excel Format .xls, or Comma Delimited .csv as the format.</cite>

### Key limitations

- **Row caps:** <cite index="60-5,60-6">You can only collect 2,000 rows of data in a formatted report. And you can export up to 100,000 rows and 100 columns in the XLSX format.</cite>
- **Flattened data:** <cite index="56-2">Exported reports do not include relationships or metadata — just the summarized data.</cite>
- **No files or attachments:** Reports cannot export binary content.
- **Filter gotcha:** <cite index="5-16">Typically, the Created Date standard filter will need its Range changed from "Custom" to "All Time" upon report creation.</cite> Miss this and you will get an empty report.

Reports are useful for quick pulls of specific subsets — all Entities with AuM above a threshold, or all active Relationships for a single advisor. They are not suitable for full data extraction.

## Method 3: Using Data Loader and Salesforce Inspector for Targeted Exports

**Salesforce Data Loader** is a desktop application that lets you extract specific objects using SOQL (Salesforce Object Query Language). <cite index="32-7">Most users run into Objects most frequently when attempting to create new Reports or when utilizing the Salesforce Data Loader for firm data uploads or updates.</cite>

### How it works

1. Install Data Loader (available from Salesforce Setup → Data Loader).
2. Log in with your Practifi admin credentials.
3. Click **Export** (or **Export All** to include soft-deleted/archived records).
4. Select the Salesforce object — e.g., `practifi__Relationship__c`.
5. Write or generate a SOQL query to define which fields and records you need.
6. Choose a destination file path. Data Loader outputs CSV.

Example SOQL for exporting all Relationships with their parent Account IDs:

```sql
SELECT Id, Name, practifi__Account__c, practifi__Contact__c,
       practifi__Relationship_Type__c, CreatedDate, LastModifiedDate
FROM practifi__Relationship__c
```

A safe starter query set for broader discovery:

```sql
-- Core entities
SELECT Id, Name, RecordTypeId, OwnerId, CreatedDate, LastModifiedDate
FROM Account

-- People
SELECT Id, FirstName, LastName, AccountId, OwnerId, CreatedDate
FROM Contact

-- Financial tables
SELECT Id, Name FROM practifi__Asset_Liability__c
SELECT Id, Name FROM practifi__Holding__c
SELECT Id, Name FROM practifi__Service__c
SELECT Id, Name FROM practifi__Plan__c
```

Use these as discovery queries, not final migration queries. Real exports add source IDs, owners, status fields, external integration keys, and every lookup needed to rebuild relationships in the target system.

### Key limitations

- **One object at a time:** You must run a separate export for each object (Account, Contact, `practifi__Relationship__c`, `practifi__Service__c`, etc.).
- **SOQL knowledge required:** You need to know the exact API names of Practifi's custom objects and fields.
- **No binary files:** Data Loader exports record data only. Salesforce Files and Attachments require separate API calls.

### Salesforce Inspector Reloaded

<cite index="29-14,29-15">Salesforce Inspector Reloaded is an open-source browser extension that enhances your ability to manage data in Practifi efficiently. While Salesforce does not officially support this tool, it's maintained by an active development team and provides powerful capabilities for data inspection, editing, bulk processing, and integration monitoring.</cite>

Practifi's own documentation recommends it for admin work. <cite index="29-25">Exporting data through Salesforce Inspector Reloaded provides greater flexibility than standard Practifi list views.</cite> It is useful for quick SOQL queries without opening Data Loader, spot-checking record data before a migration, or <cite index="29-1">exporting log data to share with Practifi Support or integration vendors when requesting assistance.</cite>

It is a browser extension — not designed for extracting 50,000+ records at production scale.

### The 18-digit ID problem

This is the single biggest source of errors in DIY Practifi exports.

<cite index="42-1,42-2">When a user transitions off a team or leaves your firm, you may find a need to update client service teams en masse. This can be achieved by importing data via the Data Loader.</cite> <cite index="42-4">In order to update service team relationships for a set of clients, you will need to gather specific data</cite> including:

1. **The 18-digit Account ID:** Found in Data Management or via SOQL.
2. **The 18-digit Relationship Type ID:** Found in `practifi__Relationship_Type__c`.
3. **The 18-digit Team Member ID:** The specific user record ID of the advisor.

<cite index="45-8,45-9">Data Loader will return 18-character IDs by default. The 18-character ID is a combination of the 15-character ID with 3 characters added to ensure uniqueness on a case-insensitive basis.</cite> When reconstructing relationships in Excel, mismatched ID casing silently breaks joins.

Mapping these IDs manually with `VLOOKUP` is error-prone. A single truncated or case-mismatched ID will orphan a client record during import. Now imagine doing this for *every* Household-to-Contact-to-Financial-Account relationship across your entire firm's book. That is the reality of a DIY Practifi migration using Data Loader alone.

> [!TIP]
> If you export with Data Loader or Inspector, keep every source ID even if the destination CRM will not display it to users. Legacy IDs are your only reliable anchor for QA, dedupe, re-linking files, and rollback checks.

## Method 4: Exporting via Practifi (Salesforce) APIs

For any extraction beyond a one-off backup — migration, warehousing, compliance archival — the APIs are the only path that scales.

Practifi inherits the full Salesforce API toolbox. The three most relevant APIs for data export:

### REST API

Best for targeted queries under 50,000 records. Returns JSON. Supports SOQL queries against any standard or custom object, including all `practifi__` managed package objects. Salesforce's Query resource returns up to 2,000 records per batch and uses a server-side cursor for additional results.

```bash
curl https://your-instance.salesforce.com/services/data/v66.0/query/?q=SELECT+Id,Name,practifi__Account__c+FROM+practifi__Relationship__c \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

If you need soft-deleted records still in the recycle bin, use **QueryAll** rather than Query.

**Rate limits:** <cite index="63-6">Salesforce enforces a 100,000 daily API request limit for Enterprise Edition orgs plus 1,000 additional requests per user license.</cite> <cite index="63-10">Limits are calculated on a 24-hour rolling basis rather than a fixed calendar day.</cite> Plan your extractor to checkpoint progress and resume cleanly rather than assuming one uninterrupted run.

### Bulk API 2.0

The right choice for high-volume extraction. <cite index="21-1">The Bulk API is asynchronous and is preferred when dealing with large amounts of data.</cite> Practifi's own API documentation describes it as the go-to for querying data at scale (50,000+ records).

A typical Bulk API 2.0 flow:

```bash
# 1) Create a query job
curl https://your-instance.salesforce.com/services/data/v66.0/jobs/query \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"operation":"query","query":"SELECT Id, Name FROM practifi__Relationship__c"}'

# 2) Poll job status
curl https://your-instance.salesforce.com/services/data/v66.0/jobs/query/<JOB_ID> \
  -H "Authorization: Bearer $TOKEN"

# 3) Download results when status = JobComplete
curl https://your-instance.salesforce.com/services/data/v66.0/jobs/query/<JOB_ID>/results \
  -H "Authorization: Bearer $TOKEN"
```

**Bulk API limits:** <cite index="63-21,63-22">Salesforce Bulk API allows up to 15,000 batch submissions per 24 hours, shared between Bulk API 1.0 and 2.0. Each batch can contain maximum 10,000 records with a 10MB payload limit.</cite>

### Pub/Sub API

<cite index="21-3">The Pub/Sub (publish-subscribe) API is used for integrating external systems with real-time events that trigger when changes are made to data or other custom events.</cite> Not an export tool per se, but valuable if you need to keep a target system in sync with Practifi during a migration window — for example, capturing records created between your initial extract and go-live.

### API export workflow

1. **Authenticate** via OAuth 2.0 connected app.
2. **Describe** the Practifi schema using the Describe API to discover all `practifi__` objects and their fields.
3. **Query** each object using Bulk API 2.0 for high-volume tables, REST API for smaller reference tables.
4. **Extract files** separately using the ContentVersion and ContentDocumentLink APIs.
5. **Download** the result sets (CSV from Bulk API, JSON from REST API).
6. **Reconstruct** relationships by joining on 18-digit IDs across the exported datasets.

> [!TIP]
> Use the `/services/data/v66.0/sobjects/` endpoint to list every object in the org, then filter for API names starting with `practifi__`. This gives you the complete list of Practifi-specific objects to export — something the Data Export Wizard does automatically, but the APIs require you to enumerate manually.

## Files, Notes, and Metadata: The Export Workstreams People Miss

This is where most "we already exported everything" projects fall apart. Record data, files, notes, and metadata are four separate workstreams.

### Files and attachments

Practifi stores compliance documents, client statements, and meeting notes as Salesforce Files (the ContentDocument/ContentVersion model). These are **not included** in Data Loader exports and are **optional** (and slow) in the Data Export Wizard.

Practifi also has a custom `practifi__Reference_Document__c` object for things like monitored identity documents with expiry dates. That is business metadata — different from the actual binary file. Even if you export the document-tracking object, you still need a second pass for the underlying files.

To extract files via API:

1. Query `ContentDocumentLink` to get the mapping between files and their parent records (Accounts, Contacts, etc.).
2. Query `ContentVersion` to get file metadata (title, file type, size, version number).
3. Download each file's binary content via the `VersionData` field:

```bash
curl https://your-instance.salesforce.com/services/data/v66.0/sobjects/ContentVersion/068XXXXXXXXXXXX/VersionData \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o document.pdf
```

4. Preserve the original parent record ID from step 1 so you can re-associate the file in the target system.

This must be done file-by-file or batched carefully to avoid API limits. For a firm with thousands of compliance documents, this is a substantial workstream on its own.

### Notes

Practifi lets you export notes related to an Entity record as CSV, but there are caveats. Salesforce restrictions limit visibility, and report data does not always include note contents. If your firm uses Smart Notes, long text is truncated in the report viewer — you may need a details-only export or PDF export to preserve what users actually wrote. <cite index="2-3">Smart Notes are now available on Tasks and Calls, bringing AI-powered documentation to every activity type in Practifi.</cite> These will not appear in a standard Task export unless you specifically query the Smart Notes object.

### Metadata

If you need custom fields, layouts, automation, or configuration for audit or rebuild purposes, use Salesforce's metadata retrieval tooling (Salesforce CLI / VS Code with `package.xml`-based retrieval). This is a completely separate lane from record-data export and must be planned as its own workstream.

## The Biggest Risk: Reconstructing Households and Financial Relationships

Every export method described above outputs data in flat tables. Practifi's value — the thing firms actually pay for — is the relational graph connecting Households, Trusts, Individual Contacts, Service Teams, Matters, and Financial Accounts.

When you export via CSV, that graph becomes a collection of 18-digit IDs scattered across dozens of files. Reconstruct even one link wrong, and a Contact ends up in the wrong Household, or a Trust loses its beneficiary list, or an advisor's entire book appears unassigned.

Here is what the reconstruction challenge looks like in practice:

```
Account (Entity/Household)
  └── practifi__Relationship__c
        ├── Contact A (Primary)
        ├── Contact B (Spouse)
        └── Contact C (Dependent)
  └── practifi__Service__c
        └── practifi__Matter__c
  └── Tasks / Events / Smart Notes
  └── Files (ContentDocumentLink → ContentVersion)
```

Each arrow in that tree is an 18-digit ID reference. In a firm with 2,000 households and 6,000 contacts, you are looking at 10,000+ relationship records that must be resolved correctly before the data can be loaded into any target CRM — whether that is Wealthbox, Redtail, HubSpot, or standard Salesforce FSC.

### Common failure modes

- **Household context lost:** Who belongs to which household, in what role, and whether the person is a Contact or an Individual (Person Account). These distinctions collapse in flat CSV exports.
- **Orphaned Contacts:** A `practifi__Relationship__c` record references an Account ID that was not included in the Account export — filtered out by a SOQL WHERE clause or missed during selective extraction.
- **Duplicate Households:** Two CSVs contain the same Account ID with slightly different field values (e.g., a name change mid-export). Which record wins?
- **Broken Service Teams:** Service team assignments reference User IDs that do not exist in the target system yet.
- **Financial hierarchy detached:** Assets, holdings, services, plans, policies, and fees no longer land under the right entity if source IDs are dropped or mismatched.
- **Missing Smart Notes:** Smart Notes roll up from Tasks and Calls to Entity records. They will not appear in a standard Task export unless you specifically query the Smart Notes object.
- **File linkage broken:** Documents arrive in a flat folder, not attached to the correct client, household, or service record.
- **Person-account edge cases:** Contact exports can hide person-account-only fields, which matters if your target system expects a full individual profile.

To prevent these failures, the data must be transformed *before* import. Every 18-digit Salesforce ID must be translated into the native relational structure of the target CRM.

## Choosing the Right Export Method

| Your Goal | Best Method | Why |
|-----------|-------------|-----|
| Weekly backup for disaster recovery | Data Export Wizard | Automated, covers all objects, no coding needed |
| Ad-hoc analysis for a specific advisor's book | Salesforce Reports | Filterable, exportable to Excel |
| Targeted pull of one object (e.g., all Contacts) | Data Loader | SOQL precision, handles large volumes |
| Quick spot-check of field values | Salesforce Inspector Reloaded | In-browser, no install needed beyond extension |
| Full migration-ready extract (50K+ records) | Bulk API 2.0 | Asynchronous, handles scale, preserves IDs |
| Real-time sync during migration cutover | Pub/Sub API | Event-driven, no polling needed |
| Compliance document extraction | REST API (ContentVersion) | File-by-file binary download |

## What a Migration-Ready Practifi Export Actually Requires

If you are exporting from Practifi because you are **migrating** — to Wealthbox, Redtail, HubSpot, standard Salesforce FSC, or any other CRM — here is the minimum scope:

1. **All Practifi custom objects** exported via Bulk API with full field sets (not just the fields visible in the UI).
2. **All standard Salesforce objects** that Practifi uses (Account, Contact, Task, Event, User).
3. **All `practifi__Relationship__c` records** — the object that holds your entire household structure.
4. **All files and attachments** downloaded via ContentVersion API, with their parent record mappings preserved.
5. **Notes and Smart Notes** exported with full text content, not truncated report summaries.
6. **Metadata** (field definitions, picklist values, record types) exported via Metadata API or Salesforce CLI, so your target system can recreate the schema.
7. **An ID resolution map** that translates every 18-digit Practifi/Salesforce ID to the corresponding record in your target system.

Skip any one of these, and you will spend weeks debugging broken relationships, missing documents, or phantom records after go-live.

For a broader look at CRM migration tools, check our [Top 5 Best CRM Migration Solutions](https://clonepartner.com/blog/blog/top-5-best-crm-migration-solutions/). If your target is another wealth management CRM, our guide on [exporting from Wealthbox](https://clonepartner.com/blog/blog/how-to-export-all-data-from-wealthbox-methods-limits-formats-2026/) covers the import side of the equation.

## How ClonePartner Handles Practifi Exports and Migrations

We treat Practifi exits as four parallel lanes: core records, relationship repair, files, and metadata. The important part is not just extraction — it is preserving source IDs, rebuilding household/member context, relinking documents, and proving the counts before cutover.

Here is what we do differently from a DIY CSV export:

- **Direct API extraction:** We bypass the 7-day native export limit by pulling directly from Salesforce REST and Bulk APIs. No waiting, no 48-hour download windows. We run delta syncs right up to your go-live date.
- **Automatic ID resolution:** Our custom scripts resolve every `practifi__Relationship__c` record, mapping 18-digit Salesforce IDs to human-readable entity names and rebuilding the full Household → Contact → Service hierarchy in the target system.
- **File extraction at scale:** We extract all ContentVersion documents with their parent record mappings, so compliance files arrive in the right client folder — not in a flat dump.
- **Custom field mapping:** Practifi's managed package fields (AuM fields, service stages, matter types) get mapped directly to equivalent fields in the target CRM schema, avoiding the formatting errors that plague manual CSV imports.
- **Zero downtime:** Your team keeps working in Practifi while we extract. We run a final delta sync before cutover to catch any records created during the migration window.
- **Count reconciliation:** We validate record counts by object and verify relational integrity before touching imports. The destination system is trustworthy on day one.

That is the difference between "we downloaded the data" and "the destination system works."

> Migrating away from Practifi? Our engineers will map your entire Practifi data model, extract every object and file via API, and deliver migration-ready data to your new CRM — in days, not weeks. Book a 30-minute call to scope your migration.
>
> [Talk to us](https://cal.com/clonepartner/meet?duration=30&utm_source=blog&utm_medium=button&utm_campaign=demo_bookings&utm_content=cta_click&utm_term=demo_button_click)

## Frequently asked questions

### How often can you export data from Practifi?

Practifi's native Data Export Wizard allows a full backup once every 7 days. The exported ZIP files are deleted 48 hours after generation (not including weekends). API-based exports (REST and Bulk API) have no frequency limit beyond Salesforce's daily API quotas — 100,000 base requests per 24 hours for Enterprise Edition, plus 1,000 per user license.

### What format does Practifi export data in?

The Data Export Wizard produces CSV files packaged in a ZIP archive. Salesforce Reports can export in XLSX, XLS, or CSV. The REST API returns JSON. Bulk API 2.0 returns CSV or JSON. Files and attachments must be downloaded separately as binary content via the ContentVersion API.

### Does Practifi use standard Salesforce objects?

Partially. Practifi uses standard objects like Account, Contact, Task, and Event, but customizes them heavily. It does not use the standard Lead, Opportunity, or Case objects. Instead, it relies on managed package custom objects such as practifi__Relationship__c, practifi__Service__c, and practifi__Matter__c to model wealth management data like households and service teams.

### How do you preserve household relationships when exporting from Practifi?

Household-to-Contact relationships are stored in the practifi__Relationship__c object as 18-digit Salesforce ID references. When exporting via CSV, these are raw IDs that must be cross-referenced across multiple files. Use Bulk API with SOQL queries or a migration tool that automatically resolves these IDs to rebuild the hierarchy in your target CRM.

### Can you export Practifi data from a sandbox?

No. Practifi's Data Export Wizard does not work in sandbox environments. You can submit an export request, but it will never process or complete. Test your extraction logic with Data Loader, Salesforce Inspector, or APIs instead.
