Skip to content
TestFLE logo
Help menu

School administrators

How do I create several accounts at once from a CSV file?

Written by the TestFLE team.

In short

The “Imports” menu creates the accounts of students, or of teachers and administrators, in one go from a CSV file: template, preview, corrections, confirmation. No password is created: everyone activates their account with “First connection”.

Who this is for, and what you need first

Who this is for
School administrators who create the accounts of many students, or of their team, in a single operation.
What you need first
  • A CSV file with one row per person, and the columns described below.
  • For each student, their school reference, their email address and their class.
  • For each teacher or administrator, their title, first name, last name, email address and administrator status.

The steps

The “Users import” page has two independent blocks, in no particular order: “Import students” and “Import teachers and admins”. Each has its own template, its own drop zone and its own buttons. The following steps apply to both.

  1. In the sidebar, open “Imports”, then find the block that matches your file.
  2. Click “Download the CSV template”. TestFLE gives you the file gabarit-eleves.csv or gabarit-professeurs.csv, with two example rows.
  3. Open it in your spreadsheet program, replace the example rows with your people, then save in CSV UTF-8 format. Do not change the headers.
  4. In the “Click or drag a document here” zone, drop the file, or click to choose it.
  5. Click “Preview”. Nothing is written yet: the preview stays in memory.
  6. Read the “Preview summary”: valid rows, issues, classes to create, existing classes reused, accounts to create or to update.
  7. In the table, correct the rows marked “Has issues”, then click “Apply the corrections” at the end of each corrected row.
  8. Click “Confirm”. The button only becomes active when no issue remains. It then turns into “Import completed”, and the “Confirm result” gives the counts.
Importing students: template, drop, preview and correction of a row with issues, up to the Confirm button. Subtitles: English

The columns to fill in

The file headers are in English and fixed, whatever the language of the screen: one single format for everyone. The screen lists them under the title of each block, and says whether each one is required. TestFLE accepts a “.csv” file of 5 MB at most, saved in UTF-8, with columns separated by commas or semicolons.

“Import students” block.

  • School reference (required): the student’s reference in the school’s software. Together with the email address, it will be used for their first connection.
  • Email (required): the first-connection identifier. A fictitious address such as firstname@school.com is fine, since TestFLE sends no messages.
  • Class (required): the name of the student’s class. A class that does not exist yet is created.
  • Date of birth (optional): in YYYY-MM-DD format, for example 2012-04-30, and never later than today.
  • Non-reader (optional): yes or no (oui, non, true, false, 1 and 0 are also accepted). An empty cell means the student can read. The value is only read when the student is created.

“Import teachers and admins” block. All five columns are required.

  • Title: the form of address, for example Mr or Mrs.
  • First name and Last name: the first name and the last name. The last name will serve as proof at the first connection.
  • Email: the account’s address.
  • Administrator: yes, no, true, false, 1, 0, oui or non. The cell cannot stay empty.

Going further

Understanding the settings and special cases

What does the import create?

For each valid row, TestFLE creates an account. A student also gets their sheet, with their school reference, their class, their date of birth and their “Non-reader” setting. Accounts start out as “Pending first connection”: the note appears under the account’s state in the “Students” and “Teachers” lists.

What happens to the Class column?

TestFLE compares the name with those of your active classes, without regard to capital letters. If an active class has that name, the student is attached to it, and the summary lists it under “Existing classes reused”, with the note “Students on these rows will join the existing class. An archived class is never reused: its name appears under “Classes to create”.” Otherwise, TestFLE creates the class and lists it under “Classes to create”. If several active classes have the same name, the row is refused (“Multiple existing classes match this name.”).

An archived class is never reused. If its name comes up again in the file, the import creates a new active class with the same name alongside it; the archived class stays archived, and empty: its students were detached from it when it was archived. So read “Classes to create” before you confirm: a name you thought already existed there points to an archived class.

A class created by the import has no teacher: creating a class and its team explains how to give it one. In fact, the import never attaches a teacher to a class, whatever the columns of the file.

Correcting an issue on the spot

