Jason Hearse 10 min read

How to Export Your Data from SwimBiz (And What to Do Before You Start)

SwimBiz generates 10 CSV export files. Here's what each one contains, how to clean your data, sync your GoCardless mandates, and the exact import sequence to follow.

If you're thinking about switching from SwimBiz, the first question most owners ask is: "Can I get my data out?"

The answer is yes — and SwimBiz is actually quite good at letting you export everything. But there are things you need to do in the right order, and a few SwimBiz-specific gotchas that will catch you out if you don't know about them.

At Vale Swim Academy, we migrated from SwimBiz to ClassBase after several years of running the school on it. We have export files going back to 2018. Here's exactly what we did and what we'd recommend.

ClassBase Migration Guide — step-by-step checklist for migrating from SwimBiz
ClassBase's built-in Migration Guide walks you through every step

Step 1 — Back Up Everything, As Far Back as It Goes

Before you change anything or export anything for migration purposes, do a full archive export of all your data.

This is separate from the migration export. The purpose is simply to preserve your complete historical record — income reports, attendance history, invoice data, everything — in case you ever need to refer back to it.

At Vale Swim Academy, we have SwimBiz exports going back to 2018. Will we ever need them? Probably not. But there are situations — HMRC queries, parent disputes, insurance claims — where historical records matter, and once you've cancelled SwimBiz you can't go back.

Before you do anything else, export:

  • Income reports from your earliest records to today
  • Account receivables reports
  • All customer and student data (full history, not just active)
  • All attendance history

Save everything in a clearly labelled archive folder. This takes 20 minutes and is worth doing regardless of which platform you move to.

Step 2 — Note Your GoCardless API Credentials

This is the step most migration guides miss entirely, and it's one of the most valuable parts of switching from SwimBiz.

SwimBiz requires you to set up your own GoCardless account. Unlike some software platforms that integrate GoCardless at a platform level, SwimBiz has always pointed you at GoCardless directly. That means the GoCardless account is yours — and so are all the parent mandates in it.

Before you do anything else, go into your GoCardless account and note down your API credentials. You'll need these to connect ClassBase to the same GoCardless account.

Why does this matter? Because of what happens in Step 8.

Step 3 — Understand SwimBiz's 10 Export Files

SwimBiz generates 10 CSV exports that between them cover everything in the system. Knowing what each one contains helps you decide what to import and what to leave behind.

# Export file What it contains
1CustomerExport.csvAll customers — names, addresses, contact details, email addresses
2StudentExport.csvAll students/swimmers — names, DOBs, medical notes, assigned levels
3StaffExport.csvAll staff — names, contact details, role assignments
4Classes Export (Date range).csvClasses within a date range — name, day, time, level, capacity, fee
5ClassSessionEnrollmentsExport.csvWhich students are enrolled in which classes
6StudentAttendanceExport.csvSession-by-session attendance records
7WaitingListExport.csvCustomers/students on waiting lists
8WaitListExport.csvSecondary waiting list format (SwimBiz has two variants — export both)
9CreditsExport.csvOutstanding credits on customer accounts
10AdditionalInvoiceItemsExport.csvAdditional invoice line items

You don't need to import all of these. You're making a fresh start — the question is what data you want to carry forward.

Step 4 — Clean Your Data Before Exporting

SwimBiz charges per active swimmer. If you've been running your school for several years, you'll have students in the system who stopped swimming years ago but are still technically "active." If you import them all, your new platform will count them against your student limit.

Before exporting for migration, go through your student list and deactivate anyone who is no longer attending. Do the same for customers — filter to active only and remove dormant accounts.

At Vale Swim Academy, we imported only active customers and students — people who were either currently enrolled or on the waiting list. Historical leavers stayed in the archive but didn't come across into ClassBase.

Similarly for staff — we only imported currently active instructors. There's no reason to bring across staff who left two years ago.

Step 5 — The Waiting List Warning

This is the gotcha that catches the most people out.

