Bring an existing list in with a CSV file: the columns that are read, the preview you have to confirm, and why running the same file twice is safe.
On this page
Steps
- In your spreadsheet, use the headers from the downloaded sample file, or keep the headers of your current software.
- Save the file as CSV.
- Open Members › Import and export › Import members and pick the file.
- Check the column matches in the Match your columns window, then press Continue.
- Read the list of ignored columns in the Review window.
- Press Import to confirm.
The columns that are read#
The import finds the line that holds the column names, even when the file starts with a title or an export date, and you can pick another line if it chose the wrong one. Upper case, lower case, underscores and spaces around the names do not matter, and neither does the order of the columns.
Each column of your file can be matched to one of these fields, and this list is complete: Name, First name, Last name, Email, Phone, Plan, Start, Renewal, Credits, Credits left, Status, Joined, Birthdate, Notes, Tags, Receives messages in, Plan price, Balance due, Level, Emergency contact and LINE ID. Group is offered only when you have created member groups. ID, Plan label, Paid and Member status are accepted for a restore.
A name is the only thing every line needs. It can come from one Name column, or from First name and Last name as two separate columns, which the import joins into one name (you pick the order). When a file carries all three, Name wins. Lines with no name at all are left out and counted.
Since the 24 October update the list reads Full name and Price (formerly Name and Plan price). Ceinture, Belt and Grade are read as Level, and Né(e) le, Tarif or Reste à payer find their field on their own, in English, French and Thai.
An Excel file is read cell by cell, so a title above the column names no longer turns it into a single column. A row that starts with TOTAL or Sub-total is never counted as a member, and neither are empty rows.
A column that has no field can become a custom field (its type is guessed from the values and you can change it), be kept as a note, or be ignored. A column with the same value on every row, or empty on almost every row, starts on Ignore.
A status of Lead or Prospect sends the row to Prospects instead of creating a member. A status you pick for an unrecognised value is saved on the profile. A negative balance is a credit paid in advance: it is kept as a note and never counted as a debt.
What happens to the balances in your file#
An imported membership is treated as paid. A balance is created only when your file has a balance column above zero and you choose it, in the Money choice of the review window.
The default is Don't create debts: the amount stays as a note on the profile, nobody is reminded, and nothing shows to the member. Only balances younger than 90 days creates debts for recent memberships only. All as unpaid keeps every balance of the file.
A balance older than 90 days never goes into the daily reminders or Remind all. It sits in a separate Old balances group on Payments, to check once. Overdue times are written in days, weeks, months or years.
Running the same file twice is safe
The import does not blindly create. For each line it looks for an existing member, first by ID if your file carries one, then by email, then by phone number. When it finds one, the review names that member and asks what to do. If you choose to update, it UPDATES that member instead of making a second record.
The existing profile is used as the base, so a column your file does not carry is not wiped. Re-importing a file with only the phone numbers corrected keeps the LINE link, the consent date, the emergency contact and the join date of everyone it touches.
The same is true for memberships: a membership with the same plan and the same start date is not created twice.
The plan column accepts the name you read on screen
The Plan cell can hold either the internal key of one of your membership products or the label you see on screen. Both work, which is what makes an exported list re-importable.
When the cell matches, a membership is created with that plan, its price, its classes and its end date. When it matches nothing, the review lists those plans and offers to add them to your catalogue, with the price and the length read from the file when it has them. If you leave that box unticked, the member is still created or updated, the line is counted as a membership not recognised, and no membership is attached.
Credits and Credits left are read as the total and the remainder. Paid accepts an amount, or simply yes to mark the plan settled at its catalogue price.
A plan in the file that looks like one of yours, for example 10 class pack for 10-class pack, is proposed as a match with an unticked box, and you decide. A Balance due column is carried over as the amount still to pay on that membership when the plan has a price.
What the message at the end really counts
The report at the end counts what happened on the server, not the number of lines in your file: members created and updated, rows merged into another row's record, rows not imported, then the memberships created, to pay, already there and not recognised, the plans added to your catalogue and the rows to check.
A file is read up to five thousand lines. Above that, split it and import the parts one after the other.
If some rows needed attention, Download the report in the same window lists each one and why.
Duplicates are answered before anything is written
Before the import starts, the preview lists every possible duplicate: several rows of your file sharing the same email, phone number, ID or name, and rows that match someone already in your list.
Each one waits for your answer. For rows of the file: same person, one record; different people, one record each; or keep the first row only. For someone already in your list: update the existing record, create a new record, or do not import. One choice can answer all of them at once.
The Import button stays off while a duplicate has no answer, so nothing is written on a guess.
A file bigger than your plan is still imported
The member cap never blocks an import. If the file takes you over the cap, the Review window says so and everything is imported.
Everything then keeps working while a countdown runs, and the countdown never ends sooner than thirty days after your first import. Afterwards only adding members by hand pauses, until you archive the ones who stopped coming or move to a bigger plan.
You can undo an import for 24 hours
For 24 hours after an import, Undo this import is offered in the report window, and Undo the last import in the Import and export menu.
Members created by the import go to the trash with their history, and the memberships it created are removed. Records that already existed keep what the import changed, and plans and groups added to your settings stay.
A record that has been edited, booked or paid since the import stays unless you tick it in the undo window.
What an imported member looks like afterwards
The join date comes from the Joined column when your file has one. Without that column, the member is recorded as joining today, which shifts their seniority, your retention figures and any birthday or anniversary automation.
No waiver is signed. If your studio requires a signed waiver, every imported member appears in the Waivers card of Reports › Members, which is the right place to work through them afterwards.
Troubleshooting
Start from the template, not from a blank file
Path: Members › Import and export › Download a sample file. On a list with nobody in it, the same button sits under Import a file.
The sample file downloads with the headers the import knows and three example rows that use your own plan names. Fill it in, save it as CSV, and it loads back without a single rename.
The headers are in English. The import also recognises many other names for the same columns, including names used by other software in several languages, and on the next screen you can match any column by hand.
The import reads CSV and JSON files, with a comma, a semicolon or a tab between the columns. An Excel file (.xlsx) is read too, cell by cell.
Columns with no field, and asking the team
On the Match your columns step and in the review, every column without a field has a line of its own: keep it as a note (the default), make it a custom field, add it as a tag, or ignore it. Nothing is lost without you seeing it.
Need one of these as a real field? Press Ask the team. The team conversation opens with a message already written, with the file, the columns and the number of rows. Read it, change it if you like, then send it. The import carries on without waiting, and the team usually replies within 12 hours.
After an import, the dashboard shows a card such as 230 members imported from your file, with a See my members button. It stays until you dismiss it.