Docs / Getting started / Importing clients from another tool

Importing clients from another tool

Migrating from Jobber, Skimmer, GorillaDesk, or QuickBooks. CSV format, field mapping, and what to double-check after the import.

Servicio ships a CSV importer designed to accept exports from the four most common tools our customers are coming from. You can also use a generic format if you are moving off a spreadsheet or an obscure tool.

The four import formats we support

  • Jobber: Export "Clients" and "Properties" from Jobber as CSV. Upload both files; we merge them.
  • Skimmer: Export "Customers" from Skimmer Settings → Data export. Our importer handles their pool-specific fields automatically.
  • GorillaDesk: Export "Customers" including custom fields. We flatten custom fields into tags.
  • QuickBooks Online: Export "Customers" including shipping addresses. We create one client per customer and one property per unique shipping address.
  • Generic: A template CSV with columns we define. See below.

Generic CSV format

Download the template from the Customers step of the onboarding wizard (or from /onboarding/customers/template). Required columns:

  • first_name, last_name
  • email (optional but highly recommended)
  • phone (optional but highly recommended)
  • street, city, state, zip (service address)
  • service_key (matches a service you have configured)
  • frequency (weekly, biweekly, monthly, one_time)
  • price_cents (in integer cents — $95.00 becomes 9500)
  • notes (optional free-text field that becomes an access note)
  • preferred_locale (en or es)

What the importer does

  1. Reads the CSV and shows you a preview of the first 20 rows so you can confirm the columns mapped correctly.
  2. For each row, creates (or finds existing) Client + Property + ClientService records.
  3. If frequency is recurring, auto-generates the next 4 weeks of scheduled visits.
  4. If the service_key does not match an existing service, creates a placeholder service with the imported price.
  5. Returns a summary: how many clients created, how many skipped (duplicates), how many errored.
💡
Run a "dry" import first with just 5-10 rows to confirm your column mapping. The main CSV can then be imported with confidence. The importer is idempotent: re-importing the same CSV does not create duplicates (we match on email + address).

Common gotchas when importing

Frequency wording. "Bi-weekly" and "Biweekly" are both parsed as every-14-days. "Twice a month" is ambiguous — we default to biweekly but you should review. "Semi-monthly" (two specific dates per month) is not yet supported; these will import as one-time.
Money format. price_cents is in integer cents. $95 → 9500. $125.50 → 12550. Putting $95 literally will import as 95 cents of service — we catch this in the preview, but check before confirming.
Phone format. US numbers can be imported as 5125551234, (512) 555-1234, or +15125551234 — we normalize them all. Non-US numbers must include the country code.

After the import: what to double-check

  1. Go to Clients and scan the full list. Do counts match your expectation?
  2. Spot-check 5-10 random clients for address correctness and service assignment.
  3. Check the Schedule for the next 2 weeks — does the visit density look reasonable?
  4. Verify that any seasonal clients are tagged correctly (for seasonal auto-pause).
  5. Set up Stripe Connect and invite clients to add a card on file if they are going to use auto-pay.
Our customer success team will migrate your book for free if you are coming from any tool with an export we support, and you have 100+ clients. Email help@servicio.app with "migration" in the subject.

Was this article helpful?

Contact support