Moving your gym is the scary part. This isn't.

Your members, their plans, their history — brought across by a guided wizard that knows what your current system's export looks like, shows you every problem row before it writes anything, and undoes the whole import in one click if you don't like what you see.

Included on every plan — no migration fee, no onboarding call required

app.gymstack360.com/settings/data DRY RUN
Review before commit mindbody-clients.xls · 1,284 rows
1,204 members ready
Names, emails, join dates, plans
Will import
4 plans to create
Monthly Unlimited, Off-Peak, Student, 10-Class
New
62 rows with no email
Give them a placeholder, or skip them
You decide
“hold” isn't a status we know
18 rows — map it to Frozen?
Answer first
0 rows will be silently dropped
Everything is either imported or shown to you
Good
Date order
03/04/2025

A row in this file reads 25/12/2024 — only day-first can explain it, so we're reading the whole file as day-first and telling you so.

Settled by your data
After you commit
Undo this import

Removes only the 1,204 rows this job created. Members who already existed are left exactly as they were.

Nothing written yetThis is a dry run — you commit when it looks right
We know your export

It already knows what your system spits out.

A generic CSV importer says “upload a file” and leaves you to work out which of your old system's fourteen reports to run. This one names the report, tells you where the button is, and warns you about the specific way your vendor's export is awkward.

Mindbody

Exports as XLS, and memberships live in a second report. The wizard names both and tells you which columns matter.

ABC Glofox

Client filters are gated by your plan on their side. We tell you what to click for the widest export you're entitled to.

PushPress

The cleanest export of the lot. Usually a single file and a single pass.

TeamUp

You choose the columns on export, so we match on header names rather than assuming a fixed layout.

Zen Planner

Export scope follows the permissions of whoever is logged in. Use an owner login or you'll quietly get a partial file.

Wodify

One combined Name column in .xlsx. We split it without mangling “van der Berg” or “de la Cruz”.

Clubworx

No one-click export — you build a member report first. The wizard walks you through building it.

GymMaster

Members and memberships arrive as two separate reports. Bring both and we'll join them.

A spreadsheet

CSV, .xlsx, Google Sheets or Numbers — including the one someone has been keeping by hand for six years.

Something else

Any system that exports CSV or Excel. You map the columns once and the wizard handles the rest.

Eight steps

Nothing is written until step seven.

1

Source

Pick who you're leaving.

2

Export

Click-by-click instructions for that exact system.

3

Upload

Drop the file in. CSV or Excel, either way.

4

Match

Columns are matched automatically. Fix any it guessed wrong.

5

Setup

Plans and locations found in your file, ready to create.

6

Fix

Every problem row, triaged before it becomes your problem.

7

Review

A dry run and a confirmation naming the gym and destination.

8

Done

Headcount reconciliation, next actions — and undo.

The hard parts

The details that ruin imports, handled.

Most failed migrations don't fail loudly. They fail quietly — six months of members dated wrong, a plan silently duplicated four ways, thirty people missing because their row had no email. Each of these is a decision the wizard makes you make, or makes correctly on your behalf and tells you about.

  • Date order is declared, never guessed. 03/04/2025 is April in the UK and March in the US. If any row in your file settles it, we use that and say so — and if nothing does, you can't move on until you answer.
  • Plans come from your own data. “Monthly Unlimited” and “monthly unlimited” arrive as one plan, not two, and the price is taken from the median of the rows carrying it.
  • Statuses are translated, not assumed. One system says “paused”, another “hold”, another “Inactive”. Anything we don't recognise becomes a question rather than a wrong answer.
  • No plan column? No location column? Plenty of exports don't have them. Pin the whole job to one plan or one site and carry on, instead of hitting a dead end.
  • Problem rows are triaged first. Members with no email get a placeholder you approve — the import doesn't fail at row 400 and leave you half-migrated.
Column matching auto-matched · 9 of 11
Client NameFirst & last nameSplit
Email AddressEmailMatched
MembershipPlanMatched
StartJoin dateDay-first
StatusStatus2 to map
Home StudioLocationPick one
Undo

The button that makes all of this safe to try.

Every commit is wrapped in a job, and every single row it writes is tagged with that job. If the result isn't what you expected, undo removes exactly what the import created — and nothing else. Members who already existed and were merely updated are left alone, because their previous values can't be reconstructed and they were never the import's to delete.

  • Try it on a Tuesday afternoon — a bad import is a click to reverse, not a support ticket and a weekend
  • Import history — every job, who ran it, how many rows, and whether it's still undoable
  • Drafts you can hand over — start it yourself, let whoever runs the floor finish it; the draft belongs to the gym, not to one login
  • A manual importer too — downloadable templates for members, memberships and check-in history when you'd rather do it by hand
Import history
mindbody-clients.xls
1,204 members · 4 plans · by Fernando
Undo
checkin-history-2025.csv
31,880 visits · by Tania
Undo
riverside-members.csv
first attempt · wrong location
Undone
Straight answers

What it doesn't do.

There's no back door into your old system

We don't hold an API key to Mindbody or Glofox and we can't pull your data behind their backs. You run the export — which is why the wizard spends a whole step showing you exactly where that button lives.

It moves members, memberships and visits

Those are the three things that matter on day one and the three things every system exports. Everything else — your class timetable, your plans, your pricing rules — you set up once in Gym Stack 360, and mostly it's faster than trying to translate it.

Your file never gets parked on our servers

A member export is megabytes of personal data. Drafts save your decisions, not your rows — so when you come back tomorrow you drop the file in again with every answer already in place.

You can't import into the wrong gym

The destination comes from your session, never from the file, and the confirmation step names the gym and the location in writing before anything is written.

Bring your members with you.

Start the trial, run the wizard against a real export, and undo it if you don't like what you see. Free for 14 days.

Start your free trial Compare plans