Importing customers from Tradify, ServiceM8, or Excel
Bring your existing customer list across in one CSV upload. Maps fields automatically and dedupes against what's already in Karven.
Updated 2026-05-22
If you've already got a customer list, in Tradify, ServiceM8, Excel, a CRM, or just contacts on your phone, you don't need to retype it into Karven one job at a time. The CSV importer takes any reasonable customer export and brings it in.
This article walks through the export step for the common sources, the field mapping inside Karven, and what happens when names collide.
Where to find it
In the app: Customers → Import. Or hit Cmd-K and search "import".
The screen has three steps: upload, map, confirm.
Exporting from Tradify
In Tradify: Customers → Export → CSV. You'll get a file with columns like name, email, mobile, address, notes. Drop that file into Karven's importer. Karven recognises the Tradify header pattern and pre-fills the mapping for you. You'll see a green "Tradify export detected" pill at the top of the mapping screen.
Things to know:
- Tradify exports both customers and sites. Karven flattens them, a site becomes the customer's primary address, and any extra sites become "secondary addresses" on the same customer record.
- Tradify's "customer type" (residential / commercial) maps to Karven's tags.
- Notes are preserved verbatim. We don't try to parse them.
Exporting from ServiceM8
In ServiceM8: Settings → Data Import / Export → Export Clients. You get a CSV. ServiceM8 sometimes splits "client" and "site" into two files, upload the client file first, then the site file, and Karven stitches them by client UUID.
ServiceM8's address field is concatenated (street, suburb, state, postcode in one column). Karven splits it on import using a postcode-anchored regex. Anything Karven can't parse gets left in a "raw address" field on the customer record, which you can clean up in bulk later.
From Excel or Google Sheets
If you're coming from a spreadsheet, the minimum columns we need are name and one of email or mobile. Anything else is optional. The mapping screen lets you point Karven at whichever column holds what.
Recommended columns, in this order:
| Karven field | Example header in your sheet | | --- | --- | | Customer name | Name / Full Name / Customer | | Mobile | Mobile / Phone / Cell | | Email | Email / Email Address | | Street | Street / Address Line 1 | | Suburb | Suburb / Town | | State | State | | Postcode | Postcode / Postal Code | | Notes | Notes / Comments | | Tags | Tags / Type |
Karven is tolerant of header case and stray whitespace. You don't need to rename anything before exporting.
From your phone
Tradies who've been running on phone contacts only: export contacts from your iPhone using the Contacts app on a Mac (File → Export → vCard), or from Android via a third-party "vCard export" app. Then convert the vCard to CSV, there are free web tools, or Karven can do it inside the importer. Upload the vCard and Karven will offer to convert in place.
Field mapping
The mapping screen shows your columns on the left and Karven fields on the right. We auto-suggest based on header names. You can drag to remap, or set a column to "Skip" if you don't want it imported.
Two columns deserve special care:
- Mobile. Karven normalises numbers to E.164 (
+61...). If your sheet has numbers in04xx xxx xxxformat, that's fine, we'll convert. If a number's plainly wrong (less than 8 digits, or alphanumeric), the row gets flagged. - Email. Standard validation. Invalid emails are flagged but don't block the row, you can fix them in Karven later.
Deduplication
Before the import runs, Karven checks each incoming row against your existing customers. The match key is, in order: email, mobile, then name + suburb. If a match is found, you get three choices:
- Skip, leave the existing customer alone, drop the incoming row.
- Update, fill in any fields the existing customer is missing.
- Replace, overwrite the existing customer with the incoming row.
Default is Update, which is the safest. Bulk-set to Skip if you're paranoid about overwriting.
What happens after
Imported customers appear immediately in the customers list. They don't trigger any emails or SMS, nothing goes to your customers as a side-effect of import. If you want to send a "we've moved to a new system" note, that's a separate manual broadcast from Customers → Broadcast.
Limits and gotchas
- Max 10,000 rows per file. Larger lists, split them.
- Files have to be UTF-8 CSV. Excel sometimes exports as Mac-Roman, re-save as "CSV UTF-8" if Karven complains about encoding.
- We don't import payment history. The importer is for the contact record, not the transaction log.
If something goes sideways, every import keeps a full audit log under Customers → Import history. You can roll back any import in the last 30 days.
Was this useful?
If anything's unclear or out of date, email support@karven.com.au and we'll fix it.