School Reference Public

Learner Attendance

How to take school attendance in ERPat: load a section's daily register by date and session, mark each learner present, absent, late or excused with reasons and time-in, bulk-save, and browse the attendance records — kept separate from employee/biometric HR attendance.

Guide version: r1 Module version: 0.2.0 Updated: 2026-07-22 Estimated time: 5 min 1 views
OPERATE THE SYSTEM

Learner Attendance

The Attendance page (school/attendance) is a per-section daily register. You pick a section, a date, and a session; the section's enrolled roster loads into a grid; you mark each learner present, absent, late, or excused, then save the whole class in one click. It is deliberately simple, built for a homeroom adviser to run at the start of every school day.

⚠️
This is not the HR / biometric attendance. Learner attendance is a separate subsystem from ERPat's employee time-and-attendance (biometric taps, kiosk clock-in, payroll hours). They share nothing. Marking a learner here never touches an employee's timesheet, and an employee clocking in never appears on a school register.

Who can take attendance

The page itself opens for anyone with the school_attendance permission, so an adviser or office staff can review the records. To actually encode and save marks you additionally need school_attendance_update. Without the update permission the register renders read-only — you can look, but the save button is not available.

school_attendance
Opens the Attendance page and the records browser (view).
school_attendance_update
Lets you mark statuses and bulk-save the register. This is the encoder permit.

Teachers and advisers are the everyday users — see the Teacher & Adviser Playbook for how attendance fits into the school day.


Where the roster comes from

You never build the attendance list by hand. When you choose a section, the register is filled with that section's enrolled learners for the current school year — the same roster the registrar materialised when the enrollment application was approved. Two things therefore have to be true before a learner shows up on the register:

The learner is enrolled

Their enrollment application was approved, which placed them on the section roster with status enrolled.

A current school year is set

One School Year is marked current in Academic Structure — the register loads that year's roster.

????
A learner is missing from the register? Almost always it is one of the two rules above — the application isn't approved yet (no roster placement), or the learner is enrolled in a different section. Fix it in Enrollment & Admissions, not here.

Take the daily register

The whole flow is one screen. Pick the class, load the grid, mark it, save.

  1. Choose the section, date, and session

    Select the section, set the date (defaults to today), and pick the session — the default is whole (whole-day). The register grid loads the section's enrolled roster; any marks already saved for that exact section + date + session are shown so you can correct rather than duplicate them.

  2. Mark each learner

    For every learner set one of four statuses: present, absent, late, or excused. The colours make an at-a-glance scan easy (see the legend below). A learner left untouched defaults to present.

  3. Add a reason for absent or excused

    When you mark a learner absent or excused, choose a reason from the attendance-reasons list (for example a medical or family reason). The reason is stored with the record and shown in the records browser.

  4. Enter a time-in for late

    When you mark a learner late, enter the time in — the actual arrival time. (Reasons apply to absent/excused; time-in applies to late.)

  5. Bulk-save the register

    Click save to write the entire class at once. Each learner's mark for that section + date + session is created or updated, and the encoder (you) is recorded on every row. The screen confirms how many records were saved.

????
Saving again just corrects the record. Re-saving the same section + date + session updates the existing marks rather than adding duplicates — so you can reopen a class later in the day, change a learner from absent to late, and save without creating a second row.

The four attendance statuses

Every mark is one of these. This is the complete list — there are no other states.

Present
PresentIn class for the session. The default when a learner is left unmarked.
Absent
AbsentNot in class. Choose a reason from the attendance-reasons list.
Late
LateArrived after the session start. Enter the actual time-in.
Excused
ExcusedAbsent with an accepted reason. Choose a reason from the list.

Browse saved records

Below the register is a records browser that lists saved attendance rows so you can review history, follow up on repeated absences, or check who encoded a mark. You can filter by status to isolate, say, every absence.

ColumnShows
DateThe attendance date of the record.
LearnerThe learner's name.
SectionThe section the register was taken for.
StatusPresent / Absent / Late / Excused, colour-coded.
ReasonThe chosen reason (for absent/excused), or a dash.
Time inThe arrival time (for late), or a dash.
Encoded byThe staff member who saved the mark.
Filter: Present Filter: Absent Filter: Late Filter: Excused

Common questions & mistakes

The save button isn't there
You have school_attendance (view) but not school_attendance_update (encode). Ask your administrator to grant the update permit.
I picked a section but the grid is empty
No learners are enrolled in that section for the current school year. Confirm the enrollment was approved and that the right School Year is current.
I marked absent but couldn't pick a reason
The attendance-reasons list is empty or the reason field wasn't shown for that status — reasons apply to absent and excused only.
Yesterday's marks changed when I saved today
They wouldn't — records are keyed to a specific date and session. Saving today only touches today's rows.

Where attendance flows next

A learner's attendance summary also surfaces to families: once a parent or student portal account is linked, it shows the child's attendance summary alongside released grades and the active enrollment. See Administration & Settings for how those portals are enabled.

Was this guide helpful?

Report a content problem