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
Names, emails, join dates, plansWill import
Monthly Unlimited, Off-Peak, Student, 10-ClassNew
Give them a placeholder, or skip themYou decide
18 rows — map it to Frozen?Answer first
Everything is either imported or shown to youGood
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 dataRemoves only the 1,204 rows this job created. Members who already existed are left exactly as they were.
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.
Nothing is written until step seven.
Source
Pick who you're leaving.
Export
Click-by-click instructions for that exact system.
Upload
Drop the file in. CSV or Excel, either way.
Match
Columns are matched automatically. Fix any it guessed wrong.
Setup
Plans and locations found in your file, ready to create.
Fix
Every problem row, triaged before it becomes your problem.
Review
A dry run and a confirmation naming the gym and destination.
Done
Headcount reconciliation, next actions — and undo.
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.
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
1,204 members · 4 plans · by FernandoUndo
31,880 visits · by TaniaUndo
first attempt · wrong locationUndone
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.