Automated CSV Self-Onboarding

Modified on Tue, 9 Jun at 5:37 PM

This new feature on CENTURY lets you automatically create or update users by uploading a CSV file. The service will check each row of your file and process the records, or will automatically flag any issues with the file for you to address. 


TABLE OF CONTENTS



What data can I upload?

You can upload the following types of files:


Upload type

What it is for

Must include

Students

Add new students or update existing ones

UPN, First Name, Last Name (and either UPN or email to identify the student)

Teachers

Add new teachers or update existing ones

First Name, Last Name, Email

Assessments

Enroll students into assessment classes

UPN, First Name, Last Name, Assessment Cohort


The main difference between Students and Assessments is that Assessments must include an Assessment Cohort column with at least one class name. Students can be uploaded without classes if you only want to update their details. 



How to format your CSV file

The CSV must have a header row with the exact column titles below, in any order. Any additional columns that aren't listed will be ignored.


Column title

Students

Teachers

Assessments

UPN

Required

-

Required

First Name

Required

Required

Required

Last Name

Required

Required

Required

Email

Optional (but UPN or Email needed to identify)

Required

Optional

Username

Optional

Optional

Optional

Password

Optional

Optional

Optional

Classes

Optional

Optional

-

Assessment Cohort

--

Required


Other optional columns (available for Students or Assessments): 

  • Date of Birth
  • Sex
  • Ethnicity
  • SEN Status
  • SEN Description
  • Pupil Premium
  • EAL
  • Tags
  • Year Group


Accepted values and formats

Below is what each column accepts. Anything outside these rules will be flagged as an error.


Column

Rules

Examples

UPN

Up to 32 characters, no spaces.

A1234567890123

First Name / Last Name

1 to 64 characters. Letters, numbers, spaces, hyphens, apostrophes, brackets and periods only.

Mary-Jane, O'Connor

Email

Standard email format. Leading and trailing spaces are stripped.

student@school.org

Username

1 to 64 characters. Letters, numbers, dots, hyphens, underscores and @ signs. No spaces or other special characters. Optional - see 'How usernames are decided' below.

mary.jane_01

Password

8 to 36 characters. Optional - see 'How passwords are decided' below.

Pa55word!

Date of Birth

Only these formats are accepted: YYYY/MM/DD, DD/MM/YYYY, YYYY/DD/MM, MM/DD/YYYY. You can use / or - as the separator. Must be a real past date with the year on or after 1920.

2010/09/15, 15-09-2010

Sex

F, M, N, Female or Male [not case-sensitive].

F, male

Ethnicity

Up to 64 characters. The system will change the text to lowercase and turn spaces into underscores.

Black African becomes black_african

SEN Status

E (EHCP), K (SEN support), N (none), or T / F for true/false [not case-sensitive].

E, n

SEN Description

Up to 64 characters. Line breaks are turned into spaces.

Mild dyslexia

Pupil Premium

T or F (true/false) [not case-sensitive].

T

EAL

T, F, True or False [not case-sensitive].

true

Tags

Multiple tags separated by semicolons (;). No other special characters allowed. Each tag can consist of up to 64 characters.

boarder;scholarship;year10

Year Group

A whole number between 0 and 13.

7

Classes / Assessment Cohort

Multiple class names separated by semicolons (;). Each class name can consist of up to 200 characters. Duplicates within the same row are merged.

Maths 7A;English 7B;Science 7A


Note about Date of Birth: When the date is ambiguous (for example 03/04/2010 could be 3 April or 4 March), the system will default to DD/MM/YYYY. If your organisation uses American date order (MM/DD/YYYY), the system will attempt to find the correct date format. In future developments, it will be able to read the date format based on the user's browser settings.


Note about Classes: Class names are matched exactly as written, including spaces and case, e.g. Maths 7A and maths 7a are treated as different classes. We encourage your organisation to be consistent in class naming conventions to avoid errors.


How usernames are decided

The Username column is optional. What a user actually ends up with depends on what the row contains:


Row contains

What happens to the username

A Username value

That exact username is used.

No Username, but an Email

The email address becomes the username.

Neither Username nor Email

Auto-generated as firstname.lastname.NNNN - the lowercased first and last name plus a random number (e.g. mary.jane.84).

A Username value on an existing user

The username is never changed.


Important: Usernames must be unique across the whole of Century, not just within your organisation. If a username (or an email used as a username) is already taken by any user in Century, that row will fail when it's processed. Leaving the column blank is the safest option, as the system will auto-generate a unique username for you.


How passwords are decided

The Password column is also optional, and behaves differently for new versus existing users:


Situation

What happens to the password

New user, no Password in the row

A secure password is auto-generated.

New user, Password supplied in CSV

The supplied password is used (must meet the 8-36 character rule above).

Existing user (any update)

The password is never changed - even if the row has a Password column with a value in it.


Note: You are not able to reset passwords using this CSV upload. If you'd like to do so, follow these steps.



How to upload a file 

When setting up your upload, you will find the following settings. Please ensure that you carefully select the right options, as some settings can overwrite existing data.


Upload type

Select between StudentsTeachers or Assessments - more information can be found in the 'What data can I upload?' section of this help page.


Mode

This setting controls whether existing users in Century can be updated by this upload.


Mode

What it means

When to use

Create or update

If a row matches an existing user (by UPN or email), that user is updated. If no match is found, a new user is created.


Important: Your CSV upload will overwrite what is currently in CENTURY for any existing users. Please ensure that your CSV has correct information before proceeding.

Most uploads, e.g. yearly refreshes, mid-year updates, or any instance where your organisation's data may already partly be in Century.

Create only

Only new users are created. Rows matching existing users are not updated.

First-time onboarding, or when you specifically want to avoid editing any existing records.


Note 1: When an existing user is updated, any non-blank cell in the row overwrites what's in Century. Blank cells are left alone - they never wipe an existing value. The fields that get overwritten this way are: First Name, Last Name, Email, UPN, Sex, Ethnicity, Pupil Premium, EAL, SEN Status, SEN Description, Tags, Year Group and Date of Birth.


Note 2: Two fields are never overwritten on an update: Username and Password. Re-uploading a file will not rename existing users or reset their passwords, even if those columns are filled in. See 'How usernames are decided' or 'How passwords are decided' for more information.


Class handling

This setting determines what happens to a user's existing classes. This only applies if you are using the 'Create or update' mode on rows that match existing users.


Option

What it means

Add to existing classes

The classes listed in the CSV are added alongside any classes the user is already in. Nothing is removed.

Replace all classes

The classes listed in the CSV become the user's complete class list. Any class they were in before that is not in the CSV will be removed.


Important: "Replace all classes" can silently remove students from classes. If you upload a CSV with only one class per student and set it to "Replace all", every other class that student was assigned to will be removed. 


Send welcome emails

This setting controls whether users receive a welcome email. This only applies to brand new users if their row has an email address. This means existing users being updated will not get an email, along with new users with no email address.


Note: Students and teachers receive different email templates.


The welcome email contains the user's username and a one-time link to set their own password. The email does not contain a password. Even when a password is auto-generated, the user will be sent a link - so users should not expect to see passwords in these emails.


Academic year

This sets the academic year the upload should be associated with.



Why an upload might be rejected

If there are any errors with the file, the whole upload is rejected - nothing is created or updated. You will need to amend the CSV and re-upload the file again. This is by design: it prevents partial uploads where some students get created but others don't, leaving the data in an inconsistent state.


The following table shows common reasons as to why a file might be rejected:


Reason

What it means

How to fix

Missing column headers

The CSV is missing one of the required column headers for the chosen upload type.

Add the missing header row (See this section for more information), and ensure spelling and capitalisation matches the headers listed.

CSV parsing problem

The file isn't a valid CSV - quotes are mismatched, rows have wildly different column counts, encoding is broken, etc.

Re-export the CSV from the source system. Open it in a text editor or spreadsheet to check it looks right.

Row validation error

One or more rows have a value that doesn't match the formatting rules (wrong date format, name too long, invalid email, etc.).

Refer to the error list - it will tell you which row and column has the error.

Duplicate UPN or email in the file

The same UPN or email appears in more than one row of the same CSV.

Remove the duplicate rows. For students and assessments, both UPN and email are checked separately - having two rows with the same email but different UPNs will also be rejected.


What is not checked at upload time:

  • Whether the classes already exist in Century. The system creates classes automatically as part of processing - you do not need to set them up beforehand. Class names are matched by exact text, so please ensure you are consistent with your naming conventions and case usage.

  • Whether existing users match correctly. Matching by email, UPN or username happens during processing, after the file has passed validation.

  • Whether a supplied username is already taken. Username uniqueness is checked later in the process, so any username clashes will appear as a per-row failure rather than a file rejection.



Quick start scenarios

Scenario

Upload type

Mode

Class handling

Send emails

First time onboarding as a brand new school

Students or Teachers

Create only

Add to existing

Yes

Yearly refresh of a complete new roster

Students

Create or update

Replace all classes

Yes (only new users get one)

Adding new joiners mid-year

Students

Create or update

Add to existing

Yes

Updating student details without changing classes

Students

Create or update

Add to existing, with the Classes column left blank

No

Bulk class assignment for an assessment

Assessments

Create or update

Add to existing (or Replace, if the assessment should fully define classes)

No

Re-uploading after fixing validation errors

Same as the original

Same as the original

Same as the original

Same as the original


Important: Using the "Create or update" + "Replace all classes" settings with a partial CSV will quietly remove students from any class not listed in the CSV. If in doubt, pick "Add to existing classes".



FAQs

I re-uploaded with new passwords but they didn't change.

Correct - existing users' passwords are never changed by an upload (see 'How passwords are decided'). If you'd like to do so, use the regular password reset flow here.


Some students didn't appear even though the file was accepted.

This likely means that there were no validation errors but some rows failed during processing. Check the per-row results for more information on the errors.


What username will my students get?

Their email will be used if there is an email column, otherwise their username will be formatted as firstname.lastname.NNNN. See 'How usernames are decided' for more information.


It says my username is already taken.

Usernames need to be unique across all of Century, not just your organisation. Choose a different username, or leave the cell blank for the system to auto-generate a username for you. See 'How usernames are decided' for more information.


My students didn't get a welcome email.

Welcome emails will only be sent to brand-new users who have an email address, with the 'Send welcome emails' setting turned on. See 'How to upload a file' for more information.


Where's the password in the welcome email?

Passwords will not be included in the welcome email - instead, the email has a link for the user to set their own password. See 'How to upload a file' for more information.


I changed a student's UPN/email and now there are two accounts.

The system first prioritises matching emails, followed by UPN then username. Changing an identifier can match a different record or even none at all. We recommend investigating the discrepancy before re-uploading your CSV.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article