Visit the SmartGrade registration page. Select your school level — Primary & Junior Secondary (Grades 1–9) or Senior Secondary (Grades 10–12). Enter your school name, a unique code (e.g. GPS001), county, sub-county, and create the admin account. The admin account belongs to the Head of Institution or System Administrator.
Go to School Profile in the sidebar. Upload your school logo, enter the motto, mission, vision, and Head of Institution name and signature. These appear on all printed report cards and official documents.
Go to Subscription. Choose a plan (Termly or Yearly) and pay via M-Pesa — either through Safaricom M-Pesa or KCB M-Pesa. Enter your phone number, choose your provider, and enter your PIN when prompted. Your subscription activates immediately after payment is confirmed.
SmartGrade automatically creates the standard CBE grades during registration. Go to Grades & Streams and add streams to each grade (e.g. East, West, North, or A, B, C). Each stream is a separate class list with its own learners and timetable.
Go to Subjects. Your standard CBE subjects were created automatically. Add any additional subjects (e.g. Computer Science, Agriculture) or edit existing names and codes. Then go to Timetable → Subject-Grade Links to map which subjects are taught in which grades.
Go to Grading to confirm the CBE grade boundaries — EE (Exceeds Expectation), ME (Meets Expectation), AE (Approaches Expectation), BE (Below Expectation). Each band carries points (EE=4, ME=3, AE=2, BE=1). You can create additional grading systems for different uses or adjust boundaries.
Go to Learners → Add Learner. Enter surname, first name, other names, admission number, assessment number (KNEC), gender, and assign to a stream. Set whether the learner is a Day Scholar or Boarder — this controls which fee items are charged on their invoice.
While adding or editing a learner, scroll down to the Parent / Guardian Contacts section. Add up to two contacts (Primary and Secondary) — name, phone number, and relationship. These contacts receive SMS results and can log into the Parent Portal.
Go to Learners → Bulk Import. Download the CSV template, fill in learner details in Excel (surname, first name, admission number, stream), save as CSV, and upload. Existing records are matched by admission number and updated.
Go to Learners → Bulk Boarding Status. Filter by grade or stream, then set each learner as Day or Boarder using the radio buttons. Use the All Day / All Boarding buttons to change the whole class at once. Changes only affect future invoices — past records are not changed.
Go to All Exams → New Exam. Give it a name (e.g. End Term 1 2026), select the academic year and term, then choose which grades and subjects to include and set the maximum marks per subject.
Open the exam and click Enter Marks for a grade and stream. Marks are auto-saved as you type. Tick the ABS checkbox for absent learners — their percentage shows as 0 in calculations.
Once marks are verified, click Lock Marks. Locked exams cannot be edited without admin access, preventing accidental changes after results have been shared with parents.
Go to Reports → Term Reports → New Merged Exam. Select the component exams (e.g. CAT1 + Midterm + End Term) and set the weight for each. The system computes a weighted total to produce a single term report.
Go to Reports → Generate Reports. Select an exam and grade. The grade report shows all learners ranked by total marks, with CBE grade letters, points, and comparison to the previous exam. Choose a report mode — Marks & Rank, Points Order, Grades Only, or Full Report.
From any grade report, click a learner's name. The report card shows marks, grades, points, position, and teacher/principal remarks. Print directly or download as PDF (formatted for A4, one page per learner).
On a learner's individual report card, click 📤 Share. A secure link is generated that is valid for 30 days. Send it to the parent via WhatsApp, SMS, or email. The parent opens it in any browser — no login required.
Go to SMS Results → Send Results SMS. Select an exam and grade. Preview the message, then send to all registered parent contacts. Each parent receives their child's results as a text message.
Go to Staff Accounts → Add Staff. Assign each person a role: School Admin (full access), Deputy Head, Director of Studies, Class Teacher (one stream), Subject Teacher, Accountant, or Bursar. Each role controls exactly which pages and actions the person can access.
Go to Subject Assignments (admin side). For each subject, select the teacher responsible for it in each grade/stream. This controls mark entry access, timetable generation, and homework posting.
Subject teachers see My Assignments in their sidebar — a list of all grades and subjects they are responsible for. This is their quick reference for what they teach each term.
Go to Finance → Fee Structures → Create. Add fee categories (Tuition, Activity Fee, Boarding Fee, etc.) with amounts. Set boarding scope per item — All (charged to everyone), Boarding only, or Day only. Day scholars are not charged boarding fees; boarders get all items.
Go to Finance → Invoices → Generate Invoices. Select the fee structure, academic year, and term. The system creates one invoice per active learner based on their boarding status. Learners with credit from a previous term have it automatically deducted.
Go to Finance → Record Payment. Select the payment method (Cash, M-Pesa, Bank Deposit, Cheque, Donation, Supply of Goods, Bursary — or add your own custom method). Then select Grade → Stream → Learner, enter the amount, and post. A printable receipt is generated automatically.
After posting a payment, the system takes you directly to the receipt page. Two receipt formats are shown side by side — a narrow Thermal/POS receipt (76mm) and a wider A5 receipt with school logo and signature lines. Click Print to print either format.
From a learner's finance profile, click Full Statement. The statement shows every invoice and payment in chronological order with a running balance. Green = credit (overpaid), Red = owes money. Print or save as PDF for the parent.
Go to Finance → Expenses → New Expense. Record any school expenditure — electricity, supplies, salaries, etc. Tick Tax/VAT was charged to enter a tax rate. Choose Inclusive (tax is already inside the amount) or Exclusive (tax is added on top). The breakdown updates live as you type. Leave unticked for zero-rated or exempt expenses.
Go to Finance → Arrears Report. Filter by amount threshold to see which learners owe above a certain amount. From the same page, send SMS reminders directly to parents of learners in arrears.
Go to Finance → Payment Methods to add your own payment modes (e.g. Mpesa Till, Wire Transfer, CDF Bursary). Activate or deactivate methods at any time. Methods marked as Supply of Goods automatically create a matching expense entry when used.
Go to Attendance. Select a stream and date, then mark each learner as Present, Absent, Late, or Excused. Attendance can be recorded per period (Morning, Afternoon, Full Day) or as a full-day entry.
Go to Attendance → Download Report. Filter by stream and date range. The report shows a summary table with present/absent/late counts per learner and a per-day grid. Print or save as PDF for official records.
When a parent views their child's report on the Parent Portal, the Attendance Summary section shows total days, present, absent, late and excused counts, the attendance percentage, and a list of recent attendance records. No extra steps needed — it updates automatically.
Go to Timetable → Subject-Grade Links. Tick which subjects are taught in each grade. This tells the generator which subjects to schedule for each grade and filters the lesson config form.
Go to Subject Assignments. Every subject that appears in the timetable must have a teacher assigned for that grade/stream. Subjects with no teacher assigned will show as "??" in the generated timetable.
Go to Timetable → New Configuration. Set the school start/end time, lesson duration in minutes, which days school runs, and add break windows (morning break, lunch, etc.) with their times.
Click Lessons on your configuration. For each subject and grade, set how many lessons per week it needs. Use grade-level settings to apply the same config to all streams. Tick Double Lesson for subjects that need two consecutive periods (e.g. Practical, Art).
Go to Constraints on your configuration. Select a teacher and click on any period cell to mark it as Unavailable (teacher cannot teach then) or Possible (can teach but prefer not to). The generator respects these when placing lessons.
Click ⚡ Generate Timetable. The system checks all requirements first and shows clear error messages if anything is missing (no lesson config, no teacher assigned, too many lessons for available periods). Fix the errors, then generate. On success, every lesson is placed with zero teacher collisions and zero stream collisions guaranteed.
Review the timetable on screen. Click Publish to make it visible to all teachers. Export PDFs: Block (all streams), Teacher (one page per teacher), Grade (one grade block), or Venue (room-by-room schedule).
Parents go to the SmartGrade login page and click 👨👩👧👦 Parents / Guardians — Login Here at the bottom. They enter: the learner's Admission Number, the learner's Surname, and their own phone number (as registered by the school). No password, no email, no account creation required.
Once logged in, parents see a dashboard with all their children registered at the school (one login covers multiple children if the same phone is registered for each). From there they can view:
• Exam Results — marks, grades, points per subject for any exam
• Performance Trend Chart — a line graph of total CBE points across all exams
• Attendance Summary — present/absent/late counts and recent records
• Homework Assignments — all active homework with instructions and file downloads
Staff can generate a secure share link for any individual report card. The link is valid for 30 days and requires no login. Send it to any parent via WhatsApp or SMS. Go to the learner's report → click 📤 Share → copy the link.
Go to Homework Assignments in your sidebar. Click Post Homework. Select the subject (only your assigned subjects appear), grade, and optionally a specific stream. Add a title, instructions, due date, and attach a PDF or document if needed. Click Publish Homework.
Once you have confirmed that learners have received and acknowledged the homework, click ✅ Submit on the homework row. This records your name and timestamp. The button changes to Done and cannot be submitted again.
Admins and Directors of Studies see a Submission Status table at the bottom of the Homework Assignments page showing which teachers have marked their homework as delivered, when, and for which subject/grade.
Go to Senior School → Grade 10 → Setup Pathways. Click Create Default Pathways to set up STEM, Social Sciences, and Arts & Sports Science with their standard CBE courses. You can also create custom pathways.
Go to Class Management for the grade. Use the dropdowns to select each learner's pathway and course. Save the assignments. A learner's pathway determines which subjects appear on their report card and their personal timetable.
Go to Senior School → Subject Enrollment. Subject teachers tick the learners enrolled in their subject. Filter by pathway to see only relevant learners. This drives both the timetable generator and individual learner report cards.
Go to Subscription. Choose Termly or Yearly plan. Enter your M-Pesa phone number and choose your provider — 🟢 Safaricom M-Pesa (Daraja/Paybill) or 🏦 KCB M-Pesa (KCB Buni). Click the provider button. You receive a PIN prompt on your phone. Enter your M-Pesa PIN. Subscription activates automatically when payment is confirmed.
Go to SMS Credits. Enter the number of credits to buy (minimum 10, 1 credit = 1 SMS = KES 1). Choose your M-Pesa provider and enter your phone. Credits are added automatically after payment confirmation. You can also use the manual code entry if STK push fails.
Your current SMS balance is shown at the top of the SMS Credits page and in the sidebar. Each SMS sent (results, arrears reminder, custom broadcast) deducts one credit per recipient.
Go to Two-Factor Auth at the bottom of the sidebar. Scan the QR code with Google Authenticator, Microsoft Authenticator, or any TOTP app. On future logins, you enter both your password and the 6-digit code from the app. Strongly recommended for admin accounts.
For security, SmartGrade logs you out automatically after 10 minutes of inactivity. This protects learner and financial data if you leave a browser tab open on a shared computer.
Go to Change Password at the bottom of the sidebar. OTP verification is required before you can save a new password. Admins can reset any staff member's password from Staff Accounts.
School Admin — full access to all features
Deputy Head — all features except billing and staff creation
Director of Studies — exams, reports, timetable
Class Teacher — their stream's marks, attendance, reports
Subject Teacher — mark entry for assigned subjects, homework posting
Accountant / Bursar — Finance module only
Parent — read-only portal (results, attendance, homework)