All guides

How to import students from a spreadsheet

Bring your school's existing student list into StriveBitERP in a single CSV upload, instead of typing hundreds of records in one at a time.

10 minEasyUpdated 2026-08-24

What you'll do

  1. 1Open Students and choose Import.
  2. 2Download the CSV template so your columns match exactly.
  3. 3Fill the template from your existing register or Excel sheet.
  4. 4Upload the file and fix anything flagged in the preview.
  5. 5Confirm the import and spot-check a few students.

Most schools arrive with their student list already in Excel, a Tally export, or a register someone has been maintaining for years. You don't need to retype any of it. The import screen takes a CSV file and creates every student in one pass.

Budget about ten minutes for a single class, and most of that is tidying the spreadsheet rather than using the software.

Before you start

You need an account with permission to create students — usually the school admin.

You do not have to create your classes first. If a row names a class that doesn't exist yet, the importer creates it, as long as the name is in a format it recognises. Setting classes up beforehand is still worth doing, because a class created during an import has no class teacher or subjects attached, and because a class name it can't parse leaves that student with no class at all.

Step 1 — Download the template

Go to Students and click Import CSV — the screen is titled Bulk Import Students. Click Download Template. You'll get a file called student_import_template.csv with one example row already filled in.

The Bulk Import Students screen, with Download Template highlighted

Use this file as your starting point. The importer matches columns by their exact header name, so a spreadsheet with different column names — or the right names in a different order — is the most common reason an import fails.

The ten columns are:

Column Example Required
full_name John Doe Yes
roll_number 001 No
admission_number ADM2024001 No
date_of_birth 2010-05-15 No
gender Male No
class_name Class 5-A Yes
father_name John Doe Sr. No
mother_name Jane Doe No
parent_phone 9876543210 No
parent_email parent@example.com No

Step 2 — Fill in your students

Copy your existing data into the template, one student per row. A few rules worth knowing before you paste 300 rows in:

Class names are flexible. The importer understands several formats, so you usually don't need to reformat what your school already writes:

  • Class 5-A
  • 6th A
  • VI(A)
  • 6 A

Gender must be exactly Male, Female or Other if you fill it in at all. M, F, or male in lower case will be flagged. You can also leave the column empty.

Dates go in YYYY-MM-DD format2010-05-15, not 15/05/2010.

Only full_name and class_name are genuinely required. Everything else can be blank and filled in later from the student's record. If you don't have admission numbers yet, leave that column empty rather than inventing placeholders.

Tip: if a parent phone number appears on several rows because siblings share it, that's fine — it doesn't create duplicate parents. Linking parents to students is a separate step you do after the import.

Step 3 — Upload the file

Back on the Bulk Import Students screen, drag your CSV onto the upload area, or click Browse Files. Only .csv files are accepted — if you're working in Excel, use File → Save As → CSV first.

The file is read in your browser and checked immediately. Nothing is saved yet.

Step 4 — Review and fix errors

If anything is wrong, you'll see a list of problems with the row number and the column for each one, like:

Row 14 — gender: Gender must be Male, Female, or Other
Row 27 — full_name: Full name is required

Row numbers match your spreadsheet, counting the header as row 1, so row 14 in the error list is row 14 in Excel. Fix them in your spreadsheet, save, and upload again.

When the file is clean you'll see a preview of the first ten students with a count of the total. Check that the class column looks right — this is where a mis-typed class name shows up most obviously.

Step 5 — Run the import

Click Import Students. They're created in small batches, with a progress indicator, so a few hundred students take a moment rather than freezing the page.

When it finishes you'll see how many were created out of how many were in the file. If those two numbers differ, the difference is rows that failed — re-check them rather than re-uploading the whole file, which would create duplicates.

After the import

Two things are usually worth doing next:

  1. Spot-check a few students in the Students list — especially the first and last rows of your file, and anyone with an unusual name or class.
  2. Create parent logins. Importing students doesn't create parent accounts. That's done from Parent Logins, which can link a parent to their child automatically by admission number — one more reason to fill that column in if you have it.

Common problems

"Nothing imported and every row errored." Almost always the column headers. Open the template and your file side by side and compare the first row exactly — a trailing space or a renamed column breaks the match.

A class you didn't expect appeared. The importer creates any class it doesn't recognise, so a typo like Class 5-A with a trailing space, or 5A written two different ways, produces a second class. Check Classes afterwards and merge or delete anything unintended.

Students imported with no class at all. The class name couldn't be parsed into a class and section, so the student was created unassigned. Recognised formats are Class 5-A, 6th A, VI(A) and 6 A — anything else needs fixing and re-importing for those rows.

Duplicate students after a second attempt. Re-uploading a whole file after a partial import creates the successful rows again. Delete the duplicates from the Students list, and re-import only the rows that failed.

Features covered

Want us to set this up with you?

Data migration and staff training are included on every plan.

Talk to us