In the table of rows, a row marked “Has issues” can be edited directly: each cell becomes a field. Click “Apply the corrections” at the end of the row, and TestFLE checks the whole file again. The summary, the list of classes to create and the issues are updated.

A correction changes neither the original file nor the school’s software. A blue note reminds you of this (“A fix made here does not flow back into the school’s software: if the issue comes from their database, it will come back with the next export.”). So correct the source too if you intend to import again one day.

Each issue gives the spreadsheet row, the column concerned and a message. The file header is row 1: the first person is on row 2. The table shows every row with issues, but only the first twenty rows without issues.

Here are the messages you will meet most often.

  • A required column is missing from the file (“Required columns are missing:” followed by the column names). Reopen the template and compare the headers.
  • A required cell is empty (for example “School reference is required.”, “Class is required.” or “Email is required.”).
  • A reference or an address appears twice (“Duplicate school reference also on row” or “Duplicate email also on row”, followed by the row number).
  • The school reference already exists with another address (“This student ref already exists with another email.”), or the address belongs to another account (“This email already exists for another user.”).
  • For staff, the address belongs to an account that is not a teacher (“An account with this email already exists and is not a professor.”).
  • The date of birth is badly written (“Date of birth must use the YYYY-MM-DD format.”) or later than today (“Date of birth cannot be later than today.”).
  • The Non-reader column contains an unknown value (“Non-reader must be yes/no, true/false, 1/0 or oui/non, or stay empty (reading student).”), or the Administrator column does (“Administrator must be yes/no, true/false, 1/0 or oui/non.”).
  • The address does not have the form of an email address (“Email is invalid.”).

How long does the preview stay available?

TestFLE keeps the preview in memory for 30 minutes without activity. Each correction pushes the deadline back by 30 minutes. After that, or if TestFLE has restarted in the meantime, the confirmation is refused (“The preview has expired or no longer exists: upload the file again.”). In that case, drop the file a second time and start again from “Preview”: the corrections you made on screen are lost.

The “Reset preview” button deletes the preview on TestFLE’s side at once. Replacing the dropped file does the same. The file holds the addresses and references of a whole school: TestFLE keeps it nowhere, and only holds this preview in memory.

Importing a file again

You can drop a file again when some of its people already exist. The summary classifies each row.

  • “Already present, skipped”: the person exists and nothing changes.
  • “To update”: for a student, their class changes, or their date of birth, empty until then, is filled in. This is also the case when the class in the file does not exist yet: it is created on confirmation, and the student is moved into it. For staff, the title, the first name, the last name or the administrator status changes.
  • “To create”: the person is new.

Importing again is therefore a way to change the class of many students at once: the summary counts these rows under “Students to update”. Read “Classes to create” again as well: a typo in a class name makes a new class appear there, which the student would join. If the sheet already has another date of birth, the date in the file overwrites nothing: a warning says so (“This student’s record already has a different date of birth: the file’s value does not overwrite it.”).

The Non-reader column is never read again for a student who already exists. This is deliberate: a start-of-year list imported again in January does not erase what a teacher has observed in class. To change this setting, see marking a student as a non-reader.

When a new import changes a person’s administrator status, their open sessions are closed: they have to sign in again.

How do I cancel an import?

No button cancels a confirmed import. Before the confirmation, “Reset preview” abandons everything without writing anything. Afterwards, an account created by mistake is removed by archiving it: deactivating or archiving explains the action, which deletes nothing and can be undone.

If the file is refused

The message appears in red, above the drop zone.

  • The file does not have the “.csv” extension (“Only .csv files are accepted.”).
  • The file is larger than 5 MB (“The uploaded file exceeds 5 MB.”).
  • The file is not in UTF-8, for example an Excel workbook renamed to “.csv” (“The file is not a UTF-8 csv: save it as “CSV UTF-8” (an Excel .xlsx workbook must be saved as csv first).”).
  • Issues remain at the moment of confirming (“Blocking issues remain: fix them, then confirm.”).
  • The preview has changed since it was last read (“The preview has changed since this fingerprint: review the summary, then confirm again.”). Read the summary again, then click “Confirm” once more.

Related articles