Waiting list students are stored separately from enrolled students in SwimBiz. When you export your student and enrolment data, waiting list students are not automatically included — they're in the WaitingListExport.csv and WaitListExport.csv files separately.

If you don't deliberately export and import your waiting list, those students get left behind. Families who have been waiting months for a place simply won't exist in your new system.

SwimBiz has two waiting list export files with slightly different formats. Export both, check what's in each one, and make sure you import them into the waiting list section of your new platform — not as enrolled students.

At Vale Swim Academy, our waiting list was one of the most important things to carry across correctly. Those are warm prospects — families who want to be with you. Losing them in a migration would have been a real problem.

Step 6 — Decide What You're Actually Importing

You don't have to import everything, and being selective makes the migration cleaner.

What we imported:

  • Active customers only
  • Active students only
  • Current classes
  • Active enrolments
  • Recent attendance history (current term)
  • Waiting list entries
  • Current credits
  • Active staff only
  • Additional invoice items

What we left behind:

  • Former staff — only active instructors came across
  • Historical leavers — customers and students not active in over a year
  • Old financial data — kept in archive, didn't need it live in the new system
  • Years of historical attendance — imported the current term, archived the rest

Step 7 — The Import Sequence in ClassBase

ClassBase's migration wizard handles SwimBiz data in 9 steps, and the order matters because each step references the previous one — enrolments need students and classes to already exist, attendance needs enrolments, and so on.

ClassBase data import wizard showing the 9-step SwimBiz migration sequence
ClassBase's import wizard with SwimBiz-specific templates pre-loaded
Step Data type SwimBiz export file
1CustomersCustomerExport.csv
2StudentsStudentExport.csv
3StaffStaffExport.csv (active only)
4ClassesClasses Export (Date range).csv
5EnrolmentsClassSessionEnrollmentsExport.csv
6AttendanceStudentAttendanceExport.csv
7CreditsCreditsExport.csv
8Waiting ListWaitingListExport.csv + WaitListExport.csv
9ProductsAdditionalInvoiceItemsExport.csv

ClassBase has SwimBiz-specific import templates pre-loaded. Column mapping is largely automatic, and the validation step before each import catches issues — duplicate emails, missing required fields, references to students who don't yet exist — so you review and fix before anything goes live.

ClassBase import history showing all SwimBiz data files successfully imported
All 10 SwimBiz export files imported — Vale Swim Academy's completed migration

Step 8 — Connect GoCardless and Sync Your Existing Mandates

This is where the fact that you own your GoCardless account pays off.

Once your customer data is imported into ClassBase, go to Data Import → DD Mandates → Fetch Active Mandates.

ClassBase DD Mandate Sync — fetch active mandates from GoCardless API
One click to fetch and match all active GoCardless mandates to your imported customers

ClassBase connects directly to your GoCardless account via the API and pulls all active mandates in real time. It then matches each mandate to your imported customers by email address — and links them automatically.

The result: your existing parent mandates are connected to their ClassBase accounts without you having to ask a single parent to do anything. No re-invitation emails, no waiting for parents to act, no gap in your payment collection.

This is the biggest practical advantage of the fact that SwimBiz made you own your GoCardless account. The mandate belongs to you, not to SwimBiz. When you switch platforms, you take it with you.

For any customers who don't have a mandate — new enrolments, or anyone whose mandate has lapsed — ClassBase's parent portal lets them set up a new mandate themselves in about two minutes.

Step 9 — Wix Sync (If You Use Wix for Pool Hire)

If you've been running pool hire bookings through Wix Bookings alongside SwimBiz, ClassBase also has a Wix API Sync that imports contacts, booking services, bookings, and memberships directly from your Wix site — more reliably than CSV export because it pulls structured data via the API.

ClassBase Wix API Sync — import contacts, bookings and memberships from Wix
Wix API Sync — connect your Wix site and choose what to import

