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
- Type your Username in the first field.
- Type your Password in the second field.
- Click the Log In button.
- 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?
- Click Forgot Password? on the login page.
- Enter the email address linked to your account.
- 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
- Click your name in the top-right corner of any page.
- 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.
2. Navigating the System
After logging in you will see three main areas:
- Top bar — School logo, your name, notification bell, and quick logout.
- Left sidebar — Main navigation. Only modules your role can access are shown. Canteen section appears only when the Canteen Module is active.
- Main area — The content of the page you have selected.
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 Accountant / Cashier
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
- Click your name in the top-right corner, then click My Profile.
- Edit your Full Name, Email, or Phone in the Profile Information tab.
- Click Update Profile to save.
Change Your Password
- Go to My Profile → click the Change Password tab.
- Enter your Current Password.
- Enter and confirm your New Password (minimum 8 characters).
- 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
- Click Settings in the menu → School Information tab.
- Fill in or update: School Name, Address, Phone, Email.
- To change the school logo, click Choose File, pick a square PNG or JPG, then Save Settings.
Academic Year & Term
- Click the Academic Settings tab.
- Set the Current Academic Year (e.g.,
2024-2025) and the Current Term.
- 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
- Click the Payment Gateways tab.
- Enter your Paystack Public Key and Secret Key (from your Paystack dashboard).
- Enter your Hubtel Client ID and Client Secret if using Hubtel MoMo.
- Click Save Settings.
Online Payment Settlement
- Select your bank from the Bank dropdown.
- Enter your school's Bank Account Number.
- Click Verify Account — the account name auto-fills.
- Click Save Settlement Account.
Result: Every online payment is automatically settled into your school's bank account. No manual transfers needed.
SMS Settings (Hubtel)
- Click the SMS Settings tab.
- Enter your Hubtel Client ID and Client Secret for the SMS service.
- Enter a Sender Name (e.g., your school name — max 11 characters).
- Click Save Settings. Test by sending a test SMS to your own number.
AI Settings (Premium)
- Click the AI Settings tab.
- Enter your API keys for the AI providers you want active: Claude (Anthropic), Groq, Gemini, or OpenAI.
- The system uses the providers in priority order: Claude → Groq → Gemini → OpenAI. If one fails, it falls over to the next automatically.
- Click Save Settings.
6. User Accounts
Accessible by: Admin only
Add a New Staff User
- Go to User Management in the menu and click Add New User.
- 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
- Click Add User.
Reset a Password
- Find the user in the list and click Edit.
- Type a new password in the Password field and click Save.
Deactivate a User
- 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
- Go to Classes → click Add Class.
- Fill in: Class Name (e.g. Basic 4), Class Level, Class Teacher (optional), Capacity, Academic Year.
- Click Save Class.
Add a Subject
- Go to Subjects → click Add Subject.
- Enter the Subject Name (e.g., Mathematics) and a unique Subject Code (e.g., MATH).
- Click Save Subject.
8. Staff Management
Accessible by: Admin Headteacher
Add a New Staff Member
- Go to Staff → click Add Staff.
- Fill in Personal Information: Full Name, Sex, Date of Birth, Nationality, Marital Status.
- Fill in Professional information: Qualifications, Registration Number, Rank, Subject, Class Assigned.
- Fill in Contact details: Phone, Email, Residential Address.
- Fill in Government records: SSNIT Number, TIN Number, Bank Name, Bank Account.
- Upload a Staff Photo (optional but recommended).
- 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
- Go to Students → click Add Student.
- 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
- Click Save Student. The system auto-generates a Student ID (e.g.,
STU001).
- 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)
- Click Edit on the student's row.
- 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.
10. Linking Parent Accounts
Accessible by: Admin Registrar
- Go to Parent Accounts → click Link Parent Account.
- Select the Student — the parent's name and phone auto-fill from the student record.
- Confirm or correct the Guardian Full Name and Phone Number. The phone number is the parent's login username.
- Set a temporary Password and share it privately with the parent.
- 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 Accountant / Cashier
Fee structures define what each class owes. You must set these up before recording any payments.
Add a Fee Structure
- Go to Fees → click Add Fee Structure.
- Fill in: Class Name, Fee Type (e.g. Tuition, Feeding Fee, Exam Fee), Amount (GHS), Due Date, Academic Year.
- 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 Accountant / Cashier
Record a Cash / Bank Payment
- Go to Fees → click Record Payment.
- Select the Student, the Fee Type being paid, the Amount Paid, Payment Date, and Payment Method (Cash, Cheque, Bank Transfer, Mobile Money, Card).
- Enter a Transaction / Receipt ID if available.
- Optionally apply a Coupon code for a discount.
- 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
- Find the payment in the payments list.
- Click Edit, correct the amount, date, or method, then click Save.
13. Express Fee Collection (QR Scanner)
Accessible by: Admin Accountant / Cashier 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
- Click Express Collection in the Fees section of the menu.
- 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).
- The student's photo, name, class, and outstanding fees load instantly.
- Tap the fee type button (feeding/canteen fees are highlighted in green and listed first).
- Select the payment method: Cash, Mobile Money, or Bank Transfer. For MoMo: choose MTN / Vodafone / AirtelTigo.
- 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
- Parent logs into the Parent Portal and clicks Fees.
- Finds an outstanding fee and clicks Pay Online.
- Ticks the fees to pay and selects payment method: Card, MTN MoMo, Vodafone Cash, or AirtelTigo Money.
- Enters name and phone number, then clicks Proceed to Payment.
- Completes payment on the Paystack / Hubtel checkout screen.
- 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 Accountant / Cashier
- Go to Expenses → click Add Expense.
- Enter the Date, Category, Description, Amount (GHS), Payment Method, and optional Vendor name.
- Click Save Expense. The dashboard's Total Expenses figure updates immediately.
16. Discount Coupons
Accessible by: Admin only
- Go to Settings → scroll to Coupons Management → click Add Coupon.
- Enter a unique Coupon Code (e.g., STAFF2025), Description, Discount Type (Fixed Amount or Percentage), Discount Value, and Usage Limit (0 = unlimited).
- 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
- Go to Attendance → Take Register tab.
- Select the Class and Date (today is pre-selected), then click Load.
- For each student click: Present (green), Absent (red), Late (orange), or Excused (purple).
- Add an optional Note for any student.
- 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
- Click the View Records tab.
- Filter by Class, Date Range, and Status.
- Click Export CSV or Export PDF.
SMS Absentee Alerts
- Click the SMS Absentees tab.
- Select the Class and Date, then click Send SMS. Parents of all absent students receive an automatic text message.
Accessible by: Admin Headteacher Registrar
- Go to Timetable → select a Class and Academic Year.
- For each period slot, assign a Subject, Teacher, Start Time, and End Time.
- 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)
- Go to Exams Generator → select Subject, Class, Term, and Exam Type.
- Set the number of questions and difficulty mix (Easy / Medium / Hard).
- Click Generate Exam. The system selects questions from the question bank.
- Review the paper and click Download PDF to print.
AI Question Generation from PDF (Growth / Premium)
- Go to Exams Generator → click the AI Generate tab.
- Upload any textbook, past paper, or study material as a PDF.
- Select the Subject, Class, number of questions (up to 50), and type (MCQ / Essay / Mixed).
- Click Generate with AI. In under 60 seconds, the AI produces a full exam paper.
- 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
- Go to Exams Generator → Question Bank → click Import CSV.
- Download the CSV template, fill it in (one question per row), and save as CSV.
- Click Choose File, select your CSV, then click Upload & Import.
| Column | What to Enter | Required? |
subject_code | Must match an existing subject code, e.g. MATH | Yes |
class_name | e.g. JHS 2 | Yes |
question_type | mcq or essay | Yes |
question | The question text | Yes |
option_a to option_d | MCQ answer choices | MCQ only |
correct_answer | a, b, c, or d | MCQ only |
marks | Points value | Yes |
difficulty | easy, medium, or hard | Yes |
20. Terminal Report Cards
Accessible by: Admin Headteacher Teacher (Growth / Premium plans)
Enter Student Scores
- Go to Reports (or Terminal Reports) in the menu.
- Select the Class, Subject, Term, and Academic Year.
- For each student, enter the Class Score (continuous assessment) and the Exam Score.
- The system calculates the Total Score, Grade (A1–F9), and Position automatically using the GES weighting you configured (typically 30% class, 70% exam).
- 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
- Once all scores are entered for a class and term, click Generate Report Cards.
- Review the preview — each card shows the student's scores for all subjects, class position, teacher remarks, headteacher remarks, and the school logo.
- Click Download PDF (All Students) to download a batch PDF of all report cards for that class.
- 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 Accountant
| Report Type | What It Shows |
| Fee Collections | Every payment within a date range with student name, fee type, amount, method, and totals. |
| Outstanding Fees | Every student with total fee, amount paid, and outstanding balance. Filter by class. |
| Class Collections Summary | Expected vs. collected per class with collection percentage. |
| Expense Summary | All expenses grouped by category within a date range. |
| Financial Reconciliation | Income 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
- Go to Communication → Announcements tab → click New Announcement.
- Enter a Title and write the Message.
- Set the Target Audience: All Staff, Teachers Only, Admins Only, etc.
- Tick Pin to keep it at the top of the list.
- Click Publish.
Send an Internal Message
- Go to Communication → Inbox → click Compose.
- Select the Recipient, enter a Subject and Message, then click Send.
- Unread messages have a blue dot. Click Reply to respond.
23. Alerts & SMS Notifications
Accessible by: Admin Headteacher Accountant
Send a Targeted Alert
- Go to Alerts → select Alert Type: Fee Reminder, Attendance Alert, Event Notification, or Custom Message.
- Select who to send to: Individual Student, Entire Class, or All Students.
- Compose the Message. Use
{student_name}, {class}, and {date} as placeholders.
- Select Delivery Method: SMS, In-App Notification, or Both.
- 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 Accountant — 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
- Click AI Agent in the left menu (or use the chat icon on the Dashboard).
- Type your request in the chat box and press Enter or click Send.
- The AI responds, takes the action, and confirms what it did.
What You Can Ask the AI Agent
| Example Command | What 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 Accountant — 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
- Go to AI Analytics → Scheduled Tasks tab.
- Enable the reports you want: Weekly Feeding Summary, Friday Analytics, Weekly At-Risk Report.
- Set the delivery time (e.g., every Monday at 7am) and recipients (Admin, Headteacher, etc.).
- Click Save Schedule. The cron job runs automatically from that point.
26. At-Risk Student Detection
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
- Go to AI Analytics → At-Risk Detection tab.
- 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.
- Click on any student to see their full attendance and score trend chart.
- 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.
- Open the Parent Portal link in your browser.
- Enter your Phone Number (your username — the same number registered with the school).
- Enter your Password (given to you by the school).
- 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
- Click Fees in the menu. If you have more than one child, select the child from the dropdown at the top.
- The Fee Breakdown table shows every fee with the amount, amount paid, and outstanding balance.
- Three summary cards show Total Fees, Total Paid, and Total Outstanding at a glance.
Pay a Fee Online
- Find an Unpaid or Partial fee and click Pay Online.
- On the checkout page, tick all fees you want to pay and select your payment method (Card or Mobile Money).
- Enter your name and phone number, then click Proceed to Payment.
- 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
- Click Attendance in the menu.
- 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
- Click Results in the menu.
- 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)
- Open the Parent Portal in Chrome on your Android phone.
- Tap the three-dot menu (⋮) at the top right.
- Tap Add to Home screen.
- Tap Add. The app icon appears on your home screen.
Install on iPhone (Safari)
- Open the Parent Portal in Safari.
- Tap the Share button (box with upward arrow) at the bottom.
- Scroll down and tap Add to Home Screen.
- 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:
| Queue | Without EduTrack | With EduTrack |
| Queue 1 — Fee Desk | Cashier searches name → types data → saves → prints receipt (~45 sec) | QR scan at Express Collection → 2–3 seconds |
| Queue 2 — Canteen Window | Staff searches → verifies → saves → prints coupon → hands over (~60 sec) | QR scan at Canteen Scanner → 2–3 seconds |
Create a Canteen Session
- Go to Canteen → Setup in the menu.
- Click Create Session and fill in: Session Name (Breakfast / Lunch / Supper), Date, Start Time, End Time, Price per Meal, and Classes enrolled.
- 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
- Go to Canteen → Settings → Student ID Cards tab.
- Click Generate Missing Identity QR Tokens. The system creates permanent QR tokens for all students who don't have one yet.
- 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
- Open the scanner URL on the canteen device:
yourschool.com/canteen/scanner.php.
- Enter the 4-digit scanner PIN and tap Enter.
Scan a Student's Session Pass QR
- Point the camera at the student's Session Pass QR (shown in the parent portal or on a printed card).
- On success: a white overlay shows the student's photo, name, class, and a green ✓ CONFIRMED banner. It auto-dismisses after 3 seconds.
- On double scan: amber overlay — "Already confirmed at [time]".
- On invalid/tampered token: red overlay — "Invalid canteen pass".
- 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 Accountant
Go to Canteen → Reports for the following:
| Report | Contents |
| Daily Meal Report | Per session: enrolled, confirmed, absent, revenue, and verification method breakdown (% QR / manual). |
| Student Attendance | Per student: sessions enrolled, confirmed, absent, absence rate, longest absence streak. |
| Financial Reconciliation | Fees collected (payments table) vs. meals confirmed (scanner) — flags discrepancies. |
| Express Collection Stats | Payments 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
- Go to Data Migration → select Students.
- Download the CSV Template and open it in Excel.
- Fill in one student per row without changing the column headers.
- Save as CSV (File → Save As → CSV UTF-8).
- Back in EduTrack, click Choose File, select your CSV, then click Import.
- 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.
| Column | What 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 |
sex | Male or Female |
date_of_birth | Format: YYYY-MM-DD e.g. 2012-05-15 |
father_phone or mother_phone | At least one phone number required |
email | Parent email (for receipts) |
parent_name | Parent / guardian full name |
Import Staff
- Go to Data Migration → select Staff → download and fill in the Staff CSV Template.
- Required columns:
full_name, phone, email, reg_no, class_assigned, subject_to_teach.
- Upload the file and click Import.
Import Payments
- Go to Data Migration → select Payments → download and fill in the Payments CSV Template.
- Required columns:
student_id, fee_type, amount_paid, payment_date, payment_method.
- 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.
| Module | Admin | Headteacher | Registrar | Tutor (Teacher) | Accountant / Cashier | Parent |
| Dashboard | ✅ Full | ✅ Full | — | — | ✅ Finance only | — |
| Students | ✅ Full | ✅ Full | ✅ Full | View only | — | Own child only |
| Classes & Subjects | ✅ | ✅ | ✅ | View | — | — |
| Staff | ✅ | ✅ | — | — | — | — |
| Fees & Payments | ✅ | View | — | — | ✅ Full | View 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 | ✅ | ✅ | — | — | ✅ | — |
| AI Agent | ✅ Premium | ✅ Premium | — | — | ✅ Premium | — |
| AI Analytics | ✅ Premium | ✅ Premium | — | — | ✅ Premium | — |
| Canteen Setup | ✅ | ✅ | — | — | — | — |
| Canteen Scanner | ✅ | ✅ | — | — | — | QR 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
- A student must have at least one contact phone number.
- Fees must be set up for a class before payments can be recorded against it.
- Attendance can only be marked for today or past dates — not future dates.
- The Academic Year in Settings affects all reports, fees, and class assignments.
- Parent Portal login uses the parent's phone number as the username.
- CSV imports must use the exact column names from the downloaded template.
- Online payment settlement requires the school's bank account to be configured in Settings.
- The Canteen Module requires students to have Identity QR tokens — generate them in Canteen → Settings → Student ID Cards.
- AI features (Agent, Analytics, At-Risk) are available on the Premium plan only.
- The Canteen Module is a separate add-on available on any plan for GHS 80/month.