🎓 EduTrack — Complete User Guide
🎓
School Management System

EduTrack

Complete User Guide

Step-by-step instructions for every feature, every module, and every role

For Administrators · Headteachers · Registrars · Teachers · Accountants · Cashiers · Nurses · Parents
Version 3.4 — 66 modules across 12 parts  ·  2026  ·  Oric Network Limited

Table of Contents

  1. Part 1 — Getting Started
  2. 1. Logging In & Out
  3. 2. Navigating the System
  4. 3. Dashboard Overview
  5. 4. Your Profile & Password
  6. Part 2 — Administration
  7. 5. System Settings
  8. 6. User Accounts
  9. 7. Classes & Subjects
  10. 8. Staff Management
  11. 9. Staff Performance, Classification & Bonus
  12. 10. Staff Attendance Kiosk
  13. 11. Students
  14. 12. Comprehensive Student Profile
  15. 13. Linking Parent Accounts
  16. Part 3 — Finance
  17. 14. Fee Structures
  18. 15. Recording Payments
  19. 16. Express Fee Collection (QR)
  20. 17. Online Payments
  21. 18. Expenses
  22. 19. Discount Coupons
  23. 20. Finance & Procurement Suite
  24. 21. Payroll — SSNIT & PAYE
  25. 22. Wallet
  26. 23. Stores / POS
  27. Part 4 — Academic
  28. 24. Attendance Register
  29. 25. Timetable
  30. 26. Exams & AI Question Generator
  31. 27. Terminal Report Cards
  32. 28. Progress Analytics
  33. 29. Financial Reports
  34. 30. Reports Hub
  35. 31. Curriculum Library & Lesson Plan Review
  36. 32. Academic Planning
  37. 33. Promotion & Class Transition
  38. Part 5 — Communication
  39. 34. Announcements & Messages
  40. 35. Alerts & SMS
  41. 36. WhatsApp Communications
  42. Part 6 — AI & Analytics
  43. 37. RBC AI Agent
  44. 38. AI Analytics & Forecasting
  45. 39. At-Risk Student Detection
  46. Part 7 — Teacher Portal
  47. 40. Login & Today Dashboard
  48. 41. Attendance, Marks & SBA
  49. 42. Lesson Plans & Notes
  50. 43. Homework & Tracking
  51. 44. My Classes, Notices & Progress
  52. 45. Student Support (At-Risk)
  53. Part 8 — Parent Portal
  54. 46. Logging into the Parent Portal
  55. 47. Viewing & Paying Fees
  56. 48. Attendance, Exams & Results
  57. 49. Messages & Account Settings
  58. 50. Offline Mode & PWA Install
  59. Part 9 — Canteen Module
  60. 51. Onboarding & Hardware Test
  61. 52. Canteen Setup & Sessions
  62. 53. Matron & Procurement
  63. 54. Cooks Sales Portal
  64. 55. Canteen Scanner
  65. 56. Cook's Dashboard
  66. 57. Canteen Reports
  67. 58. Canteen Biometric Enrollment
  68. Part 10 — Add-on Modules
  69. 59. Health & Medical Records
  70. 60. Biometric Attendance
  71. 61. Leadership & Activities
  72. 62. Clearance & Certificates
  73. 63. Asset Management
  74. 64. Advanced Discounts & Rebates
  75. Part 11 — Data Import
  76. 65. Importing Data (CSV / Excel)
  77. Part 12 — Reference
  78. 66. Roles & Permissions Matrix
  79. 67. Troubleshooting & FAQ
Quick Start

Your First Week Checklist

New to EduTrack? Work through these ten steps in order and your school will be fully operational by the end of the week. Each one links to its full instructions further down this guide — come back here any time from the Quick Start link in the top bar.

  1. Step 1Log in and explore your Dashboard. Use the username and password your administrator gave you. Login & Dashboard →
  2. Step 2Set up School Settings — school name, logo, current academic year and term, and score-weighting. System Settings →
  3. Step 3Add your Classes & Subjects. Every other module depends on this being right first. Classes & Subjects →
  4. Step 4Add Staff and create their logins. Assign each person a role so they only see what's relevant to their job. Staff Management →
  5. Step 5Add your Students — one at a time, or import a whole class from Excel/CSV in one go. Students → · Importing Data →
  6. Step 6Set up Fee Structures for each class and fee type before anyone tries to record a payment. Fee Structures →
  7. Step 7Take your first Attendance register. Takes under a minute once classes and students are loaded. Attendance Register →
  8. Step 8Record a Payment and see the receipt and SMS confirmation flow end-to-end. Recording Payments →
  9. Step 9Link a Parent Account so a parent can see fees, attendance, and results for their child. Linking Parent Accounts →
  10. Step 10Generate a Report Card once a term's scores are entered. Terminal Report Cards →
That's it. Once these ten steps are done, your school is fully operational. Everything else in this guide — the AI tools, the Canteen Module, analytics dashboards — is there when you're ready for it, not required to get started. If your plan doesn't include a step, it's marked as an add-on in that section — see Plans & Pricing for how to add it.
Part 1

Getting Started

Signing in, navigating the system, understanding your dashboard, and keeping your account secure.

1. Logging In & Logging Out

EduTrack is fully web-based. Open any browser (Chrome, Edge, or Firefox) and go to your school's EduTrack URL.

How to Log In

  1. Type your Username in the first field.
  2. Type your Password in the second field.
  3. Click the Log In button.
  4. The system takes you directly to your role-specific dashboard.
First time? Your username and password are created by the school administrator. Ask your admin if you have not received your login details.

Forgot Your Password?

  1. Click Forgot Password? on the login page.
  2. Enter the email address linked to your account.
  3. Check your email for a reset link and follow the instructions.
No email reset? Ask the system administrator to reset your password directly in User Management.

How to Log Out

  1. Click your name in the top-right corner of any page.
  2. Click Logout from the dropdown menu.
Tip: Always log out when using a shared or public computer. Sessions expire automatically after a period of inactivity.

After logging in you will see three main areas:

Mobile tip: On phones the sidebar collapses. Tap the ☰ icon at the top-left to open it. EduTrack is fully mobile-responsive.
Can't find a page? Click Find a feature… at the top of the sidebar (or press Ctrl+K) and start typing — it searches every page name you have access to and jumps straight there.

3. Dashboard Overview

Accessible by: Admin Headteacher

The dashboard is your school's live command centre. It updates in real time as payments are recorded and attendance is taken.

💰 Financial Summary

Total fees collected this term, total outstanding, total expenses, and net revenue. Breakdown by class.

🎓 Student Count

Total active students across all classes. Quick link to the Students module.

✅ Today's Attendance

Percentage of students present today. Alert if a class register has not been taken.

⚠️ AI Alerts

At-risk students flagged by the AI, overdue fees, and important system notifications.

📈 Collection Trend

Monthly fee collection chart for the current term. Helps spot collection patterns.

🤖 AI Quick Actions

Premium: type a command to the AI Agent directly from the dashboard. "Send reminders to Form 2."

Note: The financial figures on the dashboard are based on the current academic year and term set in System Settings. If figures seem off, verify that the current year is set correctly.

4. Your Profile & Changing Your Password

Accessible by: All logged-in staff

Update Your Profile

  1. Click your name in the top-right corner, then click My Profile.
  2. Edit your Full Name, Email, or Phone in the Profile Information tab.
  3. Click Update Profile to save.

Change Your Password

  1. Go to My Profile → click the Change Password tab.
  2. Enter your Current Password.
  3. Enter and confirm your New Password (minimum 8 characters).
  4. Click Change Password.
Part 2

Administration & Management

System setup, user accounts, classes, staff (including performance/classification and attendance), students, and parent linking.

5. System Settings

Accessible by: Admin only

School Information

  1. Click Settings in the menu → School Information tab.
  2. Fill in or update: School Name, Address, Phone, Email.
  3. To change the school logo, click Choose File, pick a square PNG or JPG, then Save Settings.

Academic Year & Term

  1. Click the Academic Settings tab.
  2. Set the Current Academic Year (e.g., 2024-2025) and the Current Term.
  3. Set the Admission Fee (GHS) — a default amount automatically applied to every new student when they're registered, so registrars don't have to add it by hand each time.
  4. Set the Teaching Slides — Default Slide Size (4:3 for a standard classroom projector, or 16:9 for widescreen). This is the default for the PDF slide decks teachers generate from an approved lesson plan; they can switch it per deck.
  5. Click Save Settings. All new fees, reports, and attendance records will use this year and term.
Important: Update the Academic Year at the start of every new school year. Fees, classes, and reports are all linked to this setting.

Payment Gateways

  1. Click the Payment Gateways tab.
  2. Enter your Paystack Public Key and Secret Key (from your Paystack dashboard).
  3. Enter your Hubtel Client ID and Client Secret if using Hubtel MoMo.
  4. Click Save Settings.

Online Payment Settlement

  1. Select your bank from the Bank dropdown.
  2. Enter your school's Bank Account Number.
  3. Click Verify Account — the account name auto-fills.
  4. Click Save Settlement Account.
Result: Every online payment is automatically settled into your school's bank account. No manual transfers needed.

SMS Settings (Hubtel)

  1. Click the SMS Settings tab.
  2. Enter your Hubtel Client ID and Client Secret for the SMS service.
  3. Enter a Sender Name (e.g., your school name — max 11 characters).
  4. Click Save Settings. Test by sending a test SMS to your own number.

AI Settings (Premium)

  1. Click the AI Settings tab.
  2. Enter your API keys for the AI providers you want active: Claude (Anthropic), Groq, Gemini, or OpenAI.
  3. The system uses the providers in priority order: Claude → Groq → Gemini → OpenAI. If one fails, it falls over to the next automatically.
  4. Click Save Settings.

Academic Calendar — Terms & Holidays

  1. Click the Academic Calendar tab → Add Term.
  2. Set the Academic Year, Term name, Start Date, and End Date. Multi-Level Calendar add-on schools also choose a Programme Level (KG, Lower/Upper Primary, JHS, SHS, or "All levels") so each level can run different term dates.
  3. Click Save. The list shows an auto-computed School Days count for each term (excludes weekends and observed holidays).
  4. Switch to the Holidays sub-tab → Add Holiday to log a name, date, and optional "movable" flag (for holidays like Eid that shift date every year) — untick Observed to keep a holiday on record without it counting against school days.
Why this matters: School-days counts here feed attendance-rate percentages everywhere else in the system, so keep the holiday list current each year.

Document Templates

  1. Click the Document Templates tab.
  2. Choose a Terminal Report template layout for report cards.
  3. Choose an Exam Paper template — GES Standard (official exam-paper layout with crest and "For Examiner's Use" grid), GES Compact (same, tighter spacing), or Classic (plain heading). This is the school-wide default used by the Exams Generator's print/PDF buttons.
  4. Click Save Settings.

Report Appearance