To use it:

  1. Go to your Wix profile → Account Settings → API Keys
  2. Generate a new API key with permissions for Wix Contacts & Members, Wix Bookings, and Pricing Plans
  3. Find your Site ID from the UUID in your Wix dashboard URL
  4. Enter both into ClassBase's Wix Sync tab and click Connect & Preview

You can choose what to import — contacts, bookings from a specific date, active memberships only — and preview the data before committing. ClassBase handles the import order automatically (contacts → services → bookings → subscriptions).

This means if you're switching from the combination of SwimBiz + Wix Bookings to ClassBase, you can bring everything across in a single migration session.

Step 10 — Configure Agreements, Then Invite Customers

Once your data is imported and mandates are synced, there's one more step before parents can access the portal: you need to invite them to create their ClassBase accounts.

Go to Setup → Invitations → Invite Customers. ClassBase shows you every imported customer who has an email address but no portal account yet. At Vale Swim Academy this was 294 customers — all invited in a single bulk action.

ClassBase Setup Invitations — bulk invite customers with agreements warning
294 customers ready to invite — note the agreements warning banner at the top

But before you send invitations, check the Agreements tab first.

ClassBase will warn you if no agreements are configured: "Customers won't be asked to accept any terms when they set up their account." The invitation flow is when parents accept your terms and conditions — swimming lesson T&Cs, your data protection policy, whatever agreements you require. If you send invites before configuring these, parents create accounts without signing anything.

The correct order:

  1. Setup → Agreements — configure your T&Cs and data policy
  2. Setup → Invitations → Invite Customers — bulk select and send
  3. Setup → Invitations → Invite Staff — send portal invites to active instructors

Parents receive an email with a link to create their account. When they follow it, they accept your agreements and set their password. From that point they can view their schedule, check invoices, see their child's progress, and manage their DD mandate — all without contacting you.

Monitor the Invite Status tab to track who has activated their account and follow up with anyone who hasn't after a week.

How Long Does It Take?

With prepared, cleaned CSV files, the actual import into ClassBase takes under an hour for a school of 150–300 students. The GoCardless mandate sync takes minutes. The preparation — cleaning the data, doing the archive backup, noting the GC credentials — takes longer, but that's time well spent regardless.

At Vale Swim Academy, the full migration took an afternoon. We ran both systems in parallel for one term — continuing on SwimBiz for the current term while setting ClassBase up for the new one. By the time the new term started, ClassBase was fully configured and we switched over completely.

Complete Migration Checklist

Before You Start

  • Archive backup — export all data, all history, back to day one
  • Note GoCardless API credentials

Clean Your Data

  • Deactivate historical leavers in SwimBiz (avoids inflating student count)
  • Remove former staff from StaffExport before importing
  • Filter customers and students to active only

Import into ClassBase (in order)

  • Step 1 — Customers (CustomerExport.csv)
  • Step 2 — Students (StudentExport.csv)
  • Step 3 — Staff (StaffExport.csv — active only)
  • Step 4 — Classes (Classes Export date range.csv)
  • Step 5 — Enrolments (ClassSessionEnrollmentsExport.csv)
  • Step 6 — Attendance (StudentAttendanceExport.csv)
  • Step 7 — Credits (CreditsExport.csv)
  • Step 8 — Waiting List (WaitingListExport.csv + WaitListExport.csv)
  • Step 9 — Products (AdditionalInvoiceItemsExport.csv)

Connect Payments

  • Data Import → DD Mandates → Fetch Active Mandates (existing parent mandates link automatically by email)
  • Wix API Sync if moving pool hire bookings across too

Activate Parent Accounts

  • Setup → Agreements — configure T&Cs before sending invitations
  • Setup → Invitations → Invite Customers — bulk send
  • Setup → Invitations → Invite Staff — invite active instructors
  • Monitor Invite Status tab — follow up after one week

Go Live

  • Run in parallel for one term before switching over completely
  • Cancel SwimBiz once new term is running smoothly

Ready to migrate from SwimBiz?

See how ClassBase compares to SwimBiz →

Start Free Trial