Importing Clients from a Spreadsheet
Importing Clients from a Spreadsheet
Quickly add your existing client list to Apprentice by uploading a CSV file.
Overview
If you're migrating to Apprentice from another system or have client data in a spreadsheet, you can bulk import your clients instead of entering them one by one. The import tool supports CSV files and uses intelligent matching to avoid duplicate profiles.
Step-by-Step Guide
Step 1: Prepare Your Spreadsheet
Required Columns:
first_name- Client's first namelast_name- Client's last nameemailORphone- At least one contact method
Optional Columns:
email- Email addressphone- Phone number (format: 555-555-5555 or 5555555555)notes- Private notes about the clienttags- Comma-separated tags (e.g., "vip,blackwork,returning")is_vip- TRUE or FALSE for VIP status
Example CSV Structure:
first_name,last_name,email,phone,notes,tags,is_vip
Sarah,Johnson,sarah@email.com,555-123-4567,Prefers morning appointments,vip;returning-client,TRUE
Mike,Chen,mike@email.com,,First timer - nervous about pain,first-timer,FALSE
Jessica,Williams,,555-987-6543,Large back piece in progress,large-project;color,FALSE
Tips for preparing your file:
- Save as CSV: Use File > Save As > CSV (Comma delimited) in Excel
- Check for empty rows: Remove any blank rows at the end
- Consistent formatting: Use the same phone number format throughout
- Test with small batch first: Import 5-10 clients to verify format before doing all of them
Step 2: Access the Import Tool
- Navigate to Dashboard > Clients
- Click Import Clients button (top right)
- The import wizard opens
Step 3: Upload Your CSV File
- Click Choose File or drag-and-drop your CSV
- The system validates your file structure
- You'll see a preview of the first 5 rows
Validation Checks:
- ✅ Required columns present (first_name, last_name, and email OR phone)
- ✅ No duplicate emails/phones within the file
- ✅ Phone numbers in valid format
- ✅ Email addresses in valid format
- ⚠️ Warnings for potential duplicates with existing clients
Step 4: Review Potential Duplicates
The system uses fuzzy matching to detect potential duplicates:
Matching Logic:
- Email match: Exact email address match
- Phone match: Exact phone number match (ignoring formatting)
- Name similarity: Similar first name + last name + similar phone
You'll see three options for each potential duplicate:
Option 1: Skip (Don't Import)
- Use this if the client already exists in your system
- The existing profile won't be changed
Option 2: Create New (Import Anyway)
- Use this if they're actually different people with similar names
- A new profile will be created
Option 3: Update Existing
- Use this to add missing information to an existing profile
- Existing data won't be overwritten—only blank fields will be filled
Step 5: Map Your Columns (if needed)
If your CSV column names don't exactly match the expected format:
- You'll see a Column Mapping screen
- For each column in your CSV, select what it represents:
First Name→ first_nameLast Name→ last_nameEmail Address→ emailPhone #→ phone- etc.
Example:
Your Column Name → Maps To
─────────────────────────────────
"First" → first_name
"Last" → last_name
"Email" → email
"Cell Phone" → phone
"Private Notes" → notes
Step 6: Start Import
- Review the import summary:
- New clients to create: 45
- Existing clients to update: 3
- Rows to skip: 2
- Click Import Clients
- The system processes your file (usually takes 5-30 seconds)
Step 7: Review Import Results
After import completes, you'll see a summary:
Success Report:
- ✅ 52 clients imported successfully
- ✅ 3 existing clients updated
- ⚠️ 2 rows skipped (view details)
View Details:
- Click View Import Log to see exactly what happened with each row
- Download the log as a CSV for your records
Tips
Preparing Clean Data
- Standardize phone numbers: Pick one format (e.g., 555-555-5555) and use it consistently
- Verify email addresses: Check for typos before importing
- Remove test data: Delete any fake/test entries from your spreadsheet
- Normalize names: Use consistent capitalization (e.g., "Sarah" not "sarah" or "SARAH")
Handling Large Imports
- Break into batches: Import 100-200 clients at a time for easier troubleshooting
- Start with VIPs: Import your most important clients first
- Test mapping: Import 5-10 rows first to verify column mapping works correctly
- Check subscription limits: Ensure your plan allows the number of clients you're importing
After Import
- Verify a sample: Spot-check 5-10 imported profiles to ensure data looks correct
- Add missing tags: Review imported clients and add additional tags as needed
- Update VIP status: If VIP status didn't import correctly, manually adjust
- Send welcome message: Consider sending imported clients a message introducing them to your new booking system
Common CSV Mistakes to Avoid
- Using semicolons instead of commas: CSV = Comma-Separated Values
- Not quoting text with commas: If a note has a comma, wrap it in quotes:
"Loves tattoos, especially color work" - Leaving header row blank: First row should have column names
- Using Excel date formats: Convert dates to text (YYYY-MM-DD) before saving as CSV
Common Issues
Issue: Import fails with "Invalid file format"
Solution:
- Ensure your file is saved as .csv (not .xlsx, .xls, or .txt)
- Open the file in a text editor—it should show comma-separated values
- Remove any special characters or formatting
- Try resaving: File > Save As > CSV (Comma delimited)
Issue: Phone numbers imported incorrectly (missing digits, weird formatting)
Solution:
- Excel often auto-formats phone numbers, removing leading zeros or adding decimals
- Before saving as CSV, format the phone column as Text:
- Select phone column
- Right-click > Format Cells
- Choose "Text"
- Re-enter phone numbers if they were already corrupted
Issue: All clients marked as duplicates
Solution: This usually means:
- You previously imported this same file
- Your existing client list already has these contacts
- Review the duplicate matching and choose Skip for actual duplicates
Issue: Tags didn't import
Solution:
- Check your CSV—tags should be in a single column separated by semicolons:
tag1;tag2;tag3 - Commas WON'T work for tags (they separate CSV columns)
- Example:
vip;returning-client;blackwork
Issue: Import succeeded but clients aren't showing up
Solution:
- Refresh your browser (Cmd/Ctrl + R)
- Clear the client list filters (you might have a filter hiding new clients)
- Check All Clients view instead of Recent or Upcoming
- Check the import log to verify they were actually imported
Updated on: 16/01/2026
Thank you!