Appearance
Student attendance
The screen your teachers open every morning. 30 seconds per class once it is set up — but read the notifications section before you go live.
Sidebar → Student Information → Student Attendance
Taking a register
- Choose the class, the section and the date
- You should now see the students listed in roll-number order, with any attendance already saved for that day
- Use Present at the top to mark everyone present in one click, then change the few who are not
- Add a remark against anyone who needs one
- Save
Four statuses: Present, Absent, Late, Half Day.
Mark all present first, then correct
On a normal day that is one click plus two changes. Working down the list student by student takes ten times as long and is where mistakes come from.
Attendance is once a day, not once a lesson
There is one attendance record per student per date. Marking the register in the morning and again after lunch does not create two records — the second one overwrites the first.
If your school needs subject-wise or period-wise attendance, this screen is not it. This is the daily register.
Who can mark what
| Role | Can mark |
|---|---|
| School admin | Any class, any section |
| Teacher | Only their allotted classes and sections |
A teacher's list comes from what they have been assigned under Assign Class Teacher and Assign Subjects. A teacher with no allocations sees an empty class dropdown and cannot mark anything.
"The class dropdown is empty" is an allocation problem, not a permission one
Before changing anyone's role, check whether they are actually assigned to a section. That is almost always the cause.
Attempting to reach another section's register directly is refused outright.
Saving sends messages to parents
This is the part to decide before your first day, not after.
| When you save | The parent gets |
|---|---|
| A student newly marked Absent | An absent notice |
| A student marked Present or Late | An attendance notice |
Messages go out on whichever channels your school has enabled for those notification types — email, SMS, WhatsApp, app push.
Marking a full class present can message every parent in it
If the "student attendance" notification type has SMS enabled, a 40-student class marked present sends 40 text messages — every day, per class. That is a real bill, and parents will ask you to stop.
Most schools want absent notices on, present notices off. Check both types in your notification settings before the first register is taken.
Only genuine changes trigger a message. Re-saving a register where nothing changed sends nothing.
Fixing a day
Pick the date, change the marks, save again. The records are updated in place.
To wipe a day entirely — when a register was taken for the wrong class, or on a holiday — use the clear action. It deletes that day's records for that class and section, and the day goes back to unmarked. You should now see "Attendance cleared for N student(s)."
Correcting Absent to Present sends another message
The change counts as a status change, so the parent receives a second notice. Warn your office staff, or they will make the correction quietly and be surprised.
Marking a whole school from a spreadsheet
For schools still taking a paper register: Student Attendance → bulk upload.
| Column | Required |
|---|---|
Admission No | Yes |
Date (YYYY-MM-DD) | Yes |
Attendance Status | Yes — Present, Absent, Late or Half Day |
Remarks | No |
The matching export gives you a ready-made sheet for a class and date, which you fill in and upload back.
The export pre-fills everyone as Present
Students with no attendance saved for that date come out of the export marked Present, because it is designed as a fill-in sheet.
That makes it a poor record of what actually happened. Never use the export as evidence of a day's attendance — use the attendance reports for that.
Scanning instead of typing
If your plan includes it, students and staff can be scanned in with a QR code or barcode — a phone or tablet at the gate, using ID cards the system already prints.
- The first scan of the day is the punch in; a later scan is the punch out
- Present or Late is decided automatically from your school start time and late grace minutes, both set in your school settings
- A repeat scan within the cooldown window is ignored, so a double-scan cannot accidentally punch someone out
Biometric devices work the same way, feeding punches in from a machine inside the school.
Set the start time before you switch scanning on
With no school start time configured, every scan is recorded as Present and nobody is ever Late. The grace window defaults to 30 minutes.
Checking it is actually being done
Two reports matter, both under Reports:
- Attendance submission report — which classes and sections have not submitted a register. Open it mid-morning; it is the fastest way to spot the teacher who forgot
- Attendance percentage report — per-student attendance over a period, for report cards and follow-up
Reading a past year
Switch the session indicator in the topbar to a closed year and the register shows everyone who was enrolled that year — including students who have since left or moved on. That is the honest record of who was in that room.
Today's register only ever shows currently studying students.
Real example
Apex Academy's first week:
- Day 1 — switched SMS on for both attendance notification types. 1,180 messages went out by 09:30 and the office phone did not stop
- Day 2 — turned the "present" notification off entirely, left absent notices on SMS and WhatsApp. Daily volume dropped to about 60
- Week 2 — added the submission report to the office's morning routine; three sections were routinely being marked after lunch, by staff who thought the app did it automatically
Common problems
| What you see | Cause |
|---|---|
| A teacher's class dropdown is empty | They have no allotted classes. Assign them under Assign Class Teacher or Assign Subjects |
| "You are not authorized to view attendance for this section" | A teacher reached a section they are not assigned to |
| Parents got a text saying their child was present | The "present" notification type has SMS enabled. Turn it off |
| Parents get nothing at all when a child is absent | The absent notification type is off, or no channel is configured, or the cron job is not running — messages are queued |
| A student is missing from the register | Their status is not Active, or they are enrolled in a different section |
| Yesterday's register shows students who left | You are viewing a closed session, which correctly shows that year's full register |
| Everyone appears Present in an exported day nobody marked | The export pre-fills Present. It is a blank sheet, not a record |
| Every scan comes out as Present, nobody is ever Late | No school start time is set in your school settings |
| Attendance saved but the day still looks unmarked | Check the date field — it is easy to save against yesterday |