Switching from Treatwell Connect
Export your clients from Treatwell Connect, and your appointments if your account allows it, and import the files unchanged. Tuppence recognises Treatwell’s columns and previews every row before importing.
- Exportclients (+ appointments)
- Add servicesand staff
- Import clientsdry run, then Import
- Import bookingsclashes named first
Treatwell’s words, and ours
Section titled “Treatwell’s words, and ours”| In Treatwell | In Tuppence | Comes over? |
|---|---|---|
| Client | Client | Yes |
| Appointment | Booking | Upcoming only, if your account can export them |
| Service | Service | No, add first |
| Employee | Staff member | No, add first with hours |
| Marketplace bookings, paid via Treatwell | Booking | Paid in Treatwell; the booking here uses the service’s price |
| Vouchers, packages | Gift vouchers, session packages | No, set up again |
What Treatwell exports
Section titled “What Treatwell exports”| File | Contents | Import as |
|---|---|---|
| Client list (CSV) | Name, mobile, email, birthday, notes, marketing consent, visits | Clients |
| Appointments (CSV, where your account allows) | Date, time, client, service, employee, status | Upcoming bookings |
Add services first under Bookings › Services (or import a spreadsheet), using Treatwell’s service and staff names so appointments match. If your account can’t export appointments, add upcoming ones by hand or import your own spreadsheet.
Export from Treatwell
Section titled “Export from Treatwell”- Clients: in Treatwell Connect on a computer, go to Clients › Export.
- Appointments: in the calendar’s appointment list, set dates from today onwards and select Export.
Import into Tuppence
Section titled “Import into Tuppence”- Go to Imports › Clients and choose the client list. You see Read as a Treatwell client export, the column feeding each field (and why any are left out), and a dry run: new clients, existing ones (same email or phone), and unreadable rows.
- Select Import. You can undo it for 24 hours.
- Go to Imports › Upcoming bookings and choose the appointments. Calendar clashes are named before anything is created. Bookings import as confirmed and nobody is messaged: Treatwell already told your clients, so their first message from you is the reminder.
With the API, upload the file unchanged to
POST /v1/imports; source and format show how
it was read:
import osfrom tuppence import Tuppence
tuppence = Tuppence(os.environ["TUPPENCE_SECRET_KEY"])
export = """First name,Last name,Mobile,Email,Gender,Birthday,Notes,Marketing consent,Client since,Last visit,Number of visitsAnouk,de Vries,+44 7700 900601,anouk.devries@example.com,Female,03/09/1994,,Yes,12/04/2024,08/09/2026,9Lorcan,Byrne,+44 7700 900602,lorcan.byrne@example.com,Male,,Sensitive skin,No,30/07/2025,,2"""upload = tuppence.request("POST", "/v1/imports", body={"kind": "clients", "file": export})print(upload["source"], "·", upload["format"]["name"]) # treatwell · Treatwell client exportprint(upload["dry_run"]["created"], "clients to import") # 2 clients to importWhat comes over
Section titled “What comes over”| Treatwell’s column | In Tuppence |
|---|---|
| First name, Last name | Name |
| Mobile | Phone, in E.164 (+44…, +1…) |
| Email (matches existing clients before phone) | |
| Birthday | Date of birth |
| Notes | Notes |
| Date, Time, Client, Mobile, Email | Booking, and who it’s for |
| Service, Employee | Service and staff member, matched by name |
| Status | Cancelled and no-show appointments skipped |
What doesn’t come over
Section titled “What doesn’t come over”- Marketing consent: consent doesn’t transfer. Ask clients again before sending anything but booking messages.
- Cards, payments, prices: appointments paid through Treatwell’s marketplace stay paid there. Bookings use the service’s price here.
- Visit history (Client since, Last visit, Number of visits).
- Vouchers, packages: set them up again.
- Gender, where each appointment was booked, and its length (bookings use the service’s length here).
- Past appointments.
If Treatwell changes its export
Section titled “If Treatwell changes its export”A file is recognised when most of Treatwell’s columns are present. Missing or renamed columns are
matched by header or content (a column of email addresses becomes the email) and flagged. Fix any
wrong match, then select Check with these columns. In the API, format.missing lists each with
its field and the column matched instead. An unrecognisable file is read as a plain
spreadsheet; send source: "treatwell" to force the Treatwell format.