People

Importing from a spreadsheet

Bring a whole school in from Excel — templates, every column explained, and how errors are shown.

Written for School admin
On this page

This page has no sections.

Schools already keep their people in spreadsheets. Alviyora reads those spreadsheets rather than asking you to retype them — our own template, or the lists your school already exports from SA-SAMS — and it checks every row and shows you the problems before it writes anything.

There are five imports:

ImportWhereWhat it creates
LearnersLearners → Bulk UploadLearners, and optionally their guardians, linked
GuardiansLearners → Bulk Upload GuardiansGuardians, linked to learners who already exist
StaffStaff → Bulk UploadStaff with roles, and their teaching subjects
Teacher assignmentsAcademics → Teacher Assignments → Bulk UploadWhich teacher takes which subject in which grade
TimetablesTimetable → Class / ExamA class’s week, or an exam schedule

Who can do this

Manage Users for people; Manage Academics Settings for teacher assignments; Manage Timetable for timetables.

How every import works

Every import looks like this. Take the template, fill it in, drop it back.

Download the template

Download Template gives you an Excel file with the exact column headings, in the right order, already formatted. Starting from it removes the whole class of problems where a heading is spelled slightly differently. The Spreadsheet format beside it chooses which template: Alviyora’s own, or SA-SAMS.

Fill it in — one person per row

Row 1 is the headings. Row 2 onward is your data.

Drop the file back

.xlsx, .xls and .csv all work. Alviyora reads the headings and picks the format for you — Detected from the file appears beside it. If it guessed wrong, change the format and the same file is read again.

Read the preview

Alviyora parses the whole file and shows you what it found: how many rows are valid, and exactly which rows are not, with the reason against each — “Row 14: Grade is required”, “Row 22: Phone Number is not a valid number”.

Notes in amber are things Alviyora fixed or left out for you — a stray number removed, a title it doesn’t store left blank. They don’t stop the upload, but read them.

Nothing has been saved at this point.

Fix and re-upload

Fix the flagged rows in your spreadsheet and drop it again. Nothing is uploaded until every row is valid — the upload is all-or-nothing, so there is never half an import to clean up.

Grade and section names must match

The Grade and Section columns are matched against the grades and classes you already created. Grade 1 matches, and so do the bare number 1, 01 and Gr 1 — as long as only one of your grades has that number. Set your grades up first, then check the names in Academics Settings → Grades.

Importing from SA-SAMS

Export your three lists from SA-SAMS — the HR list, the parent list and the learner list — and upload them as they are. Alviyora reads SA-SAMS’s own headings, steps over the school name and EMIS number printed above them, and reads its dates the way SA-SAMS writes them.

SA-SAMS doesn’t say which parent belongs to which learner, so the order matters: parents before learners.

Staff: upload the HR list

On Staff → Bulk Upload. Educators become Teachers. For everyone whose Type is “Staff”, choose their role in the box above the preview — Admin, Bursar, whatever your school uses. To give someone a different role, add a Roles column to the sheet.

Parents: upload the parent list

On Learners → Bulk Upload Guardians. A list pasted twice is counted once, and a parent listed once per child becomes one person. A parent who already works at the school — the same ID number as a teacher — keeps their login and becomes a guardian too.

Learners: add two columns, then upload the learner list

Add Parent/Guardian 1 ID and Parent/Guardian 2 ID at the end of the learner list — or download the SA-SAMS template, which already has them. Put each parent’s ID number, passport number or cell number in, exactly as it appears in the parent list. Then upload it on Learners → Bulk Upload.

Check the suggested parents

For learners whose two columns are empty, Alviyora looks for parents you’ve already uploaded with the same surname and the same address or phone number, and lists them under Suggested parents. The strongest matches are ticked; untick any that are wrong, tick any that are right, then upload.

A cell number two parents share

Parents often share a phone. If two parents at your school have the same cell number, that number can’t say which one you mean — use the parent’s ID or passport number in that row instead.

Race is never imported

SA-SAMS parent lists include a Race column. Alviyora never reads it: race is special personal information under POPIA, and we have no use for it. The same goes for columns Alviyora doesn’t store yet — Citizenship, Language of Instruction, Type of Employment — and the preview names them.

The learner template

Six columns are required. An email is not — a learner without one is invited through their parent, and one nobody can reach is still created and listed for you. The Guardian block is worth filling in either way: it creates the parent account and links it in the same pass.