Controls that apply on top of the chosen Terminal Report template: text size, paper size, the school logo's size, and which corner the student's photo appears in.

  1. In the Document Templates tab, scroll to Report Appearance.
  2. Drag the Font Size slider (70%–160%; 100% is the template's normal size) — applies to every terminal report template.
  3. Choose a Page Size (A4 or Letter) and a School Logo Size (Default, or a fixed 40–150px).
  4. Choose the Student Photo Position — Top Right or Top Left. Only shown for students who have a photo on file (Students page).
  5. Click Save Appearance.

Report Template by Level

Override the terminal report design for classes at a specific level — for example, Preschool classes use the Preschool Observation Report while everyone else stays on the school-wide default above.

  1. Still in Document Templates, scroll to Report Template by Level.
  2. For each level (e.g. Preschool, Lower Primary, Upper Primary, JHS, SHS), pick a template or leave School Default to fall through to the main Terminal Report template choice.
  3. Click Save Template Levels.

Student & Staff ID Format

Choose the pattern newly added students and staff get, in the Student & Staff ID Format section — a Student ID Format dropdown and a Staff ID Format dropdown, each with a live example next to it:

Only applies going forward: changing the format never renumbers or changes IDs already issued — it only changes what new students and staff get from that point on.

6. User Accounts

Accessible by: Admin only

Add a New Staff User

  1. Go to User Management in the menu and click Add New User.
  2. Fill in the required fields:
UsernameUnique login name, e.g. john.mensah
PasswordTemporary — share privately with the user
Full NameDisplay name in the system
EmailFor notifications & password resets
PhoneOptional contact number
RoleAdmin / Headteacher / Registrar / Teacher (Tutor) / Accountant / Cashier / Supervisor / Director
  1. Click Add User.

Reset a Password

  1. Find the user in the list and click Edit.
  2. Type a new password in the Password field and click Save.

Deactivate a User

  1. Click Edit next to the user, untick the Active checkbox, click Save.
Note: You cannot delete your own account. Another administrator must do it.

Privileges — Which Pages Each Role Can Open

Accessible by: Admin only

The Privileges tab (visible to admins only) holds a database-backed matrix that replaces what used to be hardcoded role checks — rows are the modules/pages in the system grouped by category, columns are the editable roles, and a ticked box means that role can open that page, on top of whatever add-ons the school is actually licensed for (a role can never see a module the school hasn't bought, no matter what's ticked here).

  1. Go to User Management → Privileges tab.
  2. Tick or untick boxes directly in the matrix, or use a role column's All / None links to set every module at once for that role.
  3. Click Save Privileges to apply every change across the whole matrix in one go.
Made a mess of one role? Click Reset at the top of that role's column to restore it to the system default — this saves immediately, without needing the main Save button.
How this relates to the Roles & Permissions Matrix: the table in Roles & Permissions Matrix (Part 12) shows the system's default access per role; this Privileges tab is where an admin can actually change that default, per school, without any code change.

7. Classes & Subjects

Accessible by: Admin Headteacher Registrar

Add a Class

  1. Go to Classes → click Add Class.
  2. Fill in: Class Name (e.g. Basic 4), Class Level, Class Teacher (optional), Capacity, Academic Year.
  3. Click Save Class.

Add a Subject

  1. Go to Subjects → click Add Subject.
  2. Enter the Subject Name (e.g., Mathematics) and a unique Subject Code (e.g., MATH).
  3. Click Save Subject.

8. Staff Management

Accessible by: Admin Headteacher

Add a New Staff Member

  1. Go to Staff → click Add Staff.
  2. Fill in Personal Information: Full Name, Sex, Date of Birth, Nationality, Marital Status.
  3. Fill in Professional information: Qualifications, Registration Number, Rank, Subject, Class Assigned, and Department (picked from your school's managed department list).
  4. Fill in Contact details: Phone, Email, Residential Address.
  5. Fill in Government records: SSNIT Number, TIN Number, Bank Name, Bank Account.
  6. On the Bank & Official tab, optionally set an Expected Clock-In time override for this one staff member — otherwise they use the school-wide default from Staff Attendance Kiosk settings.
  7. Upload a Staff Photo (optional but recommended).
  8. Click Save Staff.
Auto Login: Adding a Teacher or Tutor automatically creates their login account. The username and temporary password are shown on-screen — write them down and share them privately.

Departments & Movement History

Every staff member belongs to a Department, managed from a school-wide department list — renaming a department there updates every staff record that uses it. The staff list can be filtered by Department, and Reports Hub's Smart Reports Builder can export a Staff report as one sheet per department.

Open any staff member's View panel to see their Movement History — an automatic audit trail (Field / Change / Date / By) logged every time their Department, Class Taught/Assigned, Subject, Rank, or Status changes, whether edited directly here or approved through Staff Performance, Classification & Bonus.

Self-Service Profile Edits — Approval Queue

Reviewing: Admin Headteacher Registrar

A staff member can propose changes to their own contact, personal, qualification and banking/statutory details — plus attach supporting documents — from either the Teacher Portal's My Profile tab (staff who have a portal login) or the public, PIN-gated Staff Profile Kiosk (a different kiosk from the Staff Attendance Kiosk, but authenticated the same way — a name search plus the staff member's own kiosk PIN, no EduTrack login needed). Neither entry point writes to the real staff record directly; both feed the exact same queue here.

  1. Click the Profile Edits button at the top of the Staff page (its badge shows how many requests are pending).
  2. Open a pending request to see every proposed field change side-by-side with the current value, plus any documents attached.
  3. Click Approve to write the changes straight into the staff record and file the documents (they become visible in the staff member's Documents), or Reject with a review note explaining why.
One request at a time: a staff member can't submit a second profile edit request while one is still pending — they see whatever's outstanding and have to wait for it to be decided first.

9. Staff Performance, Classification & Bonus Add-on

Accessible by: Admin Headteacher / Director Registrar / Supervisor department heads (as reviewers)

Go to Staff Performance in the menu. It turns weekly teaching observations, conduct, attendance, portfolio and contribution records into a single computed performance score per staff member — then routes any classification or bonus change through a Management approval chain before anything is final, including posting an approved bonus straight into that staff member's payroll allowance. Five tabs run across the top of every screen: Portfolio, Analytics & Comparison, Configuration, Reports, Audit Trail.

AI recommends, Management decides. Nothing here changes a staff member's classification, salary or bonus automatically — every AI score and every recommendation sits as "Pending" until an authorised approver signs off. There is deliberately no salary-grade or salary-amount feature in this module; it only tracks classification and bonus bands, and AI is barred from ever proposing a specific salary figure.

File a Weekly Observation

Only a registered department head (or an admin/headteacter/supervisor/director) sees the review screen on the main Staff Performance page — a "Due This Week" list on the left shows every staff member holding a class or subject assignment who hasn't been observed yet this week (one observation per person, per week).

  1. Pick a staff member from the Due This Week list.
  2. Fill in Topic Taught, Observation Date and Time.
  3. Score all 12 criteria from 1–5: Lesson Preparation, Subject Knowledge, Lesson Introduction, Teaching Methodology, Use of Teaching & Learning Resources, Learner Participation, Classroom Management, Communication, Assessment of Learning, Time Management, Lesson Conclusion, and Professional Conduct.
  4. Add Strengths Observed, Areas Requiring Improvement, Recommendations, and Observer's Comments, and optionally attach Supporting Evidence (a photo or PDF).
  5. Click Submit Observation — the total and percentage score are calculated automatically.

Department heads can also file observations and request a review of their own record from the My Performance section of their Teacher Portal, without needing to open the admin side at all. That same section shows the staff member their own composite rating and trend — never a bonus figure, which stays a Management-only working number.

Already-submitted observations aren't locked forever: a reviewer can raise a Request Correction against a specific scored criterion (with a reason), and once approved the total, percentage and overall score are recomputed automatically — logged before/after on the Audit Trail rather than silently overwritten.

Staff Portfolio

Search and select a staff member on the Portfolio tab to see everything on file for them in one place:

Deep-linking a staff member: a "View Portfolio" link from Analytics, Audit Trail or Recommendations (e.g. portfolio.php?staff=28) opens straight to that staff member's record instead of the search screen.

Analytics & Comparison

Filter by Department, Period, Staff, Subject, Class, Rating and Classification (any combination) to see school-wide KPI tiles (Total Staff, Avg Score, Reviews Filed, Staff Reviewed, This Week's Coverage, Avg Tenure), a weekly average trend chart, an Attendance/Punctuality trend chart, a per-department bar chart, and a By Subject breakdown chart. An Annual toggle rolls every chart and tile up across a whole academic year instead of one term. The Staff Rollup table lists every staff member's score and band with a link into their Portfolio. Use Compare Tutors to select up to four staff and see a side-by-side radar and trend comparison.

Four management panels sit below the charts: Pending Approvals (recommendations waiting on your sign-off), Pending Assessment Corrections (requested criterion corrections waiting on approval), Classification & Rating Overview (the whole staff list grouped by classification and rating band, with Staff Requiring Improvement and Staff Due for Classification Review called out separately), and the Bonus Awards panel (every bonus in flight, its status, and whether it's posted to payroll yet).

Configuration — Set the Rules

Editing is restricted to Admin/Headteacher/Director; everyone else can view. Six tabs, each pre-loaded with sensible Ghana Education Service defaults that Management can rename or reweight at any time. Every change here is itself logged to the Audit Trail:

TabWhat it configures
Classification LadderThe ranked list of professional levels (default GES ladder: Superintendent II → Superintendent I → Senior Superintendent → Principal Superintendent → Assistant Director II/I → Deputy Director → Director II/I).
Assessment WeightsHow much each of the 7 performance areas counts toward the composite score (default: Weekly Teaching 30%, Conduct 15%, Experience 10%, Portfolio 10%, Attendance 10%, Learner Performance 15%, Contribution 10%) — the page won't let you save unless active weights total exactly 100%.
Rating BandsThe score ranges for Outstanding / Very Good / Good / Satisfactory / Improvement Required.
Bonus BandsWhich rating maps to which bonus band and a GHS reference amount (e.g. Outstanding → Band A).
Approval WorkflowAn ordered chain of approver roles (Registrar/HR → Headteacher by default), settable per department or as one default chain for everyone.
Engine SettingsThe thresholds behind the scoring engine that used to need a code change to adjust: the Experience score's year scale, weekly review cadence, the trend-improvement threshold, the consistency (stable/variable) threshold, and how many months before a staff member is flagged Due for Classification Review.

Reports

The Reports tab offers Weekly Teaching Assessment, Staff Performance, Staff Classification, Departmental Performance, Attendance & Punctuality, Staff Portfolio, Bonus Recommendation, Staff Improvement, and Management Approval as CSV exports, a Monthly / Termly / Annual Staff Performance Report with a granularity selector in place of three separate exports, and one PDF: the Individual Staff Performance Report, a printable summary for one staff member with their full area-by-area breakdown, rating, trend and suggested bonus band. Every export is logged for audit purposes.

Leaving staff: a staff exit clearance and Certificate of Service is a separate feature under Clearance & Certificates — it reads the same staff record but is licensed and run from there, not from this module.

Audit Trail

Accessible by: Admin Headteacher / Director Registrar

One consolidated feed of every change this module makes, filterable by staff member: assignment history, recommendation decisions, attendance corrections, appeals, conduct records, bonus awards, assessment corrections, and configuration changes — each row showing when, who, the source, the action, the before/after value, and any reason given. This replaces having to check several separate logs to answer "what changed on this staff member's record, and who approved it."

10. Staff Attendance Kiosk

Accessible by: Kiosk itself needs no login (any staff member). Settings/records: Admin Headteacher / Director Registrar / Supervisor

A standalone, PIN-based clock-in/out screen for staff, separate from the school-wide student Attendance Register and from the Biometric Attendance add-on. Open Staff Attendance in the menu to manage it, or point a shared tablet/kiosk device at the public kiosk URL for staff to actually clock in on.

Open the Day & Let Staff Clock In

  1. On the Records tab, click Open Attendance each morning — the kiosk stays locked ("Attendance Not Open") until this is done, so nobody can clock in outside the intended window.
  2. At the kiosk, a staff member types their name, taps their result, and enters their PIN on a numeric pad, then taps Confirm. Clock-in vs clock-out is worked out automatically — there's nothing to choose.
  3. Click Close / Lock Attendance once the window for punches should end for the day.
Works without internet: a punch made while the kiosk device is offline is queued on the device and synced automatically the moment it reconnects — nothing is lost.

PINs & Late Settings

11. Students

Accessible by: Admin Headteacher Registrar

Enroll a New Student

  1. Go to Students → click Add Student.
  2. Fill in required fields:
First NameStudent's given name
Last NameStudent's family name
ClassSelect from active classes
At least one phoneFather's, Mother's, or Emergency contact
Date of BirthRecommended for report cards
SexMale / Female
Parent / Guardian InfoName, Occupation, Phone, Address
Student PhotoJPG or PNG, max 2 MB
  1. Click Save Student. The system auto-generates a Student ID (e.g., STU001).
  2. If the Canteen Module is active, the system also auto-generates a permanent Identity QR token for this student.
Required: Every student must have at least one contact phone number. The system will not save without it.

Mark a Student Inactive (Withdrawn)

  1. Click Edit on the student's row.
  2. Change Status to Inactive and click Save Student.
Tip: Inactive students are hidden from class lists but their records, payment history, and attendance are fully preserved.

12. Comprehensive Student Profile Add-on

Accessible by: Admin Headteacher Registrar

A one-screen "360 view" of a single student — everything the Students list doesn't have room to show, in one place. It layers extra admission fields onto the existing Students forms and adds a dedicated dossier page; it does not replace the core Students module.

Open a Student's 360 Profile

  1. Go to Comprehensive Profile in the menu — or click the 360 Profile button on any student's row in the Students list, which jumps straight there.
  2. Pick the Academic Year, Term, Class, and Student from the filter row at the top.

The profile shows the student's photo, ID, class, status, sex, date of birth, admission date, and a Print ID Card shortcut, plus:

📋 Extra Admission Fields

Admission Category, NHIS Number, GPS Address, House No., Nationality, and Religion — captured on the same Add/Edit Student form, just extra fields that only appear when this add-on is active.

💰 Fee Breakdown

Every fee for the selected year/term with amount, amount paid, and outstanding balance, plus a one-click link into Fees to record a payment.

👪 Parent & Guardian Panels

Separate cards for Father, Mother, and Guardian (name, occupation, phone, address, and a guardian photo if uploaded), plus Emergency Contact.

Not a separate student record: this page reads and edits the same students table core Students does — there's nothing to keep in sync between the two.

Accessible by: Admin Registrar

  1. Go to Parent Accounts → click Link Parent Account.
  2. Select the Student — the parent's name and phone auto-fill from the student record.
  3. Confirm or correct the Guardian Full Name and Phone Number. The phone number is the parent's login username.
  4. Set a temporary Password and share it privately with the parent.
  5. Click Save Parent Account.
Multiple children: Create a separate link for each child. The system groups them together when the parent logs in to the Parent Portal.
Part 3

Finance

Fee structures, recording payments, express QR collection, online payments, expenses, coupons, the Wallet cashless card, and Stores/POS.

14. Fee Structures

Accessible by: Admin

Fee structures define what each class owes. You must set these up before recording any payments.

Add a Fee Structure

  1. Go to Fees → click Add Fee Structure.
  2. Fill in: Class Name, Fee Type (e.g. Tuition, Feeding Fee, Exam Fee), Amount (GHS), Due Date, Academic Year.
  3. Click Add Fee Structure.
Tip: Add multiple fee types per class (Tuition + Feeding + Exam Fee etc.). Each is a separate entry. Feeding/canteen fee types automatically trigger Canteen Module entitlements when paid.

Admission-Only Fee Types — Per-Class Amounts

For one-off charges that should only ever bill a brand-new admission — Admission Fee, Registration Fee, a New Student Levy — and never appear as a recurring charge for the rest of the class.

  1. In Settings → Fee Types, create the fee type (or edit an existing one) and tick Admission-only fee.
  2. Go to Fees → Admission Fees tab. It lists every active class against every admission-only fee type; filter by Class or Fee Type, or tick Not configured only to find classes with no amount set yet.
  3. Set the amount for each class/fee-type combination. A class with no amount set here simply isn't billed that fee type.

These per-class amounts are the same ones shown to HR on the New Admission form and auto-billed the moment a new student is saved into that class — editing here updates the same data as Settings → Fee Types, just organised by class instead of by fee type.

Fee Accounts, Fee Categories & Fee Types — Settings

Three levels, each grouping the one below it, all managed from Settings → Fees:

Finance reports (Fee Collections, Reports Hub, Smart Reports) can filter and export by Account and/or Fee Category — picking an Account narrows the Fee Category list to that account's categories.

Safe delete: a Fee Account, Fee Category, or Fee Type can only be deleted once nothing references it — no fee structures, coupons, scholarships, discount programmes, or (for a category) fee types assigned to it. Delete is greyed out with an explanation when it's still in use; use the Status toggle to hide it from pickers instead.

15. Recording Payments (Standard)

Accessible by: Admin

Record a Cash / Bank Payment

  1. Go to Fees → click Record Payment.
  2. Select the Student, the Fee Type being paid, the Amount Paid, Payment Date, and Payment Method (Cash, Cheque, Bank Transfer, Mobile Money, Card, or Credit — see Issue a Credit below).
  3. The Transaction / Receipt ID field is pre-filled with a generated ID each time the modal opens — edit or replace it if you have your own reference number, or leave it as-is.
  4. Optionally apply a Coupon code for a discount.
  5. Click Record Payment.
Auto-SMS: An SMS confirmation is automatically sent to the parent: "We have received GHS[amount] towards [Fee Type] for [Student Name]."

Edit or Correct a Payment

  1. Find the payment in the payments list.
  2. Click Edit, correct the amount, date, or method, then click Save.

Bulk Payment — Pay Several Fees in One Transaction

  1. Select the Student — the Outstanding Fee Items list loads automatically, split into three columns: Fees due (mandatory, pre-ticked), Other Fees — tick to add (feeding/canteen fees and other optional add-on charges — e.g. an Events & Excursions charge — tick only what's actually being collected right now), and Non-billable (e.g. a vacation-class fee).
  2. Tick two or more fee items (or tick Select all [Term] items to pay the whole term in one go).
  3. Enter the total Amount Paid, Date, and Method, then click Record Payment. This is recorded as a single bulk payment with one receipt, rather than several separate entries.
Coupons: a discount coupon can be applied to a single fee item, but not to a bulk payment covering several items at once.

Issue a Credit

For a fee correction or a refund owed after a withdrawal, open the student's payment history, click Issue Credit, and pick a reason (including "Overpayment"). It's recorded as available credit against that student and applied (oldest first) the next time a payment is recorded for them — or spent directly by choosing Credit as the Payment Method on their next Record Payment (not combinable with a coupon on the same payment).

Overpayment is handled automatically in bulk payments: if the amount entered exceeds the total of the ticked fee items, the extra is no longer forced onto the last item (which used to push its balance negative) — it's routed straight into the student's available credit instead, ready to apply to whatever they owe next.

16. Express Fee Collection (QR Scanner)

Accessible by: Admin Registrar

Express Collection (fees_express.php) eliminates the morning fee desk queue. Instead of searching for a student, you scan their QR code and the system loads their record instantly.

Canteen Module Required: Express Collection is part of the Canteen Module add-on. It requires students to have Identity QR tokens generated (done automatically on enrollment or via Canteen → Generate Identity QRs).

How to Use Express Collection

  1. Click Express Collection in the Fees section of the menu.
  2. The camera viewfinder opens automatically. Point your device camera at the student's QR code (from their parent portal, printed ID card, or student ID).
  3. The student's photo, name, class, and outstanding fees load instantly.
  4. Tap the fee type button (feeding/canteen fees are highlighted in green and listed first).
  5. Select the payment method: Cash, Mobile Money, or Bank Transfer. For MoMo: choose MTN / Vodafone / AirtelTigo.
  6. Click Record Payment. A green confirmation screen appears for 2 seconds then auto-resets.
No QR? Use the 5-digit Student ID fallback input below the camera. Type the student's ID number and press Enter.
Also in fees.php: A "Scan QR" button has been added to the standard Fees page. Clicking it opens a camera modal that scans the QR and populates the student search field automatically.

17. Online Payments (Paystack / Hubtel)

Initiated by: Parent via Parent Portal, or Admin / Accountant on behalf of a student

How a Parent Pays Online

  1. Parent logs into the Parent Portal and clicks Fees.
  2. Finds an outstanding fee and clicks Pay Online.
  3. Ticks the fees to pay and selects payment method: Card, MTN MoMo, Vodafone Cash, or AirtelTigo Money.
  4. Enters name and phone number, then clicks Proceed to Payment.
  5. Completes payment on the Paystack / Hubtel checkout screen.
  6. Returns to EduTrack and sees a confirmation with a receipt number.
Auto-settlement: If the school's bank account is configured in Settings, money settles directly into the account after each transaction — no manual transfer needed.

18. Expenses

Accessible by: Admin

  1. Go to Expenses → click Add Expense.
  2. Enter the Date, Category, Description, Amount (GHS), Payment Method, and optional Vendor name.
  3. Click Save Expense. The dashboard's Total Expenses figure updates immediately.

19. Discount Coupons

Accessible by: Admin only

  1. Go to Settings → scroll to Coupons Management → click Add Coupon.
  2. Enter a unique Coupon Code (e.g., STAFF2025), Description, Discount Type (Fixed Amount or Percentage), Discount Value, and Usage Limit (0 = unlimited).
  3. Click Save Coupon.

When recording a payment, the cashier or parent enters this coupon code to apply the discount automatically.

20. Finance & Procurement Suite Add-on

Accessible by: Any staff can submit a request. Approvals and disbursement: Admin Headteacher

A layer on top of core Expenses for schools that need an approval chain before money goes out — request → approve → disburse, with a full audit trail. Go to Finance in the menu, which opens on a hub with four stat tiles (Awaiting approval, Ready to disburse, Disbursed total, Open events) and three cards.

Submit an Expenditure Request

  1. Click Expenditure Requests → New Request.
  2. Fill in Date, Amount (GHS), Category (Supplies / Maintenance / Repairs / Utilities / Transport / Events / Equipment / Other), Payment Method, Description, and optional Vendor.
  3. Optionally link it to an open Event (see Events & Excursions below) and attach receipt files (JPG/PNG/PDF).
  4. Click Submit. The system assigns a request number automatically (e.g. ER-2025-0042).

Toggle My requests / All requests to see just your own submissions or everyone's (All requests is visible to admin/accountant/headteacher/supervisor/director). Click any row to open its detail — approval progress, audit trail, and an option to attach more receipts at any time.

Approve or Reject a Request

  1. Go to Approvals Inbox — it lists requests currently awaiting your role (admins see everything).
  2. Open a request, add an optional comment, then click Approve or Reject.
  3. Rejecting ends the workflow immediately. Approving advances the request to the next configured step.
  4. Once every required step has approved, the request moves to the Ready to Disburse table (visible to admin/accountant).
  5. Click Disburse to post the amount into the core Expenses ledger — the request is marked Disbursed and its receipts carry over.
Configuring the approval chain: Admin/Headteacher/Director go to Finance → Settings to set an ordered matrix of approver roles with a "applies when amount ≥ GHS X" threshold per step. Default: Bursar (any amount) → Principal (≥ GHS 1,000) → Board (≥ GHS 5,000) — smaller requests skip the higher steps automatically.

Events & Excursions

A dedicated budget account per school trip or project. Click Events & Excursions → New Event, filling in Name, Date, Budget, Location, and Status (Planning / Active / Closed). Inside an event you can:

Each event card shows Spend vs. Budget and how much is still owed by students.

Billed through Fees: billing a student here creates a real charge for them, and paying here records a real payment — both show up in Fee Collections, Reports Hub, and Smart Reports like any other fee (labelled "Event: [event name]"), and also appear in the Record Payment modal's Other Fees — tick to add column so a cashier can collect an event fee from the main Fees page too. A participant with a payment already recorded against them can't be removed — void the charge from the Fees page first.

21. Payroll — Ghana SSNIT & PAYE Add-on

Accessible by: Admin Headteacher

Go to Payroll in the menu. Staff pay figures are edited on the Payroll Register page; Payroll Runs below it snapshot that data for a given month.

Set Up a Staff Member's Pay — Payroll Register

  1. Click Payroll Register, then click a staff member's row to open their pay panel.
  2. Enter Basic Salary and Position, then the roll-based pay components: Main Inclusion (Inc), Allowance, MMT, Stream Head, Subject Heads, and B9 Trs.
  3. Below that, the figures carried over from the old Staff Pay Setup page and used by Payroll Runs: Transport Allowance, Housing Allowance, Other Allowance, Other Deductions, Tax Relief, and the SSNIT exempt checkbox.
  4. Click Recalculate to pre-fill 13% SSNIT, GROSS, Statutory Deductions, and NET SALARY from the figures above, using the rates on the Payroll Rate Settings page — these four are still plain editable boxes, so whatever is in them at Save time is exactly what's stored.
  5. Click Save.
Updating many staff at once? Click Bulk Upload, download the template, fill it in Excel or CSV, and re-upload — every row updates or creates that staff member's register entry. Leave 13% SSNIT / GROSS / Statutory Deductions / NET SALARY blank in the file to have them auto-calculated. Use Export Excel / Export PDF to download the current register.

Run Monthly Payroll

  1. Go to Payroll Runs, pick the month (e.g. 2025-09), and click Create Run. This snapshots every active staff member who has pay set up.
  2. Open the run to review each staff row: Basic, Allowances, Gross, SSNIT, PAYE, Other, Net — click the link icon to open an individual Payslip.
  3. A draft run can still be corrected. When everything is right, click Finalize to lock it (or Delete Draft to discard and start over).
Ghana statutory deductions, calculated automatically: Employee SSNIT is 5.5% of basic salary (with a separate 13% employer contribution shown in the run's totals footer, not deducted from the employee). PAYE income tax is calculated using Ghana's graduated bands (roughly 0% / 5% / 10% / 17.5% / 25% / 30% / 35% as income rises).

Each Payslip is a printable page with your school's header and logo, the employee's SSNIT number and bank details, an Earnings section (Basic, Allowances, Gross), a Deductions section (SSNIT, PAYE, Other), the Net Pay, and a footer note on taxable income and the employer's SSNIT contribution — click Print / Save PDF.

22. Wallet Add-on

Accessible by: Admin

A prepaid cashless card per student — top up by cash or online, spend at the school's Stores/POS till (below) or, in future, against fees. Strictly prepaid: there is never a credit line, and the balance is always the running total of every top-up and purchase — nothing is ever stored as a bare number that could drift out of sync.

Issue a Wallet

  1. Go to Wallet in the menu — the list shows every student with their card code, balance, daily limit, and status (Active / Suspended / Not Issued).
  2. Find a student with Not Issued status and click Issue. A unique card code (e.g. WAL-9F3C7A21) is generated immediately.

Top Up, Set a Limit, or Suspend

Click any student's row to open their wallet — three summary tiles (Balance, Spent Today, Daily Limit) sit above the actions:

Every top-up, purchase, and refund appears in the Ledger table on this same screen — date, type, channel, amount, who recorded it, and notes.

Strictly prepaid: a purchase is declined at the till the instant it would exceed either the wallet's balance or its daily spend limit — there is no way to overspend a wallet.

23. Stores / POS Add-on

Configuration: Admin. Selling: kiosk PIN cashiers or any staff with access.

A canteen or stationery till, with genuinely separate stock per location and Wallet as one tender option alongside cash and MoMo — not a bolt-on vendor page. Go to Stores / POS in the menu to configure it; the actual selling screen is a separate, kiosk-friendly page.

Set Up Locations, Products & Cashiers

  1. On the Locations tab, click Add Location — e.g. "Canteen Store" or "Stationery Kiosk." Stock is tracked separately per location; a sale at one never touches another's count.
  2. On the Products tab, click Add Product — Name, optional Barcode, Category, and Unit Price.
  3. Click Stock next to a product to open the restock modal — enter a quantity and notes (e.g. "supplier delivery") and click Add Stock, or click Save Threshold Only to set a low-stock alert level without changing the count.
  4. On the Store Users tab, click Add Store User to create a kiosk cashier — a name and PIN, entirely separate from an EduTrack staff login.

Sell at the Till

  1. Click Open Till — this opens the kiosk in a new tab. Sign in with a store user's name and PIN (or stay signed in as an admin).
  2. Scan a barcode, or search and tap a product to add it to the cart.
  3. Choose the tender: Cash, MoMo, or Wallet. For Wallet, scan the student's wallet card or search their name — the sale is declined on the spot if their balance or daily limit can't cover it.
  4. Click Complete Sale. A receipt number is generated and stock is deducted immediately.

Sales History & Voiding

Back in the admin Stores/POS page, the Sales tab lists every sale by location — click the eye icon to see its line items. Click Void This Sale to reverse a wrong-item sale: every line item is restocked and, if it was a wallet sale, the exact amount is refunded to the wallet automatically. A voided sale is marked Voided, never deleted.

Low stock: any product at or under its saved threshold is flagged automatically — check the Products tab's stock column, which highlights low counts.
Part 4

Academic

Attendance, timetable, AI exam generation, terminal report cards, progress analytics, financial reports, Reports Hub, and academic planning.

24. Attendance Register

Accessible by: Admin Headteacher Registrar Teacher (Tutor)

Taking the Daily Register

  1. Go to Attendance → Take Register tab.
  2. Select the Class and Date (today is pre-selected), then click Load.
  3. For each student click: Present (green), Absent (red), Late (orange), or Excused (purple).
  4. Add an optional Note for any student.
  5. Click Save Register.
Quick fill: Click All Present to mark everyone present at once, then change only the absent or late students. This is much faster for large classes.

View & Export Past Records

  1. Click the View Records tab.
  2. Filter by Class, Date Range, and Status.
  3. Click Export CSV or Export PDF.

SMS Absentee Alerts

  1. Click the SMS Absentees tab.
  2. Select the Class and Date, then click Send SMS. Parents of all absent students receive an automatic text message.

25. Timetable

Accessible by: Admin Headteacher Registrar

Set Up Periods for a Class

Periods are configured per class, not school-wide, so a JHS class can run a different bell schedule from a Kindergarten class. Go to Timetable → Period Setup, click Add Period, and set the Start/End Time and a Period Type (built-in teaching/break types, any custom types your school has defined, or type your own with "➕ Other"). Drag rows to reorder — the system validates that times don't overlap.

Build the Timetable

  1. Go to Timetable → select a Class and Academic Year.
  2. For each period slot, assign a Subject, Teacher, Start Time, and End Time.
  3. Click Save Timetable.
Conflict detection: The system automatically warns you if a teacher has been assigned to two classes at the same time.

Substitutions (Cover Teachers)

When a teacher is away, log who covered their lesson so it's on record. Go to Timetable → Substitutions, filter by Date/Class, and click Add Substitution — pick the timetable slot, the Original Teacher, the Substitute Teacher, and a Reason. The list is a running log (Date, Class, Period, Subject, Original, Substitute, Reason, Recorded By), not a scheduling tool.

Teacher, Public & Print Views

26. Exams & AI Question Generator

Accessible by: Admin Headteacher Teacher

The Exams Generator is one of the largest modules in EduTrack — eight tabs covering everything from a manual question bank to a full AI-drafted exam paper with a review-and-approval workflow before it's published. This section covers all eight.

1 · Question Bank (Manual)

  1. Go to Exams Generator → select Subject, Class, Term, and Exam Type.
  2. Set the number of questions and difficulty mix (Easy / Medium / Hard).
  3. Click Generate Exam. The system selects matching questions already in your question bank.
  4. Review the paper and click Download PDF to print.

Import Questions from CSV

  1. Click Import CSV on the Question Bank tab.
  2. Download the CSV template, fill it in (one question per row), and save as CSV.
  3. Click Choose File, select your CSV, then click Upload & Import.
ColumnWhat to EnterRequired?
subject_codeMust match an existing subject code, e.g. MATHYes
class_namee.g. JHS 2Yes
question_typemcq or essayYes
questionThe question textYes
option_a to option_dMCQ answer choicesMCQ only
correct_answera, b, c, or dMCQ only
marksPoints valueYes
difficultyeasy, medium, or hardYes

2 · AI Generator — Questions from Study Material Growth / Premium

Generates individual questions into the shared question bank — for building up a bank over time, not for producing one finished paper.

  1. Go to the AI Generator tab. Step 1: upload a PDF, or pick a document already in the Learning Materials Library (below).
  2. Step 2: choose "From uploaded material" or "From topics" (type topics directly, no upload needed), then set Subject, Class, question count, and type (MCQ / Essay / Mixed).
  3. Click Generate. A status bar shows which AI engine (Claude / Groq / Gemini) is being used, and a quota badge shows how many AI generations remain this month.
  4. Review and edit the questions, then Save to Question Bank.
AI Tip: Upload past BECE papers to build a Ghana-specific question bank quickly.

3 · AI Paper Generator — Full Exam Papers Growth / Premium

A separate feature from the AI Generator above — this produces a complete, structured exam paper (sections, marks allocation, model answers, marking rubrics) in one pass, ready to publish.

  1. Go to the AI Paper Generator tab. Step 1: choose Class & Subject and an Exam Format/Standard (see Format Profiles below).
  2. Step 2: attach Study Materials — upload fresh or pick from the Learning Materials Library.
  3. Syllabus Coverage — with a published curriculum in place, this card lists the NaCCA indicators the class has actually been taught (from approved lesson plans and the termly program outline, up to the exam's cut-off week from the academic calendar). For a Mid-Term exam the cut-off is roughly half the term; End of Term covers the whole term. Adjust the "cover up to week" number, untick any indicator you don't want tested, or turn Keep on syllabus off to remove the restriction entirely.
  4. Step 3: Configure & click Generate Exam Paper. Every question is generated against a covered indicator and tagged with its code; the strand mix follows how much teaching time each strand had.
  5. Review the draft — toggle between Student Copy and Teacher Guide (the Teacher Guide shows each question's curriculum indicator alongside the answer and rubric). Generation warnings flag anything that landed off-syllabus or untagged.
  6. Save Changes or Save Questions to Bank, then Download PDF, Answer Key PDF, or Print. Saving here is also the entry point into the Workflow Board below.

4 · Format Profiles — Teach the AI Your School's Style

A per subject-and-class "house style" the AI learns from a real past paper, so generated papers look like the ones your school already uses.

  1. On the AI Paper Generator's Step 1, open the Exam Format / Standard card.
  2. Upload or paste a sample past exam (PDF, Word, image, or plain text) and click Analyze & Save.
  3. The AI studies the structure only — section layout, instructions wording, marks distribution — it will not copy the sample's actual questions. A "Format learned" badge appears with a summary.
  4. Click Use School Format on future generations to pre-fill the section/format fields from this profile. Upload once per subject + class — it's reused every time after that. Clear removes a saved profile.

5 · Learning Materials Library

A persistent library of source documents (textbook chapters, syllabuses, past papers) — separate from one-off drag-and-drop uploads on the AI Generator tab, so a document your school uses often only has to be uploaded once. Go to Upload Materials (linked from the AI Paper Generator's Step 2), click Upload New Material, and it becomes available in the material picker on both the AI Generator and AI Paper Generator tabs going forward.

6 · Paper Builder — Assemble a Paper by Hand

For building a paper question-by-question instead of generating one. Go to the Exam Papers tab.

  1. Click Create New Paper. Optionally start from a template (pre-fills duration, total marks, instructions, and an auto-generate question mix).
  2. Fill in Title, Subject, Class, and Term.
  3. Use the question-bank side panel — click Load to pull in matching bank questions, then drag to reorder.
  4. Preview, Print, Export PDF, or Export Answer Key. Existing papers can be filtered by Class/Term/Year/Status, then Edited or Deleted.

7 · Exam Workflow Board — Review & Approval

A publishing pipeline so a paper is checked before it reaches students: Draft → Review Requested → Reviewed → Approved → Published (or Archived at any point). Go to the Exam Workflow Board tab.

ActionWhoEffect
Submit For ReviewCreator / Teacher / ReviewerDraft → Review Requested
Mark Reviewed / Return To DraftAdmin / Headteacher / Director / SupervisorAdvances or sends back for edits
ApproveAdmin / Headteacher / DirectorReviewed → Approved
PublishAdmin / Headteacher / DirectorApproved → Published (visible/printable for real use)

Each paper carries a workflow note field and a full history log. The board supports filtering (Title/Subject, Class, Status) and bulk actions: Publish Selected, Archive Selected, Delete Selected.

8 · Schedules — Exam Sittings

Not recurring generation — this schedules when and where a paper is actually sat. Go to the Schedules tab, click Schedule Exam, and set the Paper, Class, Date, Venue, Start/End Time, Invigilator (from staff), and Status (Scheduled / Ongoing / Completed / Cancelled). A calendar grid and table show all upcoming sittings.

9 · Results — Scoring Individual Exam Papers

Not the same as Terminal Reports: this Results tab is for standalone exam/test papers (mock exams, class tests). For end-of-term report cards, see Terminal Report Cards below.
  1. Go to the Results tab, pick a Paper (or filter by Class/Term/Year), and click Load Results.
  2. Enter Score, Grade, and Remarks per student in the table.
  3. Click Save All Results. Summary cards, a score-distribution chart, and a Class Ranking table appear automatically.
  4. Click Export Results PDF to print or share.

10 · AI Settings & Generation Log Admin / Headteacher / Director

A dedicated AI Settings tab within Exams Generator (in addition to Settings → AI Settings covered in Part 2): configure per-engine API keys and model choice for Claude / Groq / Gemini, use Test or Check All Engines to verify a key works, and reorder the Engine Priority list. A Generation Log table records every AI generation run — date, subject, class, question count, engine used, status, and duration — useful for auditing AI usage or diagnosing a failed generation.

27. Terminal Report Cards

Accessible by: Admin Headteacher Teacher (Growth / Premium plans)

Enter Student Scores

  1. Go to Reports (or Terminal Reports) in the menu.
  2. Select the Class, Subject, Term, and Academic Year.
  3. For each student, enter the Class Score (continuous assessment) and the Exam Score.
  4. The system calculates the Total Score, Grade (A1–F9), and Position automatically using the GES weighting you configured (typically 30% class, 70% exam).
  5. Click Save Scores.
Score weighting: The class/exam percentage split (30/70 or custom) is set in Settings → Academic Settings. This applies to all report cards.

Score Entry Locks

Once a term's scores are verified, close the door on further changes — by tutors and admins alike — so a report card can't quietly drift after it's been checked.

  1. Go to Reports → Configure Subjects, then select the Class whose entry you want to lock.
  2. On the Score Entry Lock card, click Lock Score Entry.
  3. To reopen it later — a correction is needed, or the term restarts — click Unlock Score Entry on the same card.
Scope: a lock applies to one class, for the current term and academic year. It blocks every entry path at once — the admin Reports screen, the Teacher Portal's Marks/Assessments screens, and Preschool Ratings below — not just one of them.

Generate and Print Report Cards

  1. Once all scores are entered for a class and term, click Generate Report Cards.
  2. Review the preview — each card shows the student's scores for all subjects, class position, teacher remarks, headteacher remarks, and the school logo.
  3. Click Download PDF (All Students) to download a batch PDF of all report cards for that class.
  4. Or click Download PDF on an individual student's card to print just that one.
Tip: Report cards automatically include the student's photo, class position out of total students, aggregate score, and promotion status. The school logo from Settings appears in the header of every card.
AI remarks (Premium): The AI Agent can draft personalised teacher remarks for each student based on their scores and attendance record. Go to AI Agent and type "Draft remarks for Basic 5".

Batch Report History

Accessible by: Admin Headteacher / Director / Supervisor

Every batch PDF generated by Download PDF (All Students) is kept, not just handed to you once. Go to Reports → Batch Report History to see every past batch job with its class, term, year, PDF count, file size, and status — click Download to re-fetch a batch without regenerating it.

90-day retention: batch ZIP files are automatically deleted 90 days after they were generated to save storage. Download and archive a batch yourself if you need to keep it longer.

Preschool Observation Reports

Creche through KG 2 don't sit exams or carry subject scores — a Class Score/Exam Score grid makes no sense for a toddler. Preschool classes report instead on V/G/S/N observation ratings (Very Good / Good / Satisfactory / Needs Improvement) across a fixed set of developmental categories — Language & Literacy, Numeracy, Social & Emotional Development, Physical & Motor Skills, Creative Arts, and Personal Hygiene & Health Habits.

  1. Go to Reports → Preschool Ratings, then select the Class, Term, and Academic Year.
  2. For each pupil, click a rating (V / G / S / N) against every observation item.
  3. Click Save Ratings.
Same report button, different template: there is nothing extra to configure to make this work — Generate Report Cards above automatically detects a preschool class (by its Class Level) and prints the V/G/S/N template instead of the scores template. Attendance, conduct, interest, and remarks fields on the report card work exactly the same as any other class.

28. Progress Analytics Premium / Add-on

Accessible by: Admin Headteacher Teacher (own classes)

Progress Analytics turns the same score data behind terminal reports into graphical, trend-based dashboards — it pairs with Terminal Reports rather than replacing it.

  1. Go to Progress Analytics in the menu.
  2. Select a Class (or "My Classes" for a teacher) and, optionally, drill into a single Student.

Class & Subject Trends

Term-over-term average score charts per class and per subject, so declining performance is visible before it shows up in a report card.

Rankings

Class position and school-wide rankings with movement indicators (up/down) compared to the previous term.

Attendance Correlation

Cross-references attendance rate against score trend to surface students whose falling attendance is tracking with falling grades.

Plan note: Progress Analytics is bundled free into Premium. Starter and Growth schools can also add it individually as a paid add-on without upgrading the whole plan — ask us on WhatsApp. Teachers get a read-only, class-scoped version of the same dashboards from the Teacher Portal's "Progress" screen (Part 7).

29. Financial Reports

Accessible by: Admin Headteacher

Report TypeWhat It Shows
Fee CollectionsEvery payment within a date range, grouped one row per student — see below.
ExpensesAll expenses within a date range.
Outstanding FeesEvery student with total fee, amount paid, and outstanding balance. Filter by class.
Profit & LossTotal collections vs. total expenses for the period, with the net balance.
Class SummaryExpected vs. collected per class with collection percentage.
Student StatementFull payment history for one selected student.

A Cashier logging in here only ever sees a reduced set of report types (their own Fee Collections, plus Outstanding Fees and Student Statement) and only their own recorded transactions — the report type dropdown reads "My Fee Collections" for them, and the Cashier filter below doesn't apply since they can't see anyone else's.

Fee Collections — Grouped by Student

Fee Collections lists one row per student, not one row per transaction: Student ID, Name, Class, a Details column, Transactions (count), Amount Paid, Cashier(s), Gateway Fee, Net Settlement, and an Action column.

All reports can be exported as CSV (for Excel) or PDF (for printing) using the buttons at the top of each report. The exported/printed Fee Collections report carries Account(s) and Fee Category(ies) columns per student alongside the on-screen ones. Fee Collections also has an Online Payments tab alongside the main report, listing gateway (Paystack/Hubtel) transactions for the same filtered period.

30. Reports Hub Premium / Add-on

Accessible by: Admin Headteacher / Supervisor / Director Registrar (each sees only the categories their role already has access to)

A single dashboard of report tiles across the whole system — some tiles open a genuinely new report built for the Hub, others simply link out to a report that already exists elsewhere so you're not hunting through five different menus.

CategoryTypeWhat's inside
FinanceNewClass-wise Collections, Recent Payments (up to 100 rows), Total Collected / Total Expenses cards. Filter by date range and class.
PayrollNewPayroll Runs list with per-run net-pay detail.
AttendanceNewBy Class summary and By Student summary.
Staff / HRNewUpcoming Retirements, Rank Distribution, Active Staff Directory.
WelfareNewStudent health-flag list, Blood Group Distribution, Activities by Type.
AcademicsLink-outOpens the existing Terminal Reports module.
AlumniLink-outOpens the Clearance module's Alumni list.
CanteenLink-outOpens the existing Canteen Reports page.
  1. Go to Reports Hub — each tile shows a live one-line summary before you even open it.
  2. Click a tile. For the five "New" categories, set a date range (and class, where relevant) and the report loads on-screen.
  3. Click Export CSV or Export PDF where available.
Role-scoped automatically: a Cashier only sees Finance and Payroll tiles; a Registrar sees Staff, Welfare, and the Alumni link — access mirrors whatever that role can already do elsewhere, so there's nothing extra to configure.

Smart Reports — Build a Custom Report

For when none of the fixed tiles above are quite right. Instead of a pre-built report, you pick the category, the exact fields, the filters, and how it's split into sheets — then it exports as a genuine, formatted Excel workbook.

  1. From the Reports Hub landing page, click Build a custom report (or go to Smart Reports directly).
  2. Pick a Category: Finance, Payroll, Attendance, Staff/HR, Welfare — Health, Welfare — Activities, Alumni, Assessment, or Stores/POS.
  3. Tick the exact Fields you want as columns — only what's ticked appears in the export.
  4. Set the category's available Filters (date range, class, gender, term(s), academic year — plus Account and Fee Category for Finance — the options shown depend on the category).
  5. Choose a Scope: Combined (one sheet), Per Class, Per Term, Per Gender, Per Department, or Per Cashier for Finance (each option splits the export into a separate sheet per value — only the scopes that make sense for that category are offered).
  6. Click Generate Report.

Large exports run in the background in chunks rather than locking up the browser — a progress bar tracks it, and Download Excel appears the moment it's ready. Your Recent Reports below the builder keeps a history of every report you've generated, each with its own re-download link.

Assessment category: its Term filter is multi-select — pick two or three terms and the Per Term scope gives you one sheet per term in the same workbook, ready for a side-by-side comparison.

31. Curriculum Library & Lesson Plan Review

Accessible by: Admin Headteacher / Supervisor / Director

Curriculum Library — the NaCCA syllabus behind lesson plans & exams

Under Academics → Curriculum Library. This is the structured NaCCA Standards-Based Curriculum — Strand → Sub-strand → Content Standard → Indicator — that grounds lesson-plan authoring and keeps generated exams on-syllabus. It is not the academic calendar: the calendar (Settings) sets term dates; the curriculum sets what must be taught.

Ships part-filled. Mathematics, English Language and Science come pre-loaded with the strand/sub-strand skeleton for Lower Primary, Upper Primary and JHS, marked Draft. Content standards and indicators are added by importing the official NaCCA PDF.
  1. New Curriculum — pick a Subject and Phase (KG / Lower Primary / Upper Primary / JHS / SHS), optionally the edition year and a class-band label.
  2. Open the document and use Structure from curriculum document: upload the official NaCCA curriculum PDF (or paste its text). The AI extracts the strand/standard/indicator hierarchy and leaves the document in Review — nothing is published automatically.
  3. Check and fix the structure inline (add / edit / remove any strand, sub-strand, content standard or indicator; each indicator can carry exemplars and NaCCA core-competency codes).
  4. Click Publish when it is correct. Only a published curriculum feeds lesson plans and exams; you can Unpublish to edit again.

The six NaCCA core competencies (CC, CP, CI, DL, PL, CG) are pre-seeded and used wherever competency codes appear.

Lesson Plan Review

Teachers draft Lesson Plans and Lesson Notes in the Teacher Portal (Part 7). This is where an admin or headteacher reviews what they've submitted — two tabs.

Lesson Plans (review & approve)

  1. Go to Lesson Plan Review — the sidebar badge shows how many are waiting. Filter by Status (All / Submitted / Approved / Draft), Teacher, or Class.
  2. Click the eye icon on a submitted plan to open it. A GES checkmark shows if the curriculum fields (Strand, Sub-Strand, Content Standard, Indicator) are filled in, and a note flags if AI-assisted drafting was used.
  3. Click Approve to accept it, or Send Back — this requires a feedback note, which the teacher sees in their own portal as the reason it was returned to Draft.
No separate notification: approving or sending back doesn't trigger an SMS/email — the teacher sees the updated status and your feedback note the next time they open their Lesson Plans screen.

Teaching Slides

Once a plan is Approved, the teacher can generate a projector-ready slide deck (PDF) from it in the Teacher Portal — title, curriculum focus, objectives, starter, keywords, several "new learning" slides, a differentiated activity, assessment, plenary and homework, with speaker notes on every slide. When a deck exists, a Teaching Slides download appears on the review screen (badged stale if the plan changed after the deck was made). The default slide size (4:3 or 16:9) is set in Settings → Academic.

Lesson Notes (view only)

Lesson Notes are retrospective records with no approval workflow — this tab is for oversight only. Filter by Teacher or Class and click through to view what was actually taught, lesson by lesson.

32. Academic Planning Add-on

Accessible by: Admin Headteacher / Supervisor / Director — creation: Teacher (Tutor)

Two termly planning documents per class/subject — a Termly Assessment Plan (what will be tested, and when) and a Termly Program Outline (what will be taught, week by week) — following the same submit → review → approve pattern as Lesson Plan Review above, just at the term level instead of the weekly level.

Teachers Create a Plan (Teacher Portal)

  1. In the Teacher Portal's More drawer, tap Academic Planning.
  2. Switch between the Assessment Plan and Program Outline tabs, pick a Class and Subject, and tap New.
  3. For an Assessment Plan, add rows: Assessment Type (Class Test, Project Work, etc.), Week Number, Topic Covered, and Max Score. For a Program Outline, add rows: Week Number, Topic, and Remarks.
  4. Tap Save to keep it as a Draft, or Submit to send it for review.
Bulk entry: a whole term's worth of weekly rows can be imported at once from Excel — look for the import option next to New on either tab.

Admin Review & Approval

  1. Go to Academic Planning in the main menu — the same two tabs, each with a pending-count badge, filterable by Teacher and Class.
  2. Open a submitted plan to review its rows.
  3. Click Approve, or Send Back with a comment the teacher will see against that plan in their own portal.

33. Promotion & Class Transition

Accessible by: Admin Headteacher / Supervisor / Director. Subject teachers can propose cut-offs from the Teacher Portal.

The end-of-year process of moving students up a class — four tabs, used roughly in order.

1 · Promotion Settings

Set, per academic year: the score-aggregation method (full-year average, final term only, or weighted terms), the pass rule (all subjects must pass, core subjects only, or an overall-average threshold), the minimum attendance percentage, and whether running promotion should also auto-create next year's classes and terms.

2 · Subject Cut-Offs

Set a minimum pass score per class + subject, and flag which subjects are "core" (required to pass regardless of overall average).

3 · Tutor Proposals

A subject teacher can propose a different cut-off for their own class/subject from the Teacher Portal. Each proposal appears here for you to Approve (adopts their proposed score) or Reject (requires a note the teacher will see).

4 · Run Promotion

  1. Click Run Computation for one class or all classes. Each student is aggregated against the settings and cut-offs above and assigned a status: Promoted, Repeated, Completing (their class is flagged as a terminal class, e.g. JHS 3 or SHS 3), or Needs Review (missing data, e.g. no cut-offs configured yet).
  2. Click into any student to see their per-subject breakdown, and manually override their status if needed — an override survives if you re-run the computation later.
  3. Choose a scope (whole school or one class) and click Preview — a dry run showing how many students would be promoted, kept back, sent to clearance, or skipped. Nothing changes yet.
  4. Review the preview, then click Confirm & Roll Over to apply it. You'll be asked to confirm — this is not easily reversible.
What actually happens on confirm: Promoted students move to their class's configured next class. Repeated students are left unchanged. Completing students are handed off to the Clearance module instead of being moved. Needs Review students are skipped and listed by name so none are silently dropped.
Your history is safe: promotion only updates each student's current class — attendance, scores, and payment records stay tied to the academic year and term they actually happened in, so nothing from the old class is lost or overwritten.
Part 5

Communication

Announcements, internal staff messages, and bulk SMS alerts to parents.

34. Announcements & Internal Messages

Accessible by: All staff. Announcements created by Admin Headteacher Registrar

Post an Announcement

  1. Go to Communication → Announcements tab → click New Announcement.
  2. Enter a Title and write the Message.
  3. Set the Target Audience: All Staff, Teachers Only, Admins Only, etc.
  4. Tick Pin to keep it at the top of the list.
  5. Click Publish.

Send an Internal Message

  1. Go to Communication → Inbox → click Compose.
  2. Select the Recipient, enter a Subject and Message, then click Send.
  3. Unread messages have a blue dot. Click Reply to respond.

35. Alerts & SMS Notifications

Accessible by: Admin Headteacher

Four tabs: Send, Templates, Notification Logs, and SMS Logs.

Send a Targeted Alert

  1. Go to Alerts → select Alert Type: Fee Reminder, Attendance Alert, Event Notification, or Custom Message.
  2. Select who to send to: Individual Student, Entire Class, or All Students.
  3. Compose the Message. Use {student_name}, {class}, and {date} as placeholders.
  4. Select Delivery Method: SMS, In-App Notification, or Both.
  5. Click Send Alert.
SMS requires: A valid Hubtel SMS API key in Settings and a phone number on the student/parent record in Ghanaian format (e.g., 0244123456).

Templates & Logs

SMS Usage & Topping Up

Every plan has a monthly SMS unit allowance. Go to Settings → License Information to see the SMS Usage This Month card: units used out of your Monthly Cap plus any Top-up Balance, a progress bar, and a Remaining count. The bar turns amber once you pass 90% and red at 100% — at 100%, new SMS sends are blocked until you top up (existing in-app notifications still go through).

  1. Click Request More SMS on the usage card.
  2. Enter the Units needed (an estimated GHS cost is shown alongside) and an optional Note.
  3. Click Submit Request — it's queued for ORIC to review and top up manually, or click WhatsApp ORIC instead to raise it directly.

36. WhatsApp Communications Add-on

Configuration: Admin only. Sending: all staff with access to the flows below.

Sends the same reports and reminders your school already sends by SMS, over WhatsApp instead — using Meta's official WhatsApp Cloud API.

Connect WhatsApp

  1. Go to WhatsApp → Connection Settings.
  2. Enter your Meta Phone Number ID, Access Token, and Webhook Verify Token (from your Meta for Developers app).
  3. Copy the displayed Webhook URL and paste it into your Meta app's webhook configuration.
  4. Set Default Report Recipients — numbers that receive scheduled reports even without a specific parent link.
  5. Click Save Settings.

Once connected, WhatsApp becomes an available delivery option in Alerts, the AI Agent's broadcast and report-delivery actions, and the AI Analytics scheduled reports.

Send a Message & View the Log

Use the Send Message box to broadcast directly, or check Recent Messages for a log of time sent, recipient, message type, preview, and delivery status.

How template messages work: WhatsApp Business rules require a pre-approved message template for the first contact, or for any message sent more than 24 hours after the parent's last reply. Inside that 24-hour window, free-form text can be sent directly; outside it, EduTrack automatically falls back to an approved template (or queues the message until the parent replies again, which reopens the window).

WhatsApp Usage & Topping Up

WhatsApp messages draw down a monthly GHS budget, the same idea as the SMS Usage & Topping Up allowance but tracked in messages instead of units. Go to Settings → License Information to see the WhatsApp Usage This Month card: messages sent out of your Monthly Cap plus any Top-up Balance (both shown converted to a message count at your school's per-message rate), a progress bar, and a Remaining count. The bar turns amber past 90% and red at 100% — at 100%, new WhatsApp sends are blocked until you top up.

  1. Click Request More WhatsApp Budget on the usage card.
  2. Enter the top-up Amount (GHS) — an estimated message count at your rate is shown alongside — and an optional Note.
  3. Click Submit Request — it's queued for ORIC to review and top up manually.
Part 6

AI & Analytics

The RBC AI Agent, AI Analytics dashboard, at-risk detection, and scheduled AI tasks — Premium plan features (Progress Analytics is covered in Part 5, alongside Terminal Reports).

37. RBC AI Agent

Accessible by: Admin Headteacher — Premium plan

The RBC AI Agent lets you control the system using plain English. Instead of navigating menus, you type what you want done and the AI executes it.

How to Use the AI Agent

  1. Click AI Agent in the left menu (or use the chat icon on the Dashboard).
  2. Type your request in the chat box and press Enter or click Send.
  3. The AI responds, takes the action, and confirms what it did.

What You Can Ask the AI Agent

Example CommandWhat the AI Does
"Send fee reminders to all JHS 3 parents"Sends SMS fee reminders to every parent with an outstanding balance in JHS 3.
"How many students have not paid tuition in Basic 5?"Queries the database and returns a list with outstanding amounts.
"Generate exam questions for Science, Basic 6, 20 MCQs"Uses AI to generate 20 multiple-choice science questions for Basic 6.
"What is our total collection for this term?"Returns total fees collected, broken down by class and fee type.
"Draft report card remarks for JHS 2"Generates personalised teacher remarks for each student based on scores.
"Record canteen for Basic 6 today"Creates canteen entitlements for all Basic 6 students in today's session.
"Send canteen reminder SMS to Basic 4 parents"SMSes all Basic 4 parents reminding them about today's canteen session.
"Who are the at-risk students this term?"Lists students flagged by the at-risk detection model with their scores and attendance.
AI Fallover: The Agent uses Claude (Anthropic) by default. If Claude is unavailable, it automatically falls over to Groq → Gemini → OpenAI. This means the Agent is always available.

38. AI Analytics & Revenue Forecasting

Accessible by: Admin Headteacher — Premium plan

Go to AI Analytics in the menu to access the following dashboards:

📈 Revenue Forecast

Predicts next month's fee income using historical collection patterns. Helps plan school expenditure with confidence.

📊 Collection Trends

Month-by-month fee collection performance. Identifies terms or classes with consistently low collection rates.

🎓 Academic Performance

Class-by-class average scores across terms. Spot subjects or classes where student performance is declining.

✅ Attendance Patterns

Identifies students and classes with chronically low attendance. Weekly and monthly attendance trend charts.

⏰ Scheduled Reports

Configure AI to automatically send weekly feeding summaries, Friday analytics reports, and term-end summaries.

💬 AI Parent Letters

Generate personalised letters to parents about their child's performance, attendance, or fees — drafted by AI, reviewed by staff.

Setting Up Scheduled AI Reports

  1. Go to AI Analytics → Scheduled Tasks tab.
  2. Enable the reports you want: Weekly Feeding Summary, Friday Analytics, Weekly At-Risk Report.
  3. Set the delivery time (e.g., every Monday at 7am) and recipients (Admin, Headteacher, etc.).
  4. Click Save Schedule. The cron job runs automatically from that point.

39. At-Risk Student Detection Admin-side AI

Accessible by: Admin Headteacher Teacher — Premium plan

The At-Risk Detection system monitors attendance patterns and score trends continuously. It flags students who are likely to underperform in upcoming exams — typically 3–4 weeks before the exam date.

Viewing At-Risk Students

  1. Go to AI Analytics → At-Risk Detection tab.
  2. The system shows a list of flagged students with their risk score, the factors contributing to the flag (e.g., attendance below 75%, score decline over 3 weeks), and recommended actions.
  3. Click on any student to see their full attendance and score trend chart.
  4. Use the Send Alert to Parent button to send an immediate SMS to the parent.
How it works: The model uses attendance rate, score trend (improving/declining), peer comparison, and fee payment regularity as risk signals. Students with 3+ consecutive absent records are automatically flagged.
Part 7

Teacher Portal

A separate, mobile-first app for teachers — built for the phone in a teacher's pocket, not a computer lab.

40. Teacher Portal — Login & Today

Accessible by: Teacher (Tutor)

The Teacher Portal is at a separate URL from the main staff app, but it's not a separate account — it authenticates against the same username and password as the main system. If a teacher's login isn't yet linked to their staff record, the portal shows "Ask your administrator to click 'Reset Teacher Login.'"

Navigation

A bottom nav bar holds four constant tabs — Today, Timetable, Attendance, Marks — plus a More drawer for Assessments, Progress (if Progress Analytics is enabled), Lesson Plans, Lesson Notes, Homework, Academic Planning (if that add-on is enabled), My Classes, Notices, and Student Support.

The Today Dashboard

The first thing a teacher sees each day:

📅 Today's Schedule

The day's lessons with Now / Next / Done badges, and a lessons-done vs. total counter.

✅ Attendance Pending

Any class whose register hasn't been taken yet today, with a one-tap Take shortcut.

📝 Homework Needs Marking

Assignments with ungraded submissions, a progress bar, and a one-tap Mark shortcut straight into Homework Track.

41. Attendance, Marks & Assessments (SBA)

Accessible by: Teacher (Tutor) — own assigned classes only

Attendance

  1. Tap Attendance, pick a class and date.
  2. Tap Mark All Present, then flip only the students who are Absent, Late, or Excused.
  3. Tap Save Attendance. Reopening an already-saved date shows an "already saved" notice.

Marks

  1. Tap Marks, pick a Class and Subject.
  2. Enter each student's Class Score and Exam Score — a colour-coded grade badge updates live as you type, using the school's weighting.
  3. Tap Save All Marks.

Assessments — School-Based Assessment (SBA)

SBA is Ghana's continuous-assessment component. Instead of one Class Score number, a teacher can break it down into individually weighted pieces.

  1. Tap Assessments in the More drawer.
  2. Tap Add Component and define each one: Name (e.g. "Class Test 1", "Homework Average", "Project"), Max Score, and Weight. The screen shows the overall split (e.g. "30% CA / 70% Exam" — the split itself is set per grade level: Lower/Upper Primary, JHS, SHS).
  3. Enter each student's score per component.
  4. Tap Save Assessment Scores — this rolls up into the Class Score used on the report card.

42. Lesson Plans & Lesson Notes

Accessible by: Teacher (Tutor)

Two distinct, related records — one forward-looking, one retrospective.

Lesson Plans (forward-looking)

  1. Tap Lesson Plans → New Plan.
  2. Pick the Class, Subject and the Week Starting date.
  3. NaCCA Curriculum pickers — if your school has published a curriculum for that class and subject, cascading Strand → Sub-strand → Content Standard → Indicator dropdowns appear. Choosing an indicator fills the Content Standard, Indicator and Core Competencies fields for you (you can still edit anything by hand). If no curriculum is published, just type those fields.
  4. Fill in Objectives, Content, Teaching Methods, Materials, and planned Assessment, plus any Notes.
  5. AI Assist — type this week's topic and tap Suggest. When you have picked an indicator (or the topic clearly matches one), the AI drafts the phases, activities and assessment from the real curriculum indicator — it does not invent codes. Review each suggestion and tap Insert to use it.
  6. Tap Save Draft, then Submit for approval.

Teaching Slides (approved plans)

  1. Once a plan is Approved, a slides icon appears on its row. Tap it.
  2. Choose the slide size (4:3 for most classroom projectors, or 16:9), then tap Generate.
  3. The AI builds a full deck from your plan and its indicator — title, curriculum focus, objectives, starter, keywords, several "new learning" slides, a differentiated activity, assessment, plenary and homework — with speaker notes for you on each slide. The PDF downloads automatically; a teacher speaker-notes section is at the end.
  4. Edit the plan and tap Regenerate any time — the old deck is flagged stale until you do.

Lesson Notes (retrospective)

  1. Tap Lesson Notes → New Note for a specific date/lesson.
  2. Record What Was Taught, whether Objectives Were Met, any Challenges, and your Plan for the Next Lesson.
  3. Rate the class's Engagement: Excellent / Good / Fair / Poor.
  4. Tap Save.

43. Homework & Submission Tracking

Accessible by: Teacher (Tutor)

Assign Homework

  1. Tap Homework → Assign.
  2. Fill in Class, Subject, Title, Description, Due Date, and Max Score.
  3. Tick Visible to parents if parents should see it in the Parent Portal.
  4. Tap Save.

Mark Submissions — Homework Track

Open from an assignment's row, or directly from the Today dashboard's "Homework Needs Marking" card. Shows every student's submission status, lets you enter a Score and Comment per student, and tap Save.

44. My Classes, Notices & Progress

Accessible by: Teacher (Tutor)

My Classes

A roster browser — pick a class and subject to see the student list, tap into any student to see their attendance history and current scores in one place.

Notices

School announcements targeted at "All Staff" or "Teachers Only" appear here, newest first, with Load more pagination and a bell badge on the header for unread notices.

Progress If Progress Analytics is enabled

A teacher-scoped, read-only version of the admin Progress Analytics dashboards (Part 6) — My Classes, one class, or one student. Shows KPI tiles, a performance-trend chart, a subject-performance chart, and a breakdown table, but the data is always confined to the teacher's own assigned classes.

My Profile — Propose Changes to Your Own Record

Tap My Profile in the More drawer to update your own contact, personal, qualification, and banking/statutory details. Nothing here is applied immediately — every change goes to your school's HR/Registrar for review, and only takes effect once approved.

  1. Edit the fields you need to change — grouped as Contact, Personal, Qualifications, and Banking & Statutory.
  2. Under Documents, click Add a document for each file to attach (e.g. a certificate or ID), and pick its type.
  3. Optionally add a Note to the reviewer explaining the change.
  4. Tap Submit for Review.

My Requests below the form lists every request you've filed with its status. You can only have one request pending at a time — submit again once the current one is approved or rejected. Classification, rank, department, class/subject assignment, status, and salary are not editable here; those stay controlled by your school's admin or the Staff Performance approval workflow. A staff member without a portal login can propose the same changes from the public, PIN-gated Staff Profile Kiosk instead — see Staff Management.

45. Student Support — At-Risk Tiers & Interventions

Accessible by: Teacher (Tutor) — own assigned classes only

Different from the admin-side AI: this is a simpler, rule-based, teacher-scoped view — not the same engine as the admin "At-Risk Student Detection" AI model in Part 6.

Tap Student Support in the More drawer. Students in the teacher's classes are sorted into tabs: All / Critical / At Risk / Monitor, based on a locally-computed weighted score — 50% average exam/CA score, 30% attendance rate over the last 30 days, and 20% homework-submission rate. Critical is below 40, At Risk below 60, Monitor below 75.

  1. Tap a student to open their record.
  2. Tap Log Intervention — choose a type (Academic / Attendance / Behaviour / General), write a note and the action taken, set an optional Follow-up Date, and toggle Share with parent if the school should notify home.
  3. View the student's intervention history, or tap Resolve to close an item once it's been addressed.
Part 8

Parent Portal

A separate, mobile-first PWA where parents check fees, attendance, results, and pay online — even offline.

46. Logging into the Parent Portal

The Parent Portal is at a different URL from the staff system. Ask the school for the Parent Portal link.

  1. Open the Parent Portal link in your browser.
  2. Enter your Phone Number (your username — the same number registered with the school).
  3. Enter your Password (given to you by the school).
  4. Click Log In.
Cannot log in? Contact the school office. They will verify that a Parent Account has been created for your phone number and can reset your password.

47. Viewing & Paying Fees

View Your Child's Fee Statement

  1. Click Fees in the menu. If you have more than one child, select the child from the dropdown at the top.
  2. The Fee Breakdown table shows every fee with the amount, amount paid, and outstanding balance.
  3. Three summary cards show Total Fees, Total Paid, and Total Outstanding at a glance.

Pay a Fee Online

  1. Find an Unpaid or Partial fee and click Pay Online.
  2. On the checkout page, tick all fees you want to pay and select your payment method (Card or Mobile Money).
  3. Enter your name and phone number, then click Proceed to Payment.
  4. Complete payment on the Paystack screen. You will see a confirmation page after.

View Receipts

Scroll down the Fees page to the Payment History table. Click View Receipt to open or print a receipt for any payment.

48. Attendance, Exams & Results

Dashboard

After logging in, the dashboard shows a summary for each child: their class, outstanding fees, upcoming exams, attendance summary, and recent notifications.

Attendance

  1. Click Attendance in the menu.
  2. The attendance summary shows your child's present, absent, late, and excused counts for the current term. A colour-coded calendar shows each day's status.

Upcoming Exams

Click Exams to see the exam sitting schedule — subject, paper title, date/time, venue, and status — separate from the Results below (this reads the Exams Generator's Schedules, not the report card).

Exam Results

  1. Click Results in the menu.
  2. Select the Term. All subject scores, grades, class position, and teacher remarks are shown — only for terms the school has published.
  3. Click Download Report Card (PDF) to save or print it.

Timetable

Click Timetable to see your child's weekly class timetable.

Feeding Menu Canteen add-on

Click Menu to see what's being served. It's filtered to your child's class automatically — if there's no menu specific to that class, the school-wide menu is shown instead. Depending on how the school uploaded it, the menu appears either as an image or as a day-by-day table.

49. Messages & Account Settings

Message the School

  1. Click Messages — Inbox and Sent tabs.
  2. Click Send Message to School, enter a Subject and Message (up to 500 characters), and send.

Update Your Profile & Password

  1. Click Settings.
  2. Edit your Full Name, Phone, or Email and save — or switch to the Change Password form (current + new + confirm).

Print a Student ID Card

From a child's card, tap Print ID Card — an A6 print-ready card with the school logo, student photo, name, class, student ID, and the permanent Identity QR (for the fee desk). If no QR token exists yet, the card shows a placeholder until the school generates one (see Canteen, Part 9).

Forgot Password?

  1. Click Forgot Password? and enter your registered phone number.
  2. A 6-digit code is sent by SMS, valid for 15 minutes.
  3. Enter the code and set a new password.
Code expired? Request a new one — a code only works once and expires after 15 minutes.

50. Offline Mode & PWA Install

The Parent Portal is a Progressive Web App (PWA). This means it can be installed on a phone's home screen and used even without an internet connection.

Install on Android (Chrome)

  1. Open the Parent Portal in Chrome on your Android phone.
  2. Tap the three-dot menu (⋮) at the top right.
  3. Tap Add to Home screen.
  4. Tap Add. The app icon appears on your home screen.

Install on iPhone (Safari)

  1. Open the Parent Portal in Safari.
  2. Tap the Share button (box with upward arrow) at the bottom.
  3. Scroll down and tap Add to Home Screen.
  4. Tap Add.
Offline access: Once installed, the portal loads instantly even without internet. Fee balances, attendance, and QR codes (if Canteen Module is active) are available offline. The app syncs automatically when internet is restored.
Part 9

Canteen Module

Eliminate morning queues with QR scanning. The Canteen Module is a paid add-on (GHS 80/month) available on any plan.

Add-on Required: The Canteen Module must be active. Go to Canteen → Settings to activate your trial or verify your subscription. If the module is inactive, all canteen pages redirect to an Upgrade page showing monthly (GHS 80) and annual (GHS 800) pricing.

51. Canteen Onboarding & Hardware Test

Accessible by: Admin Headteacher

First-Run Setup Wizard

The first time the Canteen Module is opened, a 5-step wizard walks you through: (1) a feature overview, (2) picking meal sessions (Breakfast / Lunch / Supper — exact times and prices are set later in Session Setup), (3) choosing a verification method (QR code — recommended, Manual ID fallback, or optional Biometrics), (4) sharing the Scanner URL/QR with canteen staff, and (5) a completion checklist linking to Session Setup, Settings, the Scanner URL, and Express Collection. It reappears until setup is marked complete.

Hardware Test

Go to Canteen → Hardware Test before relying on biometric verification on a new device. It's a browser-only diagnostic (no server calls) that checks camera/fingerprint API support, then runs a live test: for a fingerprint reader it triggers a real device prompt (supports readers like Hamster Pro 20, DigitalPersona U.are.U 4500, Thales K30 on Chrome/Edge 90+); for a webcam it lists available cameras, shows a live preview, and a lighting meter that flags "too dark" before you enroll anyone with it.

52. Canteen Setup & Sessions

Accessible by: Admin Headteacher

Understanding the Two Queue Problem

The Canteen Module eliminates two separate morning queues:

QueueWithout EduTrackWith EduTrack
Queue 1 — Fee DeskCashier searches name → types data → saves → prints receipt (~45 sec)QR scan at Express Collection → 2–3 seconds
Queue 2 — Canteen WindowStaff searches → verifies → saves → prints coupon → hands over (~60 sec)QR scan at Canteen Scanner → 2–3 seconds

Create a Canteen Session

  1. Go to Canteen → Setup in the menu.
  2. Click Create Session and fill in: Session Name (Breakfast / Lunch / Supper), Date, Start Time, End Time, Price per Meal, and Classes enrolled.
  3. Click Save Session. The system automatically generates a session pass QR token for every enrolled student in the selected classes who has an active feeding fee payment.
Quick Setup: Click the Quick Setup button to create today's Breakfast and Lunch sessions for all enrolled classes in one click, using your default settings.
Auto-entitlement: When a feeding or canteen fee payment is recorded (via Express Collection or the standard Fees page), the system automatically generates a session pass for that student for today's active session — no manual entry needed.

Generate Student Identity QR Tokens

  1. Go to Canteen → Settings → Student ID Cards tab.
  2. Click Generate Missing Identity QR Tokens. The system creates permanent QR tokens for all students who don't have one yet.
  3. New students automatically receive a token upon enrollment.
Two QR types: There are two different QR codes. The Identity QR (permanent, in parent portal and on printed ID) is used only at the fee desk. The Session Pass QR (generated daily, expires at midnight) is used only at the canteen scanner. They cannot be swapped — each scanner rejects the other's QR.

53. Matron & Procurement Add-on

Accessible by: Matron — a dedicated login role, separate from Admin/Headteacher, with no access to the dashboard, Finance Suite, POS, or Wallet

Feeding a school is a separate money flow from collecting feeding fees — this covers what the canteen actually buys and stocks, not who's paid to eat. It is not linked to the entitlement/QR-scan system above; the two are deliberately kept apart. A matron user lands on Canteen → Matron after login, with five tiles:

1. Restock Requests

Ask for market money to restock the canteen store. Routes automatically into the school's approval chain (requires the Finance & Procurement Suite to be active — a warning banner appears if it isn't).

2. Purchase Inspection

Once a request is approved and disbursed, record what was actually bought — the real spend and items — for approval and stock history.

3. Issue to Cooks

Hand out stock to a named cook, flagging each item Perishable and/or Returnable. Includes a Manage Cooks modal to add or edit cook profiles (name + PIN).

4. Cook Sales Reports

Review each cook's end-of-day report — items sold, leftover, and cash collected — and approve the disposition of any perishable leftovers.

5. Feeding Menu

Upload what's on the menu so parents can see it in the Parent Portal. See below.

The flow, end to end: Restock Request → school approves and disburses the money → matron logs the Purchase Inspection (actual spend/items, feeds stock history) → matron Issues stock to a Cook → the cook files a Sales Report at end of day → matron reviews the report and approves leftover disposition. Every step writes to the school's canteen store location (set once in Canteen → Settings), the same stock ledger used by Stores/POS.

Upload the Feeding Menu

  1. On the Matron dashboard, click the Feeding Menu tile.
  2. Enter a Title and choose which classes it Applies to (leave blank for all classes).
  3. Upload either a photo of the menu, or an Excel sheet with columns for Day, Meal Time, and Description.
  4. For an Excel upload, review the preview table before confirming — nothing is saved until you confirm.
One active menu at a time per class: uploading a new active menu automatically deactivates any other active menu whose class scope overlaps, so parents never see two conflicting menus for the same class.

54. Cooks Sales Portal Add-on

Accessible by: Cook — 4-digit PIN, no EduTrack account needed

Not the same as Cook's Dashboard: this is a different screen from the read-only meal-count Cook's Dashboard further down this Part. The Sales Portal is where a cook logs the stock they were issued and reports what was sold; Cook's Dashboard is a live meal-confirmation counter for the feeding-fee scanner.
  1. Open Canteen → Cooks on the device the cook uses and enter their PIN.
  2. The portal shows the stock the matron has issued to that cook, awaiting a report.
  3. At the end of the day, enter items sold, items leftover, and total cash received (GHS), with an optional note.
  4. Submit the report — it appears on the matron's Cook Sales Reports tile for review and approval.

55. Canteen Scanner

Accessible by: Staff PIN login (no EduTrack account required) or any valid EduTrack session

The canteen scanner (canteen/scanner.php) runs on any phone or tablet positioned at the canteen window. Staff do not need a full EduTrack login — they use a 4-digit PIN set in Canteen Settings.

Log In to the Scanner

  1. Open the scanner URL on the canteen device: yourschool.com/canteen/scanner.php.
  2. Enter the 4-digit scanner PIN and tap Enter.

Scan a Student's Session Pass QR

  1. Point the camera at the student's Session Pass QR (shown in the parent portal or on a printed card).
  2. On success: a white overlay shows the student's photo, name, class, and a green ✓ CONFIRMED banner. It auto-dismisses after 3 seconds.
  3. On double scan: amber overlay — "Already confirmed at [time]".
  4. On invalid/tampered token: red overlay — "Invalid canteen pass".
  5. On expired token: red overlay — "Canteen pass has expired".
No QR? Two fallback paths: type the student's 5-digit Student ID into the numeric input below the camera and tap Confirm, or tap Add Manually to open the Manual Override modal — enter the scanner PIN, then type-ahead search the student by name or ID, tap the correct result from the list, choose a Reason, and tap Confirm Manually.

Offline Mode

On the first daily load, the scanner downloads a signed cache of all today's entitlements. If the internet drops mid-session, the scanner keeps working — confirmations are stored in the device and synced automatically when connectivity is restored. The header shows an OFFLINE MODE amber badge when working offline.

56. Cook's Dashboard

Accessible by: 4-digit Cook PIN (separate from scanner PIN, set in Canteen Settings)

The cook's dashboard (canteen/cook_dashboard.php) shows real-time meal confirmation numbers without requiring a full EduTrack login. Share the URL with your cook.

🍽️ Big Confirmed Number

Large display showing meals confirmed so far (e.g. "68 of 92 enrolled"). Updates every 30 seconds.

📊 Per-Class Table

Class | Enrolled | Confirmed | Still Expected | % Done. Rows turn green (≥80%), amber (40–79%), or red (<40% past halfway).

📈 Arrival Rate Bars

15-minute interval arrival charts showing peak windows. Helps the cook plan food preparation timing.

🔮 Projected Total

AI-calculated projected final meal count based on current arrival rate trend.

57. Canteen Reports

Accessible by: Admin Headteacher

Go to Canteen → Reports for the following:

ReportContents
Daily Meal ReportPer session: enrolled, confirmed, absent, revenue, and verification method breakdown (% QR / manual).
Student AttendancePer student: sessions enrolled, confirmed, absent, absence rate, longest absence streak.
Financial ReconciliationFees collected (payments table) vs. meals confirmed (scanner) — flags discrepancies.
Express Collection StatsPayments via QR express vs. standard, and estimated time saved.

All reports export as PDF or CSV.

58. Canteen Biometric Enrollment

Accessible by: Admin Headteacher

Separate from Biometric Attendance: this enrolls a student's fingerprint/face for canteen meal verification only. It is a different system from the school-wide Biometric Attendance module covered in Part 10 — enrolling in one does not enroll the other.
  1. Go to Canteen → Enroll Fingerprint or Enroll Facial (each only appears if enabled in Canteen Settings).
  2. Search for and select the student.
  3. Tick the mandatory parent-consent checkbox (required under Ghana's Data Protection Act 2012).
  4. Capture: fingerprint enrollment prompts the device's own fingerprint reader (WebAuthn) and stores only a public key; facial enrollment runs entirely in the browser (MediaPipe FaceMesh, from the student's profile photo or a live capture) and stores landmark descriptors — not a photo, and never sent externally.
Part 10

Add-on Modules

Health & Medical Records, school-wide Biometric Attendance, Leadership & Activities, Clearance & Certificates, and Asset Management — five focused add-ons.

59. Health & Medical Records Add-on

Accessible by: Admin Headteacher Nurse

Go to Health Records. A confidentiality banner is shown — this data is restricted to admin, headteacher, and nurse roles only.

Find a Student & Set Their Medical Profile

  1. Search for a student by name, ID, or class, then select them.
  2. Fill in the Medical Profile: Blood Group, Genotype, Allergies, Chronic Conditions, Regular Medications, Disabilities/Special Needs, Emergency Contact (name/phone/relationship), NHIS/Insurance Number, Family Doctor (name/phone), and any other notes.
  3. Click Save Profile.

Log an Infirmary Visit

  1. With the student selected, click Log Visit.
  2. Fill in Complaint/Symptoms, Temperature (°C), Treatment Given, Medication Given, and an Outcome (Resolved / Observation / Sent Home / Referred).
  3. If the Outcome is Referred, three more fields appear: Hospital referred to (required), Doctor's name (optional), and Referral notes — reason, contact, follow-up (optional).
  4. Click Save Visit — it appears as a colour-coded card in the student's visit history, showing "Referred to: {hospital} · Dr. {doctor}" and the notes underneath when applicable.
Role note: A nurse can log and view visits but cannot delete a visit record — only admin/headteacher can delete.

60. Biometric Attendance (School-Wide) Add-on

Accessible by: Admin Headteacher

Fingerprint and facial clock-in for staff/student attendance via dedicated devices — separate from the Canteen Module's meal-verification biometrics (Part 9).

Register a Device

  1. Go to Biometric → Devices → add a terminal: Name, Serial Number, Type (Fingerprint / Face / Face+Fingerprint hybrid), Connection (Wired/Wireless), Direction (Auto / Clock-in / Clock-out), IP, Location, and an Active toggle.

Enroll a Person

  1. Go to the Enrollment tab, search for the student or staff member.
  2. For a fingerprint device, enter the Device User ID shown on the physical terminal after enrolling their finger on the device itself, and save the mapping in EduTrack.
  3. For facial recognition, use the Open Face Kiosk button instead (see below) in Enroll mode.

The Face Kiosk

A full-screen scan station (biometric/kiosk.php) using a webcam. In Clock In mode (the default, no login needed) anyone can walk up, the camera detects a face, and they tap Clock In. In Enroll mode (staff/manager roles only) you search for and select a person first, then tap Capture & Enrol to store their face. Fingerprint scans instead arrive automatically from the physical terminal — there's no kiosk step for those.

Recent Punches

The Recent Punches tab shows the raw scan log (time, device, method, direction, matched person). If a scan couldn't be matched automatically, click Assign to link it to the correct person by hand.

Setting up a ZKTeco device: The Devices tab's Help section has step-by-step ADMS/Cloud-Server instructions — on the device, go to Menu → Comm → Cloud Server and point it at your school's /attendance/device_endpoint.php URL.

61. Leadership & Activities Add-on

Accessible by: Admin Headteacher Registrar

A permanent record of prefectship and extracurricular history — the kind of thing that used to live only in a headteacher's memory or an old exercise book. Go to Leadership & Activities, search for and select a student.

Record a Leadership Role

  1. Click the + button on the Leadership Roles card.
  2. Enter the Role (e.g. "School Prefect", "Class Captain"), Academic Year, optional Term, and an optional Note.
  3. Click Save Role.

Record an Activity

  1. Click the + button on the Extracurricular Activities card.
  2. Enter the Activity name, Type (Sport / Club / Society / Other), Academic Year, optional Position, and optional Achievement.
  3. Click Save Activity.

62. Clearance & Certificates Add-on

Accessible by: Admin Headteacher / Supervisor / Director Registrar

A formal sign-off process for a student leaving the school — withdrawing, graduating a level, or completing — ending in a printable completion certificate.

Start a Clearance Request

  1. Go to Clearance → New Clearance Request.
  2. Search for and select the student. Confirm the Level Completed (Primary / JHS / SHS — auto-suggested from their class) and the Academic Year.
  3. Click Create. Only one clearance request can exist per student, per year, per level.

Clear Each Checkpoint

Independent checkpoints, each set separately:

CheckpointStatusesNotes
FeesPending / Cleared / OutstandingAuto-computed from the live fee balance — click Re-check Fee Balance to refresh it after a payment.
Conduct / DisciplinaryPending / Cleared / FlaggedSet manually, with a notes field.
Library / AssetsPending / Cleared / OutstandingSet manually, with a notes field — for books, uniforms, or other school property.
WalletNot Applicable / Cleared / OutstandingOnly appears if the Wallet add-on is active and the student actually has one — otherwise it's Not Applicable and never blocks clearance. Click Re-check Wallet Balance to refresh it; if a leftover balance needs a manual cash refund, add a note and click Mark Settled.

Set a checkpoint's status and click Save. The request is Cleared only once every applicable checkpoint is Cleared (Wallet counts as cleared when it's Not Applicable), and Blocked if any one is Outstanding or Flagged.

Finalize & Issue the Certificate

  1. Once every applicable checkpoint is Cleared, click Finalize Clearance — the headteacher/admin sign-off.
  2. Click Issue Completion Certificate. The system generates a certificate number (e.g. SCHOOLCODE/2026/00001) and a verification code.
  3. Optionally tick Mark as Alumni — this archives the student out of active rosters, attendance, and billing.

The certificate PDF includes the school letterhead and logo, the student's particulars (ID, Level, Class, DOB, Sex, Academic Year), three "Cleared" badges (Fees / Conduct / Assets), signature blocks for the Class Teacher, Head Teacher, and Proprietor/Director, and a verification code in the footer.

Made a mistake? A certificate can be revoked from the same screen, and a student incorrectly marked Alumni can be Reactivated from Clearance → Alumni, which also lists every archived student with a link to their certificate.

Staff Exit Clearance

The same idea for a departing staff member: go to Clearance → Staff Exit Clearance for an asset, payroll and conduct sign-off before issuing a Certificate of Service. It reads the staff record and, where the Asset Management add-on is active, checks for any assets still assigned to that person as a custodian before allowing clearance.

63. Asset Management Add-on

Accessible by: Admin Headteacher

A fixed-asset register for furniture, equipment, lab kit, and anything else the school needs to track, transfer, service and eventually retire. Go to Asset Management in the menu — five tabs: Assets, Categories, Locations, Due Soon, and Disposed.

Register an Asset

  1. On the Assets tab, click Add Asset.
  2. Fill in Name, Quantity (for identical items held as one line, e.g. 30 classroom chairs), Category, Location, Purchase Date, Purchase Cost per Unit, Warranty Expiry, Supplier, Condition (New / Good / Fair / Poor / Damaged), Status (In Use / In Store / Under Maintenance / Disposed / Lost), and an optional Photo.
  3. Set Custodian 1 and, optionally, Custodian 2 — two different staff members can jointly be responsible for one asset (e.g. shared lab equipment).
  4. Click Save. A tag number (e.g. AST-4F1B9C2A) is generated automatically, with a printable QR tag for labeling the physical item.

Transfer, Service & Retire an Asset

Due Soon automatically lists anything with a warranty expiring or a maintenance visit due within 30 days, including anything already overdue — check it before it becomes a surprise.

Bulk Import / Export

Click Download Template for a fillable Excel sheet (plus a read-only reference sheet of valid categories/locations/conditions/statuses), fill it offline, and click Bulk Import to upload it back — leave Asset Tag blank on a row to create a new asset, or fill it in to update an existing one. Categories and Locations typed in the sheet that don't exist yet are created automatically; Custodian Staff IDs must already exist and are never auto-created, so a row with an unmatched ID is rejected with a clear error rather than silently skipped.

Not yet built: the printed QR tag is ready for a future scan-to-audit stock take, but that scanning workflow itself doesn't exist yet — for now, a stock take is done by working through the Assets list by hand.

64. Advanced Discounts & Rebates Add-on

Accessible by: Admin Headteacher / Supervisor / Director

Go to Advanced Discounts in the menu. It automates the discounts schools already give informally — a break for parents with several children enrolled, a loyalty discount for long-serving families, a reward for paying a term early — so a cashier no longer has to remember who qualifies for what. Standard Discount Coupons and scholarships keep working exactly as before, independently of this module. Three tabs: Programmes, Discount History, Staff Linking.

Single winner, never stacked: at most one discount ever applies to a given fee — whichever active, in-scope programme has the lowest Priority number (evaluated first) among everything the student qualifies for. A manually-entered coupon competes in that same priority order rather than sitting outside it — where it slots in is set school-wide in Settings (advanced_discounts_manual_coupon_priority), defaulting to lowest priority so an automatic programme normally wins over a hand-entered coupon on the same fee. Discounts are never added together.

Create a Programme

  1. Click New Programme and give it a Programme Name.
  2. Pick a Category — Parent Rebate, Loyalty, Old Student, Cumulative Spending, Promotion, Milestone, Concession, Staff Rebate, or Other. This is for grouping and reporting only; what actually drives eligibility is the Strategy Type below.
  3. Pick a Strategy Type: Number of Children (Parent Rebate — tiers by how many of a family's children are currently enrolled), Years Enrolled (Loyalty / Old Student — tiers by tenure), Cumulative Payments (tiers by how much a student has already paid), Date-based (Promotion / Early Payment — a flat discount inside a calendar window, or a fixed number of days before a fee's due date), Manual Grant (Concession — no tiers, discounts are hand-assigned per student), or Staff Ward (Staff Rebate — a flat discount for a student whose parent-portal account is linked to a staff member on the Staff Linking tab).
  4. Set a Priority (lower number = evaluated first, see above) and, for Cumulative Payments, the counting Period (Lifetime or Current Academic Year) and which fee categories count toward it — counted net of any discount already applied, so a discount can never inflate its own next tier. For Date-based, choose Calendar window (Valid From / Valid Until) or Days-before-due-date, and the number of days.
  5. Click Save — the programme starts as Draft. Click Preview Eligibility at any time to see how many currently-enrolled students would qualify at each tier before switching it on.
  6. Click Activate once it's ready, Pause to switch it off without losing its configuration, or Back to Draft from Paused.

Tiers & Fee Scope

Every strategy except Manual Grant needs at least one Tier: a From / To value range (leave To blank for "and above"), a Discount Type (Percentage or fixed GHS amount), and a Discount Value. Date-based and Staff Ward programmes are flat-rate, so the system creates their one implicit tier automatically the first time the programme is saved.

Tier versioning: editing a tier that has never been used in a real payment updates it directly. Editing a tier that has already been used in at least one payment instead retires it and silently creates a new version — discounts already given stay exactly as they were, never recalculated retroactively.

Add rows under Fee Scope to restrict a programme to specific Fee Categories and/or Classes (either side left blank = any). No rules at all means the programme applies to every fee, every class.

Manual Grants (Concession)

For a Manual Grant programme there are no tiers to configure — instead, search for a student under Grants, choose Fixed GHS or Percentage and a value, type a Reason (required), and save. The grant applies to that one student going forward until Revoke is clicked.

Discount History

Every automatic discount actually applied — date, student, class, which programme won, the qualifying value that earned it (e.g. spend total or years enrolled), the discount, and the original/discount/final amounts. A hand-entered coupon or scholarship on a payment also appears here, tagged Coupon/Scholarship instead of a programme name, so this one table is the full discount picture for a payment. Search by student name and click Download CSV to export.

Staff Linking (for Staff Rebate)

A Staff Rebate programme can only tell which students belong to a staff member once that staff member's own parent-portal account is linked here. Search for the staff member, click Link (or Change to relink, Unlink to remove), and pick their account from a search of existing Parent Accounts. A staff member with no parent-portal account yet needs one created first from Parent Accounts, with their children linked there, before they can be linked here.

How It Applies

Once active, a matching programme applies automatically — no code entry needed — during Bulk Payment on the Fees page and during Online Payments in the Parent Portal, the same way a coupon does. The applied discount is what shows on the receipt and in Discount History; nothing needs to be manually reconciled afterward.

Part 11

Data Import

Move your existing records into EduTrack in bulk using CSV files.

65. Importing Data from Excel / CSV

Accessible by: Admin only

EduTrack can import large numbers of records from CSV files (created in Microsoft Excel or Google Sheets). Go to Data Migration in the menu.

Import Students

  1. Go to Data Migration → select Students.
  2. Download the CSV Template and open it in Excel.
  3. Fill in one student per row without changing the column headers.
  4. Save as CSV (File → Save As → CSV UTF-8).
  5. Back in EduTrack, click Choose File, select your CSV, then click Import.
  6. A summary shows how many records were imported and any rows with errors.
Important: Column headers must match the template exactly. Key required columns: first_name, last_name, class, sex, date_of_birth plus at least one phone number column.
ColumnWhat to Enter
first_name *Student's first name
last_name *Student's last/family name
class *Class name — must match exactly as set up in EduTrack
sexMale or Female
date_of_birthFormat: YYYY-MM-DD e.g. 2012-05-15
father_phone or mother_phoneAt least one phone number required
emailParent email (for receipts)
parent_nameParent / guardian full name

Import Staff

  1. Go to Data Migration → select Staff → download and fill in the Staff CSV Template.
  2. Required columns: full_name, phone, email, reg_no, class_assigned, subject_to_teach.
  3. Upload the file and click Import.

Import Payments

  1. Go to Data Migration → select Payments → download and fill in the Payments CSV Template.
  2. Required columns: student_id, fee_type, amount_paid, payment_date, payment_method.
  3. Upload and import.
Order matters: Always import students first, then payments. Payments reference student records — if a student does not exist yet, the payment row will fail.
Part 12

Reference

Roles and permissions matrix, and answers to common questions.

66. Roles & Permissions Matrix

Every user is assigned a Role. Your role determines which menus and actions you can access.

ModuleAdminHeadteacherRegistrarTutor (Teacher)Accountant / CashierParent
Dashboard✅ Full✅ Full——✅ Finance only—
Students✅ Full✅ Full✅ FullView only—Own child only
Comprehensive Student Profile✅✅✅———
Classes & Subjects✅✅✅View——
Staff✅✅————
Fees & Payments✅View——✅ FullView own
Express Collection✅—✅—✅—
Expenses✅View——✅—
Online Payments✅View——✅Pay only
Attendance✅✅✅✅ Own class—View own child
Timetable✅✅✅View—View own child
Exams / Question Gen✅✅—✅——
Terminal Reports✅✅—✅ Own class—View own child
Financial Reports✅✅——✅—
Communication✅ Full✅ Full✅ Full✅ Full—Limited
Alerts / SMS✅✅——✅—
Progress Analytics✅ Premium/add-on✅ Premium/add-on—View——
AI Agent✅ Premium✅ Premium——✅ Premium—
AI Analytics✅ Premium✅ Premium——✅ Premium—
Canteen Setup✅✅————
Canteen Scanner✅✅———QR pass only
Canteen Reports✅✅——✅—
Finance & Procurement Suite✅✅ Approver—Can submit✅ Approver/Disburse—
Payroll✅✅——✅—
Wallet✅✅——✅—
Stores / POS✅✅——✅—
Health Records✅✅————
Biometric Attendance✅✅————
Leadership & Activities✅✅✅———
Clearance & Certificates✅✅✅———
WhatsApp Communications✅ ConfigSend————
Reports Hub✅ All✅ AllStaff/Welfare/Alumni—Finance/Payroll—
Lesson Plan Review✅✅—Creates in Teacher Portal——
Academic Planning✅✅—Creates in Teacher Portal——
Promotion & Class Transition✅✅—Can propose cut-offs——
Teacher Portal———✅ Own classes——
Settings✅—————
User Management✅—————
Data Import✅—————

Parent Portal & Teacher Portal are separate apps with their own logins, not additional rows in the staff sidebar — see Part 7 and Part 8 for their full feature sets.

67. Troubleshooting & Common Questions

Common Questions

Q: I can't see a module in the menu.
A: Your user role does not include access to that module, or the module is not included in your school's plan. Contact your administrator to check your role assignment or upgrade your plan.

Q: I added a fee structure but cannot record a payment for it.
A: The student must be enrolled in the same class the fee structure is linked to, and their status must be Active. Also verify the fee is for the current Academic Year (check Settings → Academic Settings).

Q: A parent says they did not receive an SMS.
A: (1) Verify a phone number is entered on the student record. (2) Verify the Hubtel SMS API key is configured in Settings. (3) Check the phone number is in Ghanaian format (0244123456). (4) Check your Hubtel SMS credit balance.

Q: The online payment succeeded but the student's fee shows as Unpaid.
A: The payment gateway callback may have been delayed. Wait 5–10 minutes and refresh. If still unpaid, check the admin panel's online payments log. As a last resort, record the payment manually using the transaction reference from Paystack/Hubtel.

Q: I imported students from CSV but some rows failed.
A: Download the error report shown after import. Common causes: (1) Class name does not match exactly (e.g., "JHS2" vs "JHS 2"). (2) Date in wrong format — use YYYY-MM-DD. (3) No phone number in any contact field.

Q: The parent portal shows "No fees found."
A: The fee structure must be for the class the student is currently enrolled in, and the Academic Year must match the current year set in Settings.

Q: The AI Agent says "AI service unavailable."
A: Check that at least one AI API key is entered in Settings → AI Settings. The system tries all four providers in order. If all keys are missing or expired, the Agent cannot function.

Q: The canteen scanner says "Invalid canteen pass" when scanning from the parent portal.
A: Confirm the parent is scanning the Session Pass QR (the one that shows "Canteen Pass — [Session Name] · Today") and not the permanent Identity QR (which is only for the fee desk). They look different in the parent portal and have different titles.

Q: Can I undo a payment I recorded by mistake?
A: Yes. Go to the payments list, click Edit to correct it, or Delete to remove it entirely. Deleted payments cannot be recovered — double-check before deleting.

Q: How do I change the current academic year?
A: Only an Admin can do this. Go to Settings → Academic Settings → update Current Academic Year → Save Settings.

Q: A teacher can't log into the Teacher Portal even though their staff login works elsewhere.
A: The teacher's user account isn't linked to a staff record yet. An admin should open their Staff record and click "Reset Teacher Login" to create the link.

Q: My Finance request has been sitting in "Awaiting Approval" for days.
A: Check who the current approval step is assigned to (visible in the request detail) and confirm that person has an active account and has been checking their Approvals Inbox. Admin can act on any pending step directly.

Q: The AI Paper Generator produced questions that don't match our school's usual exam layout.
A: Set up a Format Profile for that subject/class — upload one of your school's past papers on the AI Paper Generator's Step 1 and click "Analyze & Save," then use "Use School Format" on future generations.

Q: A parent's Fee Desk Pass QR shows a placeholder instead of a code.
A: The student doesn't have an Identity QR token yet. Go to Canteen → Settings → Student ID Cards and click "Generate Missing Identity QR Tokens" — this is safe to re-run any time and only fills in students who don't already have one.

Q: I ran Promotion but a student shows "Needs Review" instead of Promoted or Repeated.
A: Usually missing data — either no Subject Cut-Offs are configured yet for that class/subject, or the student is missing scores for the aggregation period. Check the student's per-subject breakdown on the Run Promotion tab; you can also override their status manually if you're confident of the outcome.

Q: A clearance request is stuck on "Blocked" even though the student paid everything.
A: Click "Re-check Fee Balance" on the Fees checkpoint — it doesn't update automatically when a payment is recorded elsewhere. If it's still Blocked, check the Conduct and Library/Assets checkpoints too; all three must be Cleared.

Quick Reference Rules