Adding students by hand and in bulk

The single-student form, the 100-row bulk table, and the order to do things in when migrating a roster.

Not everybody arrives through your registration link. Your existing roster certainly didn't. Two forms on Students then Students cover the rest: Add student for one person, and Bulk add for a spreadsheet-style table.

Both create exactly the same thing a public registration creates, minus the confirmation email.

The students list

Students then Students is every student your studio has ever had a record for — enrolled or not, active or not.

ColumnNotes
NameWith photo. Click the row for a quick detail panel.
AgeWorked out from the date of birth.
Guardian / Guardian EmailThe primary guardian.
ProgramsActive enrollments only. Blank means "not enrolled in anything".
BeltTheir rank in the first of those programs.
Last attendedThe most recent class they were marked present or late for, within the last 30 days.
Created viaRegistration, Manual or Import. Owners and admins only.

Above the table: a search across name, guardian and email, and a program filter.

Add student — one at a time

Students then StudentsAdd student.

  1. Student

    First name, last name and date of birth are required; email, phone, address and "how heard" are optional.

    Then, optionally, Program and Current belt rank. Picking a program enrolls them immediately, and the belt dropdown then lists that program's ladder.

  2. Guardian

    First name, last name, email and phone, all required — see the note below. Address is optional.

  3. Record paper waiver (optional)

    If your studio has active waivers, a card lets you record a signature you already have on paper: tick which waivers, then the date signed, the signer's name, their relationship and a note.

    Those go on file against the version that is current now, marked as recorded in person rather than online.

  4. Save

    The student appears in the list marked Manual.

A guardian is always required here, even for adults

The public registration form only asks for a guardian when the student is under 18. This form asks every time, including for a 40-year-old signing up for adult BJJ.

For an adult student with no guardian, put their own name, email and phone in the guardian fields. That is also what makes payments work later: cards and charges are resolved through the guardian record.

If a student with the same name and date of birth already exists, an amber warning appears — "A student with the same name and date of birth already exists at this studio. Continue anyway?" — with Cancel and a button to save regardless. Cancel and go looking first.

The program field enrolls them

Choosing a Program on this form creates an active enrollment there and then. Leaving it as No program (browse later) creates the student with no enrollment — they will not be on any attendance sheet until you enroll them from Students then Enrollments.

For most migrations you want the program set here. It saves a second pass.

Bulk add — migrating a roster

Students then StudentsBulk add opens a table that works like a spreadsheet.

Ten columns: First, Last, DOB, Program, Belt, G. First, G. Last, G. Email, G. Phone, Waiver date.

  • It starts with five empty rows. + Add row adds more, up to 100.
  • The Belt dropdown only becomes usable once that row has a program, and it lists that program's ladder.
  • Waiver date records a paper signature for every active waiver at once. If your studio has no active waivers, the column is disabled and reads "no waivers".
  • The counter underneath reads "12 ready · All filled rows valid", or tells you some rows have errors. Hovering a row shows what is wrong with it.
  • Empty rows are ignored, so you never have to tidy up the extras.

Create N students submits the lot. Rows are saved one at a time and independently:

  • successful rows turn green, lock, and show Saved;
  • failed rows turn red and keep their contents so you can fix and resubmit;
  • a possible duplicate is reported as "Possible duplicate" and is not created — use Add student for that one if you genuinely want it.

You get a summary toast: "18 students created. 2 failed."

Do these in order when migrating

  1. Create your programs.
  2. Build the belt ladders for each program — the Belt column is useless before this exists, and it is the only place a first rank can be set.
  3. Write your waivers, if you are going to record paper signatures.
  4. Then bulk-add, in batches of up to 100.

Getting the ladders in first is the one that matters. A student added without a rank cannot be given one afterwards from the ranks screen — see Belt ranks.

What gets created either way

ThingNotes
Student recordMarked as created manually.
GuardianThe one you typed.
RegistrationCreated behind the scenes so account linking and everything downstream works.
EnrollmentOnly if you set a program.
Belt rankOnly if you set one. No promotion record is created — this is a starting position, not a promotion.
Waiver signaturesOnly if you filled in the paper-waiver fields.

No confirmation email is sent. The family gets no "welcome" message from a manual add, which is what you want when typing in 60 people who have trained with you for years. Ordinary studio email — announcements, inactivity alerts — still reaches them normally.

A manual student with no program lands in the registrations worklist

Students then Registrations lists every registration whose student has no active enrollment — including the ones created behind a manual add. So a student you typed in without a program appears there until you enroll them, which is a useful reminder rather than a bug. Set the program on the form and they never show up there at all.

The student detail page

Clicking through to a student opens the busiest page in the app: profile and age, guardians, programs and ranks, attendance recency, photo, their kiosk check-in code, waiver signatures, and — when your studio has payments connected — the Charge card and payment history cards.

See Charging a card for the payments half, and Setting up the kiosk for check-in codes.

Last reviewed