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.
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:
Their enrollment application was approved, which placed them on the section roster with status enrolled.
One School Year is marked current in Academic Structure — the register loads that year's roster.
Take the daily register
The whole flow is one screen. Pick the class, load the grid, mark it, save.
-
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.
-
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.
-
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.
-
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.)
-
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.
The four attendance statuses
Every mark is one of these. This is the complete list — there are no other states.
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.
| Column | Shows |
|---|---|
| Date | The attendance date of the record. |
| Learner | The learner's name. |
| Section | The section the register was taken for. |
| Status | Present / Absent / Late / Excused, colour-coded. |
| Reason | The chosen reason (for absent/excused), or a dash. |
| Time in | The arrival time (for late), or a dash. |
| Encoded by | The staff member who saved the mark. |
Common questions & mistakes
- The save button isn't there
- You have
school_attendance(view) but notschool_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
The roster you mark comes from approved enrollments — start here if a learner is missing.
How the daily register fits alongside grade encoding in a teacher's routine.
The other half of the class record — encoding and releasing DepEd-compliant grades.
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.