🎓
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 · Parents
Version 2.0  ·  2025  ·  Oric Network Limited

Table of Contents

  1. Getting Started
  2. 1. Logging In & Out
  3. 2. Navigating the System
  4. 3. Dashboard Overview
  5. 4. Your Profile & Password
  6. Administration
  7. 5. System Settings
  8. 6. User Accounts
  9. 7. Classes & Subjects
  10. 8. Staff Management
  11. 9. Students
  12. 10. Linking Parent Accounts
  13. Finance
  14. 11. Fee Structures
  15. 12. Recording Payments
  16. 13. Express Fee Collection (QR)
  17. 14. Online Payments
  18. 15. Expenses
  19. 16. Discount Coupons
  20. Academic
  21. 17. Attendance Register
  22. 18. Timetable
  23. 19. Exams & AI Question Generator
  24. 20. Terminal Report Cards
  25. 21. Financial Reports
  26. Communication
  27. 22. Announcements & Messages
  28. 23. Alerts & SMS
  29. AI & Analytics
  30. 24. RBC AI Agent
  31. 25. AI Analytics & Forecasting
  32. 26. At-Risk Student Detection
  33. Parent Portal
  34. 27. Logging into the Parent Portal
  35. 28. Viewing & Paying Fees
  36. 29. Attendance, Results & Timetable
  37. 30. Offline Mode & PWA Install
  38. Canteen Module
  39. 31. Canteen Setup & Sessions
  40. 32. Canteen Scanner
  41. 33. Cook's Dashboard
  42. 34. Canteen Reports
  43. Data & Reference
  44. 35. Importing Data (CSV / Excel)
  45. 36. Roles & Permissions Matrix
  46. 37. Troubleshooting & FAQ
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.

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, 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. 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.

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.

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.
  4. Fill in Contact details: Phone, Email, Residential Address.
  5. Fill in Government records: SSNIT Number, TIN Number, Bank Name, Bank Account.
  6. Upload a Staff Photo (optional but recommended).
  7. 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.

9. 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.

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, and coupons.

11. 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.

12. 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).
  3. Enter a Transaction / Receipt ID if available.
  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 ₵[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.

13. 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.

14. 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.

15. 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.

16. 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.

Part 4

Academic

Attendance, timetable, AI exam generation, terminal report cards, and financial reports.

17. Attendance Register

Accessible by: Admin Headteacher Registrar Teacher (Tutor)

Taking the Daily Register

  1. Go to AttendanceTake 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.

18. Timetable

Accessible by: Admin Headteacher Registrar

  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.

Teachers see their own timetable after logging in. Parents see their child's timetable in the Parent Portal.

Conflict detection: The system automatically warns you if a teacher has been assigned to two classes at the same time.

19. Exams & AI Question Generator

Accessible by: Admin Headteacher Teacher

Generate an Exam Paper (Manual Question Bank)

  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 questions from the question bank.
  4. Review the paper and click Download PDF to print.

AI Question Generation from PDF (Growth / Premium)

  1. Go to Exams Generator → click the AI Generate tab.
  2. Upload any textbook, past paper, or study material as a PDF.
  3. Select the Subject, Class, number of questions (up to 50), and type (MCQ / Essay / Mixed).
  4. Click Generate with AI. In under 60 seconds, the AI produces a full exam paper.
  5. Review and edit the questions if needed, then click Save to Question Bank and/or Download PDF.
AI Tip: The AI generates questions at three difficulty levels. Upload past BECE papers to build a Ghana-specific question bank quickly.

Import Questions from CSV

  1. Go to Exams GeneratorQuestion Bank → click Import CSV.
  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

20. 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.

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".

21. Financial Reports

Accessible by: Admin Headteacher

Report TypeWhat It Shows
Fee CollectionsEvery payment within a date range with student name, fee type, amount, method, and totals.
Outstanding FeesEvery student with total fee, amount paid, and outstanding balance. Filter by class.
Class Collections SummaryExpected vs. collected per class with collection percentage.
Expense SummaryAll expenses grouped by category within a date range.
Financial ReconciliationIncome vs. expense — net surplus or deficit for any period.

All reports can be exported as CSV (for Excel) or PDF (for printing) using the buttons at the top of each report.

Part 5

Communication

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

22. Announcements & Internal Messages

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

Post an Announcement

  1. Go to CommunicationAnnouncements 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 CommunicationInbox → 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.

23. Alerts & SMS Notifications

Accessible by: Admin Headteacher

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).
Part 6

AI & Analytics

The AI Agent, analytics dashboard, at-risk detection, and scheduled AI tasks — Premium plan features.

24. 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.

25. 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 AnalyticsScheduled 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.

26. At-Risk Student Detection

Accessible by: Admin Headteacher TeacherPremium 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 AnalyticsAt-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

Parent Portal

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

27. 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.

28. 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.

29. Attendance, Results & Timetable

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.

Exam Results

  1. Click Results in the menu.
  2. Select the Term. All subject scores, grades, class position, and teacher remarks are shown.

Timetable

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

30. 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 8

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 the Upgrade page.

31. 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.

32. 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? Use the 5-digit Student ID numeric input below the camera. Type the ID and tap Confirm.

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.

33. 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.

34. 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.

Part 9

Data Import

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

35. 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 10

Reference

Roles and permissions matrix, and answers to common questions.

36. 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 onlyOwn child only
Classes & SubjectsView
Staff
Fees & PaymentsView✅ FullView own
Express Collection
ExpensesView
Online PaymentsViewPay only
Attendance✅ Own classView own child
TimetableViewView own child
Exams / Question Gen
Terminal Reports✅ Own classView own child
Financial Reports
Communication✅ Full✅ Full✅ Full✅ FullLimited
Alerts / SMS
AI Agent✅ Premium✅ Premium✅ Premium
AI Analytics✅ Premium✅ Premium✅ Premium
Canteen Setup
Canteen ScannerQR pass only
Canteen Reports
Settings
User Management
Data Import

37. 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.

Quick Reference Rules