ColumnRequiredNotes
First NameYes
Last NameYes
Date of BirthYesYYYY-MM-DD is safest
GenderYesMale, Female or Other
GradeYesMust match a grade you created
SectionThe class within the grade. Leave blank if the grade has none
ID NumberYesAn ID or passport number
EmailWhere the invitation goes. Without one, it goes to a parent
Phone Number
Home Language
Guardian First NameRequired if the guardian’s last name, phone or email is filled
Guardian Last NameRequired if the guardian’s first name, phone or email is filled
Guardian ID NumberHow siblings are matched — see below. On its own, with no other guardian column, it links a parent already in Alviyora
Guardian PhoneThe number SMS goes to
Guardian Email
Guardian Relationshipmother, father, guardian, stepmother, stepfather, grandparent, other
Second Guardian ID NumberA second parent already in Alviyora — their ID, passport or cell number
Emergency Contact Name
Emergency Contact PhoneUsed for SMS if no guardian number exists
Home Address
Previous School
Medical Aid Number
Allergies

Siblings share one guardian account

Give two learners the same Guardian ID Number and they are linked to one guardian account, not two. That parent then signs in once and sees both children.

Get this column right and the parents portal works properly from day one. Type the number differently for each child and you get a separate guardian record per child.

The staff template

ColumnRequiredNotes
First NameYes
Last NameYes
EmailTheir login. Without one, they sign in with a username and are invited by SMS
Phone Number
RolesYesOne or more, separated by ; or , — e.g. Teacher or Admin; Teacher
TitleMr, Mrs, Ms, Dr
ID NumberYesAn ID or passport number
Date of BirthRequired when the row includes the Teacher role
GenderRequired when the row includes the Teacher role
Employee Number
Qualification
SubjectsSubjects they teach, separated by ; or ,
Emergency Contact Name
Emergency Contact Phone
Home Address
Start Date

Role names must match your school’s roles — including any custom ones. Teacher, Admin, Principal, Bursar, whatever you have created.

The guardian template

Use this when the learners are already in the system and you are adding parents afterwards — or before the learners, so the learner upload can link them.

ColumnRequiredNotes
First NameYes
Last NameYes
EmailTwo parents sharing one email: the first keeps it, the second is invited by SMS
Phone Number
ID NumberAn ID or passport number. It’s what they confirm when they accept, and how learners link to them
Learner ID NumbersOne or more learner ID numbers, separated by ; or , — this is what links them
Relationshipmother, father, guardian, stepmother, stepfather, grandparent, other
Title
Gender
Date of Birth
Occupation
Work Phone
Home Address

Learner ID Numbers is how a guardian reaches their children, so the learners must already have ID numbers on file. If they aren’t uploaded yet, upload the guardians first and link them from the learner upload instead.

Phone numbers

Numbers are normalised as they are read, against your school’s country. A local number typed the way people say it — 071 123 4567 — is understood. A number that cannot be parsed at all is flagged on its row rather than saved, because a broken number costs money at the SMS gateway and delivers nothing.

What happens on import

  • Accounts are created without a password. Someone with no email of their own gets a username instead.
  • Everyone is sent an invitation — by email, or by SMS when there is only a cell number. A learner without an email is invited through their parent, so the parent sets the account up. You don’t hand anything out, and no password is generated for anyone — see below.
  • If an invitation email can’t be sent and there is a phone number on file, the link goes by SMS instead. Every SMS invitation is billed like any other SMS your school sends.
  • Anyone with no email or cell number is still created, and listed on the finished screen and in Download Results. Add a way to reach them on their profile, or use Reset Password to give them a temporary one.
  • Existing people are matched, not duplicated. A guardian ID number already in the system links to that guardian rather than making a second one.
  • The whole import is one entry in the Activity Log — one line reading “imported 340 learners”, not 340 lines.

What the invited person does

The invitation has one link, which works for 7 days.

It names the school and asks the person to confirm who they are.

Confirm their ID or passport number

It must match the ID Number column you imported. Spaces, dashes and capital letters don’t matter. A parent setting up a young learner’s account types the learner’s number, not their own.

They get 3 tries. After the third wrong answer the link stops working, and they need to ask the school for help.

Choose a password

At least 8 characters. The last screen shows the username to sign in with next time — for a learner without an email, write it down. Then they’re signed in.

ID numbers, passport numbers, and what's on file

The ID Number column accepts passport numbers too, so learners from Lesotho, eSwatini and elsewhere can confirm with the passport number you imported. If the check keeps failing for someone, the number in the school’s records is the first thing to look at.

Expired or locked links

A link that has expired, or locked after three wrong ID numbers, can’t be used again. Open that person’s profile and use Reset Password to issue a temporary password you hand over yourself.

Download Results on the finished screen saves a spreadsheet of everyone who was created, with their usernames, and anyone who still needs a way in, for your records.