Bulk-Importing Students from Excel or CSV
Bulk import runs as a background job, so you can start it and keep working while it processes — useful for anything beyond a handful of students.
Steps
Go to Students → Import.
Download the Excel template, or prepare an Excel or CSV file, with these required columns: first_name, last_name, admission_number, class_name, parent_name, parent_phone.
03Optionally include: admission_date, parent_email, secondary_parent_name, secondary_parent_phone, secondary_parent_email, notes, amount_owed, credit_balance.
The last two are for balances from before Fees101.
Upload the file and start the import.
Watch the background job for progress and any rejected rows.
Validation rules
- All required columns must be present for every row.
- Admission numbers must be unique — both against existing students in the database and against other rows in the same file.
- class_name must already exist in your academic structure (matched case-insensitively) — the import does not create classes for you.
- parent_phone must be a Nigerian mobile number. Any usual way of writing it works: 08034567890, +2348034567890, 2348034567890, or 8034567890 if Excel dropped the 0. Spaces and dashes are fine.
- parent_email, if provided, must be a valid email format.
- admission_date must be a recognizable date format; if left blank, it defaults to today.
Gotchas
If a class name in your file doesn't already exist in Fees101, set up that class first under Academic Structure — the import will reject rows for classes it doesn't recognize rather than guessing or creating one.
Bulk import is gated by the same platform-billing check as adding a single student — if billing isn't active, the whole import is blocked.
