Contact Import and Export Formats
Supported CSV and VCF formats for contact import/export, including field mappings and de-duplication rules.
Use Settings → Contacts for contact-level import/export.
- Import:
.csvor.vcf - Export:
.csvor.vcf
This article explains which contact file formats work best and how PracticeRunner reads them.
Contact Import (CSV)
Supported CSV layouts
- Split-name format (for example:
First Name,Middle Name,Last Name) - Full-name format (for example:
ClientorFull Name) - SimplePractice Client Details Report format
At minimum, each row needs either:
First Name+Last Name, orClient/Full Name
CSV field mapping
| CSV column (accepted names) | Imported to |
|---|---|
First Name, Firstname, Given Name | Client.firstName |
Middle Name, Middlename | Client.middleName |
Last Name, Lastname, Surname, Family Name | Client.lastName |
Client, Name, Full Name, Client Name | Split into firstName, middleName, lastName |
Email | Main client email (ClientEmail.address) |
Phone | Client.phone and main ClientPhone.number |
Date of Birth, DOB | Client.dob |
Address, Street | Client.street |
City | Client.city |
State | Client.state |
Zip, Postal | Client.zip |
Country | Client.country |
Notes | Client.notes |
Date Added | Client.dateFirstSeen |
Status (Active, Archived, Prospect) | Client.status (normalized to ACTIVE, ARCHIVED, PROSPECT) |
Primary Clinician, Clinician | Matched to the clinician by full name. If no match is found, the importing user is assigned |
Primary Insurance, Insurance, Payer | ClientInsurance.payer |
Insurance ID, Member ID | ClientInsurance.memberId |
Notes:
- New contacts default to
ACTIVEunless the file says otherwise. - Insurance details are only created when the file includes insurance information.
Contact Import (VCF)
Supported VCF expectations
- Standard vCard 3.0 cards
- Individual cards
- Couple cards with
&/&in name fields (split into two individual contacts)
VCF field mapping
| VCF field | Imported to |
|---|---|
N: family/given/additional | lastName, firstName, middleName |
FN: | Used when separate name fields are missing and to normalize full names |
EMAIL | Main client email (ClientEmail.address) |
TEL | Client.phone and main ClientPhone.number |
BDAY | Client.dob |
ADR | street, city, state, zip, country |
NOTE | Client.notes |
Additional VCF behaviors:
- Middle initials/names are normalized into
middleName. - If the middle name is missing in the card fields, PracticeRunner can use the filename when it includes the missing name.
- Couple records are split and imported as individual contacts.
De-duplication and Merge Behavior
When importing, PracticeRunner tries to match an existing contact in this order:
- Same first+last name and same email
- Same first+last name and same phone
- Unique first+last match (only when no email/phone provided)
- Unique email match when name matching is not enough
- Unique phone match when name and email matching are not enough
If PracticeRunner finds a match, it updates the existing contact. If not, it creates a new one.
Contact Export (CSV and VCF)
Exports include active clients from your organization.
CSV export columns
| CSV column | Source |
|---|---|
First Name | Client.firstName |
Last Name | Client.lastName |
Email | Main ClientEmail.address |
Phone | Client.phone |
Date of Birth | Client.dob |
Street | Client.street |
City | Client.city |
State | Client.state |
Zip | Client.zip |
Country | Client.country |
Notes | Client.notes |
VCF export fields
| VCF field | Source |
|---|---|
N:last;first;middle;; | Client.lastName, Client.firstName, Client.middleName |
FN:first middle last | Name display field |
EMAIL;TYPE=INTERNET | Main ClientEmail.address |
TEL;TYPE=CELL | Client.phone |
