Admissions
Re-enrollment and returning students
Move continuing students into the new academic year with rollover and promotion, and bring an inactive student back onto the roster.
Admissions guide for day and boarding schools.
Last updated August 29, 2026
Re-enrollment in Schoolyi is not a form the family fills in. It is two administrative steps that leadership runs once a year: create the next academic year and copy the configuration forward, then decide per student whether they are promoted, retained, excluded, or have passed out. Everything the family already has - portal account, sibling links, fee history, attendance and grade records - stays attached to the same student record throughout.
The order matters. Rollover creates the target year and the structures the new year needs; promotion then writes class memberships into that target year. Running promotion first has nowhere to put the students, and copying fee structures after you have already generated fee instances leaves you reconciling two sets of amounts.
Annual sequence
- Open /academic-year/rollover, pick the source year, and either name a new target year or select an existing one
- Choose what to copy: fee structures, syllabus, and teacher assignments with their subject capabilities
- When rollover creates a brand new year it also generates that year day records; configure holidays and terms for it on /academic-calendar
- Record promotion decisions and apply them from /students/promotions
- Generate the new fee instances at /fees/bulk-generate once class placement is correct
Who owns each step
| Step | Route | Required role |
|---|---|---|
| Year rollover | /academic-year/rollover | Platform Admin, Principal, or Vice Principal |
| Promotion decisions | /students/promotions | Platform Admin, Principal, or Vice Principal |
| Re-enroll an inactive student | Student profile or the re-enroll API | Platform Admin, Principal, Vice Principal, or Admin |
| Fee generation | /fees/bulk-generate | Fee operations roles including Support Staff - Finance |
Limits
Downstream, the new year becomes the context every other module reads. Attendance, timetable generation, grades, and fee instances all resolve against the current academic year, so activating the new year before class placement is complete will show teachers empty rosters. Set the new year current once promotions have been applied, not before.
- There is no family-facing re-enrollment consent form or intent survey; the decision is recorded by staff
- Rollover does not copy the calendar itself. Holidays, seasonal breaks, and terms are configured again for the new year
- Transport assignments and library loans are not rolled forward and need reviewing separately
Common questions
Quick answers in plain language.
Do I need an admission cycle for students who are already enrolled?+
No. Admission cycles are for external entrants. Continuing students move forward through /academic-year/rollover and /students/promotions, which keeps the same user record, registration number, and parent links.
How do I bring back a student who left and returned?+
Use Re-enroll on the student profile, or POST /api/students/[id]/re-enroll with a classId and academicYearId. It reactivates the existing record and creates the class membership rather than creating a second student.
Does rollover copy fee structures to the new year?+
Only if you tick the fee structures option on /academic-year/rollover. It copies active FeeStructure rows from the source year, keeping amounts, installment counts, grace days, and late-fee settings. Fee instances are still generated separately at /fees/bulk-generate.
Related searches
School leaders and IT teams often search for: returning student registration, and annual student rollover.

