SchoolPro User Handbook

← Back to SchoolPro v6.0 · 2025/2026
Chapter 1

System Overview

SchoolPro is a comprehensive offline school management system built specifically for Nigerian nursery, primary and secondary schools. It runs entirely on your computer — no internet connection required for daily operations. Every record, every receipt, every report card stays on your machine, under your control.

Welcome to SchoolPro

Congratulations on choosing SchoolPro as your school's management system. This handbook is your comprehensive guide to every feature, every workflow, and every procedure you will ever need. Whether you run a nursery, primary or secondary school — and whether you are an administrator overseeing the entire school's operations, a bursar managing finances and fee collections, a secretary handling daily registrations and front-desk tasks, or a teacher entering results and marking attendance — this document will show you exactly how to accomplish your tasks efficiently and accurately. We have designed SchoolPro to be intuitive enough that most users can start working within minutes of their first login, but powerful enough to handle the most complex administrative scenarios a Nigerian school can encounter. SchoolPro works entirely offline, so you never need internet for daily operations. Take the time to read through the chapters relevant to your role, and refer back to this handbook whenever you need guidance on a specific feature or procedure. The Table of Contents in the left sidebar allows you to jump directly to any topic. Let us begin.

What SchoolPro Does

SchoolPro digitises every administrative process in your school. From the moment a student is admitted to the day they graduate or transfer, every interaction is recorded, tracked, and reportable. Fee payments, academic results, attendance, staff salaries, books, uniforms, expenses — everything flows through a single, unified system.

The system is organised into six major domains, each containing specialised modules that work together seamlessly. When a student pays fees, the Ledger updates automatically. When results are entered, report cards generate instantly. When a term ends, promotions can be executed with a single click based on academic performance.

👥 People Management

Students, staff, guardians, and alumni — complete biographical data, photos, medical records, and relationships. Bulk import via CSV for rapid onboarding.

🎓 Academic Engine

Classes, subjects, continuous assessment scores, exam results, automatic grading, broadsheet generation, beautiful PDF report cards with rankings, and student promotions.

💻 Exams / CBT

Computer-Based Testing with multiple question types, auto-grading, timed exams, a student portal, and analytics. Scores feed directly into the results system.

🗓️ Timetable

Visual weekly timetable builder with period management, teacher allocation, conflict detection, and print-ready PDF export for classrooms.

💰 Financial Suite

Fee structures, fee collection with receipt printing, expenses tracking, staff salary payments, books and uniform sales, cashbook, ledger, debtors, and full accounting.

📊 Operations & Welfare

Daily attendance marking, AI face-recognition attendance via phone camera, behavioral notes, health records, school events calendar, and a full library system.

🪪 ID Card Engine

Generate premium CR-80 student and staff ID cards with holographic security, watermarks, ghost photos, and HMAC-signed serial numbers. Export as PNG or PDF.

🛡️ Security & Control

Six user roles with granular permissions, complete audit trail, automatic session timeout, encrypted license system, transfer certificates, and data backup and restore.

Key Design Principles

SchoolPro was designed around three principles that matter most to Nigerian primary and secondary schools. First, it works completely offline — once installed, your school runs without any internet dependency. Second, it follows the Nigerian academic calendar precisely, with sessions spanning September to July and three terms per session. Third, all financial figures are in Naira by default, with support for twelve African and international currencies.

Every module uses the same consistent interface: a page header showing where you are, a search or filter bar to find records quickly, action buttons to create or modify data, and card-based or table-based layouts for viewing information. Once you learn to navigate one module, you already know how to use all thirty-six of them.

Chapter 2

First Login & Initial Setup

The very first time you open SchoolPro, you will need to activate your license and configure your school's identity. This chapter walks you through the essential first-day setup so your school is ready to operate.

License Activation & Free Trial

When SchoolPro launches for the first time, it automatically begins a 30-day free trial. During the trial, every feature is fully available with no restrictions. A gold banner at the top of the screen shows how many trial days remain and includes a link to purchase a license.

After the 30-day trial expires, the system locks and displays the License Activation screen. Enter your license key (purchased from deskttools.store) and your school name, then click Activate. This is a one-time process that ties your software to your specific computer. All data entered during the trial is preserved — nothing is lost when you activate.

Enter your License Key — This is the key you received at purchase, in the format SPRO-XXXX-XXXX-XXXX-XXXX. Type it carefully or paste it into the License Key field.
Enter your School Name — Type the official name of your school. This is stored with your license for identification purposes.
Click "Activate License" — The system will verify your key. If you have internet, it validates online. If not, it activates in offline mode and will verify the next time internet is available.
One License = One Computer Your license is permanently bound to the hardware of the computer it is first activated on. If you change your computer, you will need to contact support for a license transfer.

Default Login

After license activation, you will see the Login screen. SchoolPro comes with a default administrator account that you should use for initial setup.

FieldValue
Usernameadmin
Passwordadmin1234
!
Change the Default Password Immediately After your first login, go to Users in the sidebar, find the admin account, and change the password to something secure. Anyone who knows the default password can access your entire school's data.

Essential First-Day Configuration

Before you begin entering students, fees, or any school data, you must configure three critical areas. Navigate to Settings from the sidebar to begin.

1. School Identity (Settings → School Setup)

Fill in every field in the School Setup tab. This information appears on report cards, receipts, transfer certificates, and all printed documents. The fields to complete include your school name, motto, address, phone number, email address, school type (e.g. "Nursery, Primary & Secondary"), head teacher's name and title, the school's registration number, year of establishment, and a receipt footer message. You can also upload your school logo (PNG or JPG, maximum 500KB) and set your school's primary and secondary brand colours.

2. Academic Session (Sessions Page)

Navigate to the Sessions page from the sidebar. SchoolPro follows the Nigerian academic calendar where a session spans two calendar years. For example, the 2025/2026 session means 1st Term starts in September 2025, while 2nd and 3rd Terms occur in 2026. The system features an Auto-Detect function that reads today's date and suggests which session and term should be active. If the correct session does not exist yet, it will offer to create it for you with pre-filled dates. Simply click the "Create & Activate" button that appears in the detection banner.

3. Grading System (Settings → Grading)

The default grading scale follows the standard Nigerian format: A (70–100, Excellent), B (60–69, Very Good), C (50–59, Good), D (45–49, Fair), E (40–44, Pass), and F (0–39, Fail). The default score breakdown is CA1 (10 marks), CA2 (10 marks), CA3 (10 marks), Assignment (10 marks), and Exam (60 marks), totalling 100 marks. You can modify both the grade boundaries and score breakdown to match your school's assessment policy. The passmark defaults to 40 and can be adjusted.

Setup Checklist Before entering any student data, confirm: (1) School identity is complete, (2) Current session and term are active, (3) Grading scale matches your school's policy, (4) Classes have been created, (5) Subjects have been created and assigned to classes, (6) Fee structures have been defined for the current term.
Chapter 4

User Roles & Permissions

SchoolPro supports six predefined user roles, each with a specific set of permissions. This ensures that teachers cannot access financial data, bursars cannot modify academic results, and only administrators have full system access.

Available Roles

RoleDescriptionKey Permissions
AdministratorFull access to every module and setting in the system.All permissions — including user management, backup, settings, and audit log.
Bursar / AccountantHandles all financial operations and reporting.Fees, expenses, salaries, books, uniforms, receipts, cashbook, ledger, debtors, and financial reports.
Secretary / ReceptionistManages student records, daily operations, and front-desk tasks.Students, guardians, attendance, fees collection, books and uniform sales, receipts, library, health records, behavioral notes, events, and transfer certificates.
TeacherEnters results, marks attendance, and views student information.Students (view only), results entry, attendance marking, report cards (view), behavioral notes, and library (view).
LibrarianManages the library catalogue and book loans.Library management, books (view), students (view), and reports (view).
Attendance OfficerDedicated role for staff who only manage daily attendance.Attendance marking and correction, and students (view only).
Role-Based Sidebar The sidebar automatically hides modules that a user's role does not permit. A teacher logging in will see a simplified sidebar with only Dashboard, Students, Results, Report Cards, Attendance, and a few other allowed items. This prevents confusion and keeps the interface clean for each user.

Chapter 4.5

Dashboard

Your command centre. The Dashboard gives you a real-time overview of your school's vital statistics the moment you log in — students, staff, finances, attendance, and recent activity at a glance.

Dashboard Overview

The Dashboard is the first screen every user sees after logging in. It displays summary cards showing key metrics for the current term: total active students, total staff, fees collected vs. outstanding, today's attendance rate, and recent system activity. The information shown adapts based on your user role — administrators see everything, teachers see academic summaries, and bursars see financial data.

Quick Statistics

The top row of the Dashboard shows four key stat cards:

CardWhat It Shows
StudentsTotal active students across all classes, with a breakdown by gender.
StaffTotal active staff members across all departments.
RevenueTotal fees and income collected for the current term vs. total expected.
AttendanceToday's attendance percentage with present/absent count.

Charts & Activity

Below the stat cards, the Dashboard shows income and expense trends for the current term as a chart, a list of recent transactions, and a feed of recent system activity (new registrations, fee payments, result entries). This gives administrators a comprehensive snapshot without needing to visit individual modules.

💡
Dashboard as a health check
Make it a habit to check the Dashboard first thing every morning. A quick glance tells you if attendance is low (possible event or issue), if fee collection is on target, and if any important actions were taken overnight.

Chapter 5

Students

The Students module is the heart of SchoolPro. Every other module — fees, results, attendance, report cards — connects back to the student record. Getting student registration right from the start saves hours of work later.

Registering a New Student

Navigate to the Students page and click the Add Student button. A modal form appears with fields organised into required and optional categories.

Required Fields

Every student must have an Admission Number (a unique identifier like ADM/2025/001), First Name, Surname, Gender (Male or Female), Date of Birth, a Class assignment, and a Guardian link. The admission number is the single most important field — it is used across all modules to identify the student and must be unique.

Optional Fields

Additional fields include Middle Name, Home Address, Admission Date, Blood Group, Genotype, Religion, State of Origin, LGA, Medical Notes, Previous School, and House assignment. You can also upload a passport photograph (maximum 300KB, PNG or JPG). These optional fields enrich the student profile and appear on report cards and transfer certificates when filled.

Bulk Import via CSV

For schools with many existing students, SchoolPro supports CSV import. Click the Import CSV button to see a sample CSV template with the correct column headers. Prepare your spreadsheet with columns for firstName, surname, middleName, gender, dob, classId, house, stateOfOrigin, religion, bloodGroup, and genotype. Save it as a CSV file and upload it. The system validates each row and reports any errors before committing the import.

Class IDs in CSV When importing, the classId column must use the internal class ID (shown in the Classes page), not the class name. Create your classes first, note their IDs, and use those in the CSV.

Searching & Filtering Students

The search bar at the top of the Students page filters by student name or admission number as you type. For schools with hundreds of students, you can also filter by class using the class dropdown. The student list uses server-side pagination, meaning only a page of results loads at a time — even schools with thousands of students will experience fast load times.

Editing & Managing Student Records

Click on any student card to open their full profile. From here you can edit any field, change their class assignment, update their photograph, or change their status. Student statuses include Active (currently enrolled), Graduated (completed their final year), Transferred (moved to another school), and Withdrawn (left for other reasons). Changing a student's status to anything other than Active moves them to the Student Archives module.

Chapter 5.2

Staff

The Staff module manages all employees — teachers, administrators, support staff, and non-academic personnel.

Adding Staff Members

Navigate to the Staff page and click Add Staff. Required fields include the staff member's full name, role or job title, phone number, and monthly salary amount. Optional fields include email address, department (Academic, Non-Academic, Admin), date of employment, and qualifications. You can import multiple staff members at once using CSV — a sample template is provided with columns for name, role, phone, salary, department, and email.

Staff records are used by the Salaries module to process monthly payments. Keeping salary figures accurate here ensures correct payroll calculations throughout the year.

Chapter 5.3

Guardians

Guardians are the parents or caregivers linked to student records. One guardian can be linked to multiple students (siblings), and a student can have multiple guardians.

Creating Guardian Records

Navigate to the Guardians page. Each guardian record includes their name, relationship to the student (Father, Mother, Guardian, Uncle, Aunt, Grandparent, or Other), phone number, email, occupation, and address. When registering a new student, you can either select an existing guardian or create a new one directly from the student form.

The guardian's name and phone number appear on receipts, report cards, and transfer certificates, so accurate data here flows through to all printed documents.

Chapter 5.4

Student Archives

The Archives module holds all non-active students — those who have graduated, transferred, or withdrawn. It serves as a permanent record that can be searched at any time.

How Archives Work

When a student's status is changed from Active to Graduated, Transferred, or Withdrawn (either manually or through the Promotions system), they automatically move to the Archives. You can filter the archives by status type and search by name or admission number. If a student returns to the school, an administrator can restore them to Active status, which moves them back to the main Students list with all their historical data intact.

Archived students can also be permanently deleted, but only if they have no financial records (ledger entries, receipts, etc.). This safeguard prevents the loss of financial audit data.


Chapter 6

Classes

Classes define the academic groupings of your school. Every student, fee structure, result entry, and attendance record is tied to a class.

Creating Classes

Navigate to the Classes page and click Add Class. Each class has a name (e.g. "Primary 1"), a grade level number (used for ordering and promotions), an optional section or arm label (e.g. "A", "B", "Gold"), and a class teacher assignment. The system automatically generates a full display name by combining the name and section — for example, "Primary 1A" or "JSS 2 Gold".

Grade levels are critical for the Promotions system. When promoting students at year-end, SchoolPro uses grade levels to determine which class comes next. A student in a class at grade level 3 will be promoted to the class at grade level 4. Ensure your grade levels form a continuous sequence from the lowest class to the highest.

Typical Nigerian School Structure Nursery 1 (grade 1), Nursery 2 (grade 2), Primary 1 (grade 3) through Primary 6 (grade 8), JSS 1 (grade 9) through JSS 3 (grade 11), SSS 1 (grade 12) through SSS 3 (grade 14). Adjust according to your school's structure — some schools start from Crèche or Pre-Nursery.
Chapter 6.2

Subjects

Subjects define the academic courses offered by your school. Each subject is assigned to one or more classes, determining which students can have results entered for that subject.

Managing Subjects

Navigate to the Subjects page. Each subject has a name (e.g. "Mathematics"), a short code (e.g. "MTH"), and a class assignment. You can assign a single subject to multiple classes simultaneously. For example, "English Language" might be assigned to every class from Primary 1 to SSS 3, while "Further Mathematics" might only be assigned to SSS 1 through SSS 3.

Subject codes are important when importing results via CSV. The CSV file uses subject codes (not full names) to match results to the correct subject. Keep codes short, unique, and memorable — MTH, ENG, PHY, CHE, BIO, CRS, ISS, etc.

Chapter 6.3

Results Entry

The Results module is where teachers enter continuous assessment and exam scores. These scores flow directly into the Report Cards module for automatic grade calculation and ranking.

Entering Results

Navigate to the Results page. First, select a class and a subject from the dropdown filters. The system displays a broadsheet-style table with every active student in that class listed vertically, and the score components (CA1, CA2, CA3, Assignment, Exam) listed horizontally. Enter scores directly into the cells. The total and percentage are calculated automatically as you type.

Scores must not exceed the maximum for each component (e.g. CA1 cannot exceed 10, Exam cannot exceed 60). The system validates entries in real time and highlights any that exceed the limit. Click Save when finished. Results are saved per-class, per-subject, per-term — so a student has separate result entries for each subject in each term.

Bulk Import via CSV

For schools with many subjects and students, CSV import is faster than manual entry. Click the Import CSV button to see the expected format. Each row should contain the student's admission number, the subject code, and a score for each component. For example: ADM/2025/001,MTH,8,7,9,8,52. The system matches admission numbers and subject codes to existing records and flags any that cannot be found.

Results Workflow

Select Class & Subject
Enter Scores
Auto-Calculate Totals
Save
Report Cards Ready
Results entered here flow automatically into the Report Cards module with grades, rankings, and comments.
Chapter 6.4

Report Cards

Report Cards are the crown jewel of SchoolPro's academic module. They take the raw scores entered in Results and transform them into beautifully formatted, print-ready PDF documents.

Generating Report Cards

Navigate to the Report Cards page. Select a class from the dropdown to see all students with their computed results. Each student card shows their total score, average, position in class, and the number of subjects passed versus failed. The report card includes: the school header with logo and motto, student details (name, admission number, class, term, session), a full results table with CA breakdowns, totals, grades, and remarks, a colour-coded performance bar for each subject, the student's class position with ordinal suffix (1st, 2nd, 3rd, etc.), attendance summary (days present, absent, late), auto-generated teacher and head teacher comments based on performance, and a signature section.

Exporting as PDF

You can export report cards in three ways. Single Student: click the PDF icon on any student's card to download their individual report card. Whole Class: click "Export Class" to generate a multi-page PDF with every student's report card in one file. All Classes: click "Export All" to generate report cards for every student in every class in the current term — this can be hundreds of pages. The PDF opens in a new browser tab with a print dialog, ready to be printed or saved as a PDF file.

Chapter 6.5

Promotions

The Promotions module handles end-of-session progression — promoting, repeating, graduating, transferring, or withdrawing students.

How Promotions Work

Promotions are typically done once per year, at the end of 3rd Term. Navigate to the Promotions page and select a class. You will see every active student in that class with their academic average for the current term. SchoolPro offers an Auto-Decide feature that automatically recommends "Promote" or "Repeat" for each student based on whether their average meets or exceeds the passmark (configurable in Settings → Grading). You can override any individual decision before executing.

The available decisions for each student are:

DecisionEffect
PromoteMoves the student to the next class (based on grade level sequence). You select the destination class.
RepeatStudent stays in the same class for the next session.
DemoteMoves the student down to a lower class. You select the destination.
GraduateFor final-year students. Sets status to "Graduated" and moves to Archives.
TransferSets status to "Transferred" and moves to Archives.
WithdrawSets status to "Withdrawn" and moves to Archives.

After reviewing all decisions, click Execute Promotions. This action is recorded in the audit log and cannot be undone automatically — individual students can be manually moved back if needed, but the bulk operation itself is permanent. A record of every promotion decision is stored in the promotions table with the student, source class, destination class, decision, session, and the user who executed it.

Chapter 6.6

Exams / CBT

The Computer-Based Testing module allows you to create, manage, and administer exams that students take directly on a computer or phone. Questions are timed, auto-graded, and scores feed directly into the Results system.

Creating an Exam

Navigate to Exams / CBT from the sidebar under Academics. To create a new exam, click the New Exam button. You will need to provide the exam title, select the subject, choose the target class, set the duration in minutes, and specify the total marks. You can also set a start date and time window during which the exam will be available for students to take.

Each exam has a status: Draft (being prepared), Published (available to students), Active (currently being taken), and Closed (completed, no more submissions). Only published exams are visible in the student exam portal.

Adding Questions

Once an exam is created, click into it to add questions. SchoolPro supports multiple question types:

📝 Multiple Choice (MCQ)

Four options (A-D) with one correct answer. The most common question type for CBT exams. Each question can have an optional image or diagram.

✅ True / False

Simple binary choice questions. Useful for quick factual recall assessments.

📋 Fill in the Blank

Students type a short answer. The system matches against one or more accepted answers (case-insensitive).

📄 Essay / Long Answer

Open-ended questions requiring manual grading by the teacher after submission.

Questions can be reordered by dragging, and each question carries a point value. You can also import questions from a previous exam or from a question bank to save time.

💡
Tip: Shuffle questions
Enable question shuffling in the exam settings so each student sees questions in a different order, reducing the chance of copying during group exams.

Student Exam Portal

Students access exams through a dedicated portal — they do not need a teacher login. The portal is accessed from the sidebar or by navigating directly to the exam portal URL. Students identify themselves using their admission number.

Once a student starts an exam, a countdown timer is displayed prominently. Questions can be navigated freely (students can skip and return to questions). When the timer expires, the exam is automatically submitted. Students can also submit early if they finish before time.

⚠️
Browser lock
The exam portal runs in a focused mode. If a student switches tabs or minimizes the browser, a warning is logged. This does not auto-submit the exam but creates a flagged record for the teacher to review.

Grading & Results

Multiple choice, true/false, and fill-in-the-blank questions are auto-graded instantly upon submission. Essay questions appear in a review queue for the teacher to grade manually. Once all questions are graded, the final score is calculated.

Exam scores can be optionally pushed to the Results module — mapping the CBT score to one of the CA or Exam components in the academic results system. This means a single CBT exam can directly populate the "Exam" column for a subject in the broadsheet, eliminating manual data entry.

Exam Analytics

After an exam is closed, the system generates analytics: class average, pass rate, highest and lowest scores, question-by-question performance (which questions were most frequently answered incorrectly), and individual student breakdowns. This data helps teachers identify weak areas and adjust their teaching accordingly.

Chapter 6.7

Timetable

Create and manage weekly class timetables with period assignments, teacher allocation, and conflict detection. Print-ready timetables for display in classrooms and staff rooms.

Setting Up the Timetable

Navigate to Timetable from the sidebar under Academics. The timetable is organized by class. Select a class to view or edit its weekly schedule.

The timetable grid shows days of the week (Monday to Friday) across the top and time periods down the side. Each cell represents one teaching period. To assign a subject to a period, click the cell and select the subject and (optionally) the teacher. The system automatically populates available subjects from those linked to the class in the Subjects module.

Managing Periods

Before filling in the timetable, configure your school's period structure in Settings. You can define:

Period times — Start and end times for each period (e.g., Period 1: 8:00-8:40, Period 2: 8:40-9:20).
Break slots — Mark specific periods as "Break" or "Assembly" so they appear on the timetable but cannot have subjects assigned.
Number of periods — Typically 7-9 periods per day for Nigerian schools. This can vary between days if needed.

Conflict Detection

SchoolPro prevents scheduling conflicts automatically. If you try to assign a teacher to two classes at the same time, or schedule a subject that exceeds its allocated weekly periods, the system warns you. This ensures that the timetable is always valid and implementable.

Printing & Sharing

Each class timetable can be exported as a PDF for printing and display. The generated timetable is formatted to fit standard A4 paper in landscape orientation, with clear typography suitable for classroom walls. You can also generate a master timetable showing all classes on a single page for the staff room.

💡
Teacher's personal timetable
Staff members can view their own personal timetable showing only their assigned periods across all classes, making it easy to see their daily schedule at a glance.

Chapter 7

Fee Structure Setup

Before collecting any fees, you must define what each class pays. The Fee Structure module defines fee items per class per term — the foundation of the entire financial system.

Creating Fee Structures

Navigate to the Fee Setup page. Fee structures are organised by class. For each class, you define one or more fee items. A typical Nigerian primary school might have: School Fees (₦80,000), PTA Levy (₦5,000), Development Levy (₦10,000), Sports Fee (₦3,000), and ICT Fee (₦5,000). Each item has a name, an amount, and a mandatory/optional flag.

Fee structures are term-specific. When a new term is activated through the Sessions system, SchoolPro automatically copies fee structures from the previous term to the new one, saving you from re-entering the same items every term. You can then adjust amounts for the new term as needed.

Once fee structures are defined, the system automatically knows how much each student owes. The Ledger calculates outstanding balances by comparing what is owed (from fee structures) against what has been paid (from fee collection).

Chapter 7.2

Fee Collection

The Fees module is where money meets the system. Every Naira collected from parents is recorded here, with receipts generated automatically.

Collecting a Payment

Navigate to the Fees page — The main view shows all students and their fee balances.
Search for the student — Type the student's name or admission number in the search bar.
Click "Collect Payment" — A payment dialog opens showing the student's outstanding balance.
Enter the amount paid — This can be a full payment or a partial payment. The system accepts any amount up to the outstanding balance.
Select payment method — Cash, Bank Transfer, POS, or Cheque.
Confirm — The system creates a ledger entry, generates a receipt number, and updates the student's balance instantly.

Debtors View

The Fees page includes a Debtors tab that lists every student with an outstanding balance, sorted by the amount owed. This view is essential at the end of each term when the school needs to follow up on unpaid fees. You can see at a glance which students owe money, how much they owe, and how much they have paid so far.

Fee Collection Flow

Fee Structure Defined
Student Owes ₦X
Parent Pays
Ledger Updated
Receipt Generated
Every payment updates the ledger in real time. Outstanding balances recalculate automatically.
Chapter 7.3

Books & Book Sales

The Books module manages your school's book inventory and tracks sales to students, including assigning books to specific classes and managing stock levels.

Managing Books

Each book record includes a title, author, ISBN (optional), price, current stock quantity, and class assignment. When a book is assigned to a class, it appears as an available purchase for students in that class. Selling a book to a student records the transaction in the ledger, reduces stock, and links the sale to the student's record. You can also restock books by adding quantities through the inventory management interface. The system tracks total revenue from book sales per class and per term, visible in the Reports module.

Chapter 7.4

Uniforms

The Uniforms module works similarly to Books — it manages uniform inventory, variants (sizes), pricing, and sales to students.

Managing Uniform Inventory

Each uniform item has a name (e.g. "School Shirt"), an optional variant (e.g. "Size 12", "Large"), a price, and a stock quantity. You can sell uniforms to students, which records the transaction, deducts stock, and adds a ledger entry. The restock function allows you to add quantities when new uniform shipments arrive. Uniform sales revenue is tracked separately from school fees and appears in the income reports.

Chapter 7.5

Other Income

For income that does not fall under school fees, book sales, or uniform sales — such as donations, rental income, event proceeds, or miscellaneous revenue — use the Other Income module.

Each entry records the amount, description, date, category, and payment method. Other income entries appear in the Cashbook, Ledger, and financial reports alongside all other revenue streams, giving you a complete picture of your school's total income.

Chapter 7.6

Expenses

Every outgoing payment — from diesel purchases to maintenance, stationery to transport — is recorded in the Expenses module.

Each expense entry includes the amount, description, category (Utilities, Maintenance, Stationery, Transport, Catering, Miscellaneous, etc.), date, and payment method. Expenses feed into the Cashbook and Profit & Loss reports. Consistent categorisation allows you to see exactly where your school's money is going — if maintenance costs spike in a particular month, the reports will show it clearly.

Chapter 7.7

Salaries

The Salaries module processes monthly staff payments based on the salary amounts defined in each staff member's record.

Navigate to the Salaries page to see all staff members with their monthly salary amounts. To process a payment, select the staff member, confirm the amount (which can be adjusted for bonuses, deductions, or partial payments), select the payment date and method, and confirm. Each salary payment creates a ledger entry categorised as "Salary" and appears in the Payroll report. You can process salaries individually or in bulk for the entire staff roster.

Chapter 7.8

Cashbook

The Cashbook provides a day-by-day summary of all money coming in and going out. It is the financial pulse of your school.

The Cashbook page shows daily totals for income (fee collections, book sales, uniform sales, other income) and expenditure (expenses, salary payments). You can filter by date range, month, or term. Each day's entry expands to show individual transactions. The running balance shows your school's net cash position at any point in time. This is the page the school proprietor or bursar checks daily to understand the financial health of the institution.

Chapter 7.8b

Debtors

Track students with outstanding fee balances. The Debtors module gives you a clear, actionable view of who owes what, enabling effective fee recovery.

Viewing Debtors

Navigate to Debtors from the sidebar under Finance. The page displays all students who have an outstanding balance for the current term. Each entry shows the student name, admission number, class, total amount owed, total amount paid, and the remaining balance.

You can filter debtors by class, sort by balance amount (highest first to prioritise collection), and search by student name or admission number. The summary at the top shows total outstanding debt across the school, number of debtors, and the collection percentage.

Debtor Actions

From the debtors list, you can directly navigate to a student's fee payment page to record a new payment. You can also print a debtors list by class — a common requirement for schools that send printed reminders home with students or distribute lists to class teachers for follow-up.

💡
End-of-term debtor reports
Use the Reports module to generate a comprehensive end-of-term debtors report that you can present to the school board or proprietor, showing total debt, recovery rate, and class-by-class breakdown.
Chapter 7.9

Ledger

The Ledger is the master financial record — every single financial transaction in SchoolPro creates a ledger entry. It is the single source of truth for all money movement.

The Ledger page displays all transactions with filters for date range, type (income, expense, fees, salary), and student. Each entry shows the date, description, student name (if applicable), amount, type, payment method, and receipt number. You can search by student name or admission number to see a complete financial history for any individual student — every fee payment, book purchase, and uniform sale they have ever made.

The Ledger is a read-only record of what has happened. Entries cannot be edited or deleted — they can only be voided (which creates a reversal entry), preserving the audit trail. This is a critical accounting principle that ensures your financial records are always trustworthy.

Chapter 7.10

Receipts

Every fee payment generates a receipt. The Receipts module manages, views, reprints, and voids receipts.

Receipt Formats

SchoolPro supports three receipt formats, each designed for a specific printer type:

🖨️ 58mm Thermal

Compact receipt for small POS-style thermal printers. Monospace font, dashed borders, and minimal layout. Perfect for quick over-the-counter receipts.

🖨️ 80mm Thermal

Wider thermal receipt with more detail — includes school logo area, itemised breakdown, amount in words, and payment method. Standard for most receipt printers.

📄 A4 PDF

Full-page receipt with school branding, colour accents, detailed payment information, and a formal layout suitable for filing or parent records.

Each receipt includes the receipt number, date, student name and admission number, class, payment description, amount in figures and words, payment method, cashier name, and the school's receipt footer message. To reprint a receipt, simply find it in the Receipts list and click the print icon. To void a receipt (in case of an error), click void — this does not delete the receipt but marks it as voided and creates a reversal entry in the ledger.


Chapter 8

Attendance

Daily attendance tracking with support for Present, Absent, Late, and Excused statuses. Attendance data feeds into report cards and the attendance reports.

Marking Attendance

Navigate to the Attendance page. Select a class and the date (defaults to today). The system shows all active students in that class. For each student, click the status button: Present (green), Absent (red), Late (amber), or Excused (blue). The status toggles with each click, cycling through the options. Click Save when all students are marked.

Attendance can be corrected after the fact by any user with the "Correct Attendance" permission. A correction creates an audit log entry so you can see who changed what and when. The monthly attendance summary, showing total days present, absent, and late for each student, is automatically included in their report card.

Chapter 8.2

Face Attendance

For schools with camera-equipped devices, Face Attendance uses your device's camera to recognise students and mark them present automatically.

How It Works

Navigate to the Face Attendance page. Select a class, then click "Start Camera". The system accesses your device's camera (with your permission) and attempts to match detected faces against the photos stored in student records. When a match is found, the student is automatically marked as Present. This feature requires that students have passport photos uploaded in their profiles. For phones accessing SchoolPro over the local network, HTTPS is required for camera access — this is configured automatically by the system.

Photo Requirement Face Attendance only works for students who have a photo uploaded in their profile. Students without photos will need to be marked manually using the standard Attendance module.

Chapter 9

Behavioral Notes

Track positive and negative student behaviour throughout the term. Behavioral notes provide a documented history that can be shared with parents and used in decision-making.

Each note records the student, the date, the type of behaviour (Positive, Negative, Observation), a category (Academic, Social, Disciplinary, Health), a description of what happened, and the staff member who recorded it. Notes can be filtered by student, class, type, and date range. This module helps schools maintain consistent disciplinary standards and recognise positive behaviour, and provides evidence for any disciplinary decisions that may be challenged by parents.

Chapter 9.2

Health Records

Maintain medical histories, allergies, conditions, and sick bay visit logs for all students.

Each health record is linked to a student and includes the date, type of record (Sick Bay Visit, Medical Condition, Allergy, Vaccination, Injury, Other), a description, treatment given (if any), and the staff member who recorded it. Schools with a sick bay or nurse's office use this module to log every visit and action taken. The records are searchable by student, making it easy to review a student's complete medical history when needed by parents or medical professionals.

Chapter 9.3

School Events

Plan, schedule, and record school events — inter-house sports, PTA meetings, excursions, cultural days, graduation ceremonies, and more.

Each event record includes the event name, date, time, location, description, event type, and status (Upcoming, Ongoing, Completed, Cancelled). The events page serves as a school calendar, showing what is coming up and what has happened. This is useful for administrative planning and for producing end-of-term reports that document the school's activities.

Chapter 9.4

Library

A complete library management system for cataloguing books, managing loans, tracking returns, and identifying overdue items.

Library Operations

The Library module has two tabs: Books (the catalogue) and Loans (active and past borrowings). In the Books tab, each library book has a title, author, ISBN, category, total copies, and available copies. When a student borrows a book, select the student, choose the book, set the due date, and confirm. The system deducts one from available copies and creates a loan record. When the book is returned, mark the loan as returned — the available count goes back up.

The system highlights overdue loans in red, making it easy to identify students who have not returned books on time. Loan history is kept permanently, so you can see every book a student has ever borrowed.


Chapter 10

Transfer Certificates

When a student leaves your school — whether transferring, graduating, or withdrawing — a formal Transfer or Leaving Certificate can be generated and printed.

Navigate to the Transfer Cert page, search for the student, enter the reason for leaving and destination school (if applicable), and generate the certificate. The system produces a beautifully formatted PDF document with your school's letterhead, the student's complete details (name, admission number, date of birth, class at leaving, date of admission, date of leaving, conduct, and fees status), a formal certification statement, and signature lines for the head teacher and school stamp. Transfer certificates are stored in the system and can be reprinted at any time.

Chapter 10.1b

ID Card Engine

Generate professional, tamper-resistant ID cards for students and staff. Premium CR-80 format with holographic security features, watermarks, and ghost photos — what you see in the preview is exactly what prints.

Accessing the ID Engine

Navigate to ID Engine from the sidebar under System. The page is divided into two panels: a selection panel on the left and a live preview panel on the right.

Generating ID Cards

Choose between Student IDs and Staff IDs using the tabs at the top of the selection panel. Then choose a generation mode:

ModeDescription
SingleSelect one person from the list. Ideal for new admissions or replacements.
Whole Class / DepartmentGenerate cards for every student in a class or every staff member in a department.
SelectedPick multiple individuals from the list. Useful when generating cards for a specific group.
AllGenerate cards for every active student or staff member. Typically used at the start of a new session.

After selecting records, click Preview. The cards appear in the right panel at actual print size (CR-80 standard: 85.6 x 54mm). Each card shows the school logo, name, motto, address, the person's photo, full name, class/department, ID number, house, serial number, validity date, administrator signature, and security features.

Photos

Click on a person's photo area in the preview to upload or change their photo. Photos are stored in the system and reused across all modules. For best results, use passport-style photographs with a plain background. The system automatically crops and resizes images to fit the card layout.

Security Features

Every ID card generated by SchoolPro includes multiple anti-counterfeiting measures:

🔐 HMAC-Signed Serial Numbers

Each card has a unique serial number (e.g., SP-STU-2026-EEF8D5) generated using a cryptographic hash. Cannot be guessed or replicated.

🌊 Diagonal Watermark

The school name is repeated diagonally across the card body at very low opacity, visible on close inspection.

🪪 Silver Hologram Overlay

A holographic security sticker effect on the photo area with animated rainbow gradient, concentric verification seal, and a moving shine streak.

👤 Ghost Photo

A small, faded circular copy of the person's photo appears in the bottom-right corner of the card — a common security feature on government IDs.

Exporting & Printing

Two export options are available:

Download Image — Exports a single card as a high-resolution PNG file (3x pixel ratio for crisp printing). The download captures the exact preview DOM — what you see is exactly what you get.
Export PDF — Generates an A4 PDF with multiple cards arranged in a printable grid (2 columns x 4 rows per page). Ideal for bulk printing on CR-80 card stock or regular paper to be cut to size.
💡
Branding customisation
ID card colours, logo, school name, motto, and administrator name are automatically pulled from your school settings. Update them in Settings to reflect your school's branding on all generated cards.
Chapter 10.2

User Management

Control who can access SchoolPro and what they can do. Every person who logs into the system needs a user account.

Creating User Accounts

Navigate to the Users page (accessible only to Administrators). Click Add User and fill in the username, password, full name, and role. The role determines what the user can see and do — see Chapter 4 for a detailed breakdown. Each user logs in with their own credentials, and all their actions are recorded in the Audit Log under their name.

You can deactivate a user account without deleting it, preserving the audit trail of their past actions. Passwords can be reset by an administrator if a user forgets theirs. It is recommended to create individual accounts for every staff member who uses the system, rather than sharing a single login, so that the audit trail accurately reflects who performed each action.

Chapter 10.3

Reports & Analytics

The Reports module is the intelligence centre of SchoolPro. It aggregates data from every other module into fourteen specialised report views.

Available Report Categories

ReportWhat It Shows
OverviewHigh-level summary: total students, total income, total expenses, and net position for the selected period.
MonthlyMonth-by-month breakdown of income and expenses with trend visualisation.
IncomeAll income streams: fees, book sales, uniform sales, and other income, broken down by category and date.
ExpensesAll expenditure by category (utilities, maintenance, stationery, etc.) with totals and percentages.
Profit & LossTotal income minus total expenses, showing the school's net financial performance for any period.
PayrollStaff salary payments: who was paid, how much, when, and the total payroll cost per month.
By ClassFinancial breakdown per class: total fees expected, total collected, total outstanding, and collection rate percentage.
DebtorsStudents with outstanding balances, ranked by amount owed, with contact details for follow-up.
AttendanceAttendance rates by class and by student, showing average attendance percentages and trends.
AcademicClass averages, subject performance, pass rates, and top-performing students.
InventoryBook and uniform stock levels, sales volumes, and revenue from inventory items.
WelfareBehavioral note summaries, health record statistics, and library loan activity.
ActivitySystem usage patterns: user login frequency, most active modules, and data entry volumes.
ExportExport any dataset as CSV for use in Excel or other spreadsheet applications.

All reports can be filtered by term, session, and date range. Financial reports respect the active term's date boundaries by default but can be overridden to show any custom period. The Export tab allows you to download raw data from any module — students, ledger entries, attendance records, results — as CSV files for further analysis in Excel.

Chapter 10.4

Academic Sessions & Terms

Sessions define the academic year structure. SchoolPro follows the Nigerian format: a session spans two calendar years (e.g. 2025/2026) and contains three terms.

Session Structure

Each session contains exactly three terms:

TermPeriodCalendar Year
1st TermSeptember — DecemberFirst year (e.g. 2025)
2nd TermJanuary — AprilSecond year (e.g. 2026)
3rd TermLate April — JulySecond year (e.g. 2026)

The session does not change when January arrives. If you are in session 2025/2026, it remains 2025/2026 all the way through 3rd Term in July 2026. The session only changes in September when the new academic year begins.

Auto-Detect Feature

Every time you visit the Sessions page, the system checks today's date against the Nigerian academic calendar and determines which session and term should be active. It displays a banner showing its detection result in three possible states:

🟢 Exact Date Match

Today falls within a term's configured start and end dates. The system confirms you are in the correct term.

🔵 Calendar Rule

The session exists but dates may not be set. The system uses calendar rules to identify the correct term and offers to activate it.

🟡 New Session Needed

The calculated session does not exist yet. The system offers to create it with pre-filled dates and activate the correct term — all in one click.

Each term has configurable start and end dates. These dates are used by the attendance system, the report card date range, and the financial reports. Setting accurate term dates ensures all modules produce correct results for the term in question.

Chapter 10.5

Audit Log

Every significant action in SchoolPro is recorded in the Audit Log — who did what, when, and from where.

The Audit Log page displays a chronological list of all recorded actions. Each entry shows the timestamp, the user who performed the action, the action type (e.g. "student_created", "fee_collected", "term_activated", "login", "logout"), and a description with relevant details. The log is read-only and cannot be modified or deleted by any user, including administrators. This provides an unalterable record of everything that has happened in the system, which is essential for accountability, troubleshooting, and dispute resolution.

Common audit entries include: user logins and logouts, student registration and edits, fee collections and voids, result entries and modifications, promotion executions, session and term changes, backup operations, and settings modifications.

Chapter 10.6

Settings

The Settings page is the control panel for the entire system. It contains eight configuration tabs that govern how SchoolPro operates.

Settings Tabs

School Setup

Configure your school's name, motto, address, phone, email, type, head teacher details, logo, brand colours, registration number, year of establishment, and receipt footer text. All of this information flows into printed documents.

Grading

Define the grading scale (grade boundaries, grade letters, remarks, and grade point values), the score breakdown structure (CA components and their maximum marks), and the passmark. Changes here affect how all future results are graded and how report cards display performance data.

Currency

Select the active currency from twelve options: Nigerian Naira (₦), Ghanaian Cedi (GH₵), Kenyan Shilling (KSh), South African Rand (R), West African CFA (CFA), US Dollar ($), British Pound (£), Tanzanian Shilling (TSh), Ugandan Shilling (USh), Rwandan Franc (FRw), Central African CFA (FCFA), and Botswana Pula (P). The selected currency symbol appears throughout the system — on dashboards, receipts, reports, and all financial displays.

Terms

Quick access to manage term dates for the current session without navigating to the full Sessions page.

Attendance

Configure attendance-related settings such as the working days per week and any attendance thresholds the school uses.

Network

View network sharing information. SchoolPro can be accessed from other devices on the same WiFi network — for example, a teacher marking attendance on their phone. This tab shows the IP addresses and URLs that other devices can use to connect.

License

View your current license status, including the license key, school name, machine ID, and activation date. You can also enter a new license key if you receive an updated one.

Backup & Restore

Covered in detail in the next chapter.

Chapter 10.7

Backup & Restore

Your school's data is the most valuable thing in SchoolPro. Regular backups ensure that even if your computer is lost, stolen, or damaged, your data survives.

Local Backup (Download JSON)

Navigate to Settings → Backup & Restore. Click Download Full Backup to save a complete JSON file containing every record in your database — students, staff, guardians, ledger entries, results, attendance, everything. The file is named with your school name and timestamp (e.g. "SchoolPro-Backup-BrightFuture-20260323.json"). Save this file to a USB drive, external hard disk, or cloud storage folder.

!
Backup Weekly — At Minimum If your computer's hard drive fails and you have not backed up, all your school data is lost permanently. We strongly recommend backing up at least once a week, and saving copies to at least two different locations (e.g. USB drive and cloud storage).

Restoring from Backup

To restore data from a backup file, click Choose Backup File in the Restore section, select your JSON backup file, and confirm. The system will show a preview of what the backup contains (number of students, receipts, results, etc.) before you confirm the restore. Restoring replaces your current data with the backup data — this is a destructive operation and should only be done when recovering from data loss or migrating to a new computer.

Restore Replaces Everything When you restore from a backup, all current data is replaced with the backup data. Any records created after the backup was taken will be lost. Always create a fresh backup before restoring, just in case.

Chapter 11

Troubleshooting & FAQ

Common issues and their solutions. If your problem is not listed here, contact SchoolPro support.

Frequently Asked Questions

The system shows "Backend offline" on the Dashboard

This means the SchoolPro backend server is not running. Ensure the application was started correctly. If you are running SchoolPro from the desktop shortcut, close and restart it. If the problem persists, restart your computer and try again. The frontend (what you see) and the backend (the data engine) must both be running for the system to work.

I forgot the admin password

Contact SchoolPro support. They can guide you through resetting the password using a backend recovery tool. For security, this cannot be done through the interface alone.

Receipt printing is not working

SchoolPro generates receipts as HTML pages that open in a new browser tab with a print dialog. Ensure that pop-up blockers are not preventing the new tab from opening. If using a thermal printer, ensure it is connected, powered on, and set as the default printer in your computer's settings. For 58mm printers, you may need to adjust the paper size in your printer preferences.

Students appear in the wrong class after promotion

This usually means the destination class was incorrectly selected during promotion. Navigate to the Students page, find the affected students, and manually change their class assignment. For future promotions, double-check the class grade levels to ensure they form a correct sequence.

I cannot see certain menu items in the sidebar

Your user role determines which modules you can access. If you are a Teacher, you will not see financial modules. Ask your Administrator to verify your role, or to change it if you need additional access.

Report cards show "No results" for some students

This means results have not been entered for those students in the current term. Navigate to the Results page, select the relevant class and subject, and enter the missing scores. Report cards only display data that has been entered — they cannot show what does not exist.

The Ledger shows an incorrect balance for a student

Student balances are calculated from two sources: what they owe (from Fee Structures) and what they have paid (from Ledger entries). Check that the Fee Structure for their class is correct and that all payments have been recorded. If a payment was recorded in error, void the receipt rather than deleting it — voiding creates a proper reversal entry and maintains the audit trail.

How do I transfer SchoolPro to a new computer?

First, create a full backup on your old computer (Settings → Backup → Download Full Backup). Install SchoolPro on the new computer and activate your license (you may need to contact support for a license transfer if it is tied to the old machine). Once SchoolPro is running on the new computer, restore from your backup file. All your data will be transferred.

Can multiple people use SchoolPro at the same time?

Yes. SchoolPro runs on your main computer and is accessible from other devices on the same WiFi network. The Settings → Network tab shows the URL that other devices can use. The teacher can mark attendance on their phone while the bursar collects fees on the main computer. Each person logs in with their own user account.

What happens when NEPA takes light (power outage)?

SchoolPro saves data to the database immediately when you click Save. Any data you saved before the power went out is safe. Unsaved data in an open form will be lost, so it is good practice to save frequently. When power returns and you restart SchoolPro, everything will be exactly as you left it — including which page you were on.

Does SchoolPro need internet to work?

No. SchoolPro runs entirely on your computer using a local database. The only operations that require an internet connection are license activation (a one-time process when you first install the software) and Google Drive backup (an optional feature for cloud storage). All core operations — student management, fee collection and receipt printing, results entry and report card generation, attendance marking, financial tracking, and every other daily task — work completely offline without any internet dependency. This is one of SchoolPro's most important advantages for Nigerian schools, where internet connectivity can be unreliable or expensive. Your school's operations will never be interrupted by a network outage.

How do I handle a new academic session?

When September arrives and a new academic year begins, navigate to the Sessions page. The Auto-Detect system will notice that a new session is needed based on the current date and display a prominently coloured banner offering to create it. Click "Create and Activate" and the new session with three terms is created automatically, with Nigerian academic calendar dates pre-filled and the 1st Term activated and ready for use. Fee structures from the previous session are automatically copied over to the new term, so you only need to adjust amounts that have changed rather than rebuilding everything from scratch. See Chapter 14 for the complete new-session checklist.

Can I use SchoolPro for multiple school branches?

Each SchoolPro installation is designed for a single school on a single computer. If you operate multiple school branches, each branch would need its own license and installation. The data for each branch is completely independent — each school has its own students, staff, fees, results, and financial records. This actually works in your favour because each branch has complete control over its own data without any dependency on a central server or internet connection between branches.

What if I accidentally void a receipt or enter the wrong amount?

SchoolPro uses an append-only ledger system, which means entries are never truly deleted. If you void a receipt, the original entry remains in the ledger (marked as voided) and a reversal entry is created to offset it. This preserves the complete audit trail. If you entered the wrong amount for a payment, void the incorrect receipt and create a new payment with the correct amount. The student's balance will reflect the correction automatically. The Audit Log will show exactly what happened, when, and who did it — providing complete transparency and accountability.

How many students can SchoolPro handle?

SchoolPro uses a high-performance SQLite database that can comfortably handle thousands of students. The student list uses server-side pagination, loading only the records you need at any given time, so the interface remains fast regardless of how many students are enrolled. Schools with 50 students and schools with 5,000 students will both experience smooth performance. The database file grows as you add more records, but even with years of data accumulation, it rarely exceeds a few hundred megabytes — trivial for any modern computer. If your school has been running for many years and the database grows very large, you can archive old sessions' data using the backup and restore system.

Can I customise the report card design?

The report card template uses your school's logo, name, motto, address, and brand colours as configured in Settings → School Setup. The overall layout — including the results table format, grading scale, performance bars, and comment sections — is professionally designed and consistent across all report cards. The grading scale, score breakdown components, and passmark threshold are fully customisable in Settings → Grading. The auto-generated teacher and head teacher comments adapt to each student's performance data. While the visual template itself is not modifiable through the interface (to ensure professional consistency), the content it displays is entirely driven by your school's configuration.

What happens to data when a student is archived?

When a student moves to the Archives (through graduation, transfer, withdrawal, or promotion decision), all their data is preserved completely. Their academic results, attendance records, fee payment history, behavioral notes, health records, and every other record remains intact in the database. The only change is their status — they no longer appear in the active student list, active class rosters, or current-term fee calculations. You can search for any archived student at any time and view their complete history. If needed, an administrator can restore an archived student back to active status, which returns them to the main student list with all their data intact. Permanently deleting an archived student is only possible if they have no financial records, which prevents the loss of accounting data.

How do I export data to Excel?

Navigate to Reports → Export tab. Here you can download data from any module as CSV files, which open directly in Microsoft Excel, Google Sheets, or any spreadsheet application. Available exports include the complete student list, staff list, ledger transactions, attendance records, results data, and more. CSV exports include all fields for each record, giving you maximum flexibility for analysis, mail merge, government reporting, or any other purpose. Individual modules also offer export options — for example, the Students page has an "Export CSV" button that downloads the current view's data.

Understanding the Financial System

SchoolPro's financial architecture follows established accounting principles adapted for the school environment. Understanding how the pieces fit together helps you use the system effectively and troubleshoot any issues that arise.

The financial system has four layers. The first layer is Fee Structures, which define what is owed. Each class has a set of fee items with specific amounts, and these are tied to the current term. When you view a student's balance, the system calculates the total of all mandatory fee items for their class in the current term — this is what they owe.

The second layer is the Ledger, which records what has happened. Every financial transaction — fee payment, book sale, uniform sale, other income, expense, salary payment — creates a ledger entry. Each entry has a date, amount, type, description, and optional student link. The ledger is append-only: entries are never modified or deleted, only added. Voiding a transaction adds a reversal entry rather than removing the original.

The third layer is Receipts, which are the physical proof of transactions. Each fee payment generates a receipt with a unique sequential number. Receipts can be printed in three formats (58mm thermal, 80mm thermal, and A4 PDF) and reprinted at any time. Voided receipts remain in the system marked as void, and the audit trail records who voided them and when.

The fourth layer is Reports, which aggregate everything into actionable intelligence. The Cashbook shows daily totals, the Profit and Loss report shows the term's net result, the Debtors report shows outstanding balances, and the Class-by-Class report shows collection rates. All reports draw from the same ledger data, ensuring consistency across all views.

When these four layers are working together correctly, the system is self-consistent: the sum of all income ledger entries matches the sum shown in the Income report, the sum of all expense ledger entries matches the Expenses report, and each student's outstanding balance equals their total fees owed minus their total payments made. If any of these do not match, it indicates a data entry issue that should be investigated through the Audit Log.

Auto-Logout & Session Security

SchoolPro automatically logs you out after 30 minutes of inactivity (no mouse movement, keyboard input, or scrolling). This protects your data if you walk away from the computer. When this happens, you will see a "Session expired" message and be returned to the login screen. Simply log in again to continue — you will be taken back to the page you were on.

Your login session is stored in the browser's session storage, which means it persists across page reloads within the same browser tab but is cleared when you close the browser entirely. This is a security feature — closing the browser logs you out.

Data Safety Best Practices

Back up weekly — Download a full backup every Friday and save it to a USB drive. Keep at least two recent backups at all times.
Use individual accounts — Create a separate user account for every staff member who uses SchoolPro. Never share the admin password.
Save frequently — Click Save after entering data, especially during long entry sessions like results or bulk fee collection.
Keep your computer secure — Use a Windows password, keep the computer in a secure location, and do not install untrusted software that could damage your database.
Use a UPS or inverter — A small uninterruptible power supply protects against data corruption from sudden power cuts during write operations.

Chapter 12

Daily Operations Workflow

This chapter describes the typical day-to-day usage patterns for each staff role. Following these workflows ensures data is entered consistently and nothing falls through the cracks.

Administrator / Proprietor — Daily Routine

The administrator or school proprietor is typically the first person to check SchoolPro each morning and the last to review it before closing. Your daily workflow should begin with the Dashboard, which provides an at-a-glance summary of your school's current state: total active students, income collected today and this term, expenses recorded, and the net financial position. Pay attention to any unusual numbers — a sudden drop in student count might indicate a data entry error, while an unexpected spike in expenses could signal an issue worth investigating.

After reviewing the Dashboard, check the Cashbook to see yesterday's financial activity if you were away. The Cashbook shows every Naira that came in (fees, book sales, uniform sales, other income) and every Naira that went out (expenses, salaries) for any given day. This is your daily financial heartbeat. Compare the digital totals with the physical cash count or bank statement to verify accuracy.

If your school is currently in the middle of a fee collection period (typically the first few weeks of each term), review the Debtors list through the Fees page. This shows you which students still have outstanding balances, how much they owe, and which classes have the lowest collection rates. Use this information to guide follow-up communications with parents. Many administrators print the debtor list weekly and share it with class teachers for targeted follow-up during parent drop-off and pick-up times.

At the end of each day, consider glancing at the Audit Log to verify that all activities recorded match expectations. If a staff member collected fees, you should see corresponding ledger entries. If attendance was marked, you should see attendance records for the day. The Audit Log is your safety net for ensuring the system is being used correctly by all staff. Any discrepancy between what should have happened and what the audit log shows deserves investigation.

Weekly, run the Profit and Loss report from the Reports page to track the school's financial trajectory for the term. Monthly, review the class-by-class fee collection report to identify classes with low payment rates and plan targeted follow-up campaigns. These routine check-ins prevent small issues from becoming large problems.

Bursar / Accountant — Daily Routine

The bursar's day revolves around the financial modules. Begin by navigating to the Fees page. Parents typically arrive in the morning to make payments before school begins or in the afternoon at pickup time. For each parent who comes to pay, search for the student by name or admission number, click "Collect Payment," enter the amount, select the payment method (Cash, Bank Transfer, POS, or Cheque), and confirm. The system immediately generates a receipt which can be printed for the parent.

For thermal printer users, the receipt prints on a small slip that can be torn off and handed to the parent. For A4 printing, the receipt opens in a new tab where you click the browser's Print button. Many bursars prefer to batch-print receipts at the end of each payment session rather than printing one at a time — the Receipts page allows you to view and reprint any receipt from the day. Note that SchoolPro displays amounts both in figures and in words on receipts (e.g. "₦80,000 — Eighty Thousand Naira Only") which is a standard accounting requirement for Nigerian schools.

Throughout the day, record any expenses as they occur. Did the school buy diesel for the generator? Record it in Expenses with the amount, "Utilities" category, and payment method. Did a parent buy textbooks? Process the sale through the Books module — search for the student, select the books, and confirm. The sale is recorded in the ledger automatically. Did a parent purchase uniforms? Process through the Uniforms module in the same manner. Each of these transactions creates a ledger entry, so the school's complete financial picture updates in real time.

If the school receives money that is not a fee payment, book sale, or uniform sale — such as a donation, facility rental payment, or event registration fee — record it in the Other Income module. This ensures all revenue streams are captured and appear in the financial reports.

Before leaving for the day, the bursar should review the Cashbook to ensure the day's totals match the physical cash in hand plus any POS or bank transfer records. This daily reconciliation prevents discrepancies from accumulating over time. If numbers do not match, check the Ledger for the day's transactions to identify any missing or incorrect entries. Common causes of discrepancies include a payment that was collected but not entered, an expense that was paid but not recorded, or a data entry error in the amount.

At the end of each month, the bursar should process salary payments for all staff through the Salaries module. Select each staff member, confirm the amount (adjusting for any bonuses or deductions), and process the payment. Each salary payment is recorded in the ledger and appears in the Payroll report, which provides a complete picture of the school's staff costs.

Secretary / Receptionist — Daily Routine

The secretary handles the widest variety of daily tasks. Morning duties typically include marking attendance for early arrivals (if the school does not use class-by-class teacher marking), registering any new students who arrive for admission, and updating guardian contact information as parents call or visit with changes.

When a new student arrives for registration, navigate to Students, click Add Student, and fill in all required fields. The admission number should follow your school's sequential format — for example, ADM/2026/001 for the first student admitted in 2026. Ensure you enter the admission number consistently, as this is the primary identifier used across all modules. Link the student to an existing guardian or create a new guardian record. Assign the student to the correct class. Once saved, the student immediately appears in the class roster for attendance, results, and fee purposes. Their outstanding fee balance is calculated automatically based on the fee structure for their class.

If a parent requests a transfer certificate for a leaving student, navigate to the Transfer Cert page, search for the student, fill in the reason for leaving and the destination school name (if known), and generate the certificate. The system produces a formal document with the school's letterhead, the student's complete academic history, conduct assessment, and fees clearance status. Print the certificate, have it signed by the head teacher, add the school stamp, and hand it to the parent.

The secretary may also handle fee collection during peak times, process book and uniform sales when the bursar is unavailable, issue library books, and record any incidents in the behavioral notes or health records modules. If a student visits the sick bay, the secretary often records the visit in Health Records — the student's name, the nature of the complaint, any treatment given, whether the parents were called, and whether the student was sent home.

For the library, when a student borrows or returns a book, process it through the Library module. When parents call to update their phone number or address, update the guardian record immediately. When a teacher reports a behavioral incident, the secretary may be asked to record it in the Behavioral Notes module. The breadth of the secretary role is why SchoolPro gives this user type access to most modules — they are the operational backbone of the school and need flexibility to handle whatever task arises.

Teacher — Daily Routine

Teachers interact with SchoolPro primarily for attendance marking and results entry. Each morning, the class teacher should navigate to the Attendance page, select their class, and mark each student as Present, Absent, Late, or Excused. This takes roughly two to three minutes for a class of thirty students. The status buttons toggle with each click, cycling through the options. Green means Present, Red means Absent, Amber means Late, and Blue means Excused. Save the attendance when all students are marked. The attendance data immediately contributes to the term's attendance summary that will appear on each student's report card.

During exam periods or after continuous assessment tests, teachers use the Results page to enter scores. Select your class, then your subject from the dropdown, and enter scores in the broadsheet grid. The grid shows each student's name vertically and the score components horizontally (CA1, CA2, CA3, Assignment, Exam). The system validates each entry against the maximum marks for that component — you cannot enter 15 for a CA1 that has a maximum of 10, and the cell will reject the invalid value. Totals and percentages calculate automatically as you type, giving you immediate feedback on each student's performance.

Save your work frequently, especially during long entry sessions. If the power goes out or the browser crashes, any unsaved data will be lost. A good practice is to save after entering scores for every five to ten students. For schools with many subjects and classes, teachers should enter results as each assessment is completed rather than waiting until the end of term. This spreads the workload and makes the end-of-term rush much more manageable.

Teachers with access to Behavioral Notes can record notable student behaviour throughout the term. A student who performed exceptionally well in class? Record a Positive note. A disciplinary issue? Record a Negative note with a clear description of what happened. These records build over time to create a comprehensive picture of each student's conduct and character, which can be invaluable during parent-teacher meetings, report card preparation, and any disciplinary hearings.

Librarian — Daily Routine

The librarian's workflow centres on the Library module. When students come to borrow books during library periods or break time, search for the student by name or admission number, select the book from the catalogue, set the due date (typically two weeks from the loan date), and confirm. The system deducts one from the book's available copies and creates a loan record. When students return books, find the loan record in the Loans tab and mark it as returned. The available count increments back up automatically.

At the start of each day, check for overdue loans — these are highlighted in red in the Loans list. Follow up with the relevant students or their class teachers to remind them about returning the books. Some librarians keep a printed list of overdue loans on their desk for quick reference when students visit the library.

When new books arrive — whether purchased, donated, or received from the government — add them to the catalogue in the Books tab with the title, author, ISBN, category (Textbook, Fiction, Reference, etc.), and the number of copies received. If you receive additional copies of an existing book, update the total copies count rather than creating a duplicate entry. Keeping the catalogue accurate ensures that available copy counts are always correct.

Chapter 13

End-of-Term Procedures

The end of each term is the busiest period for data in SchoolPro. Results must be finalised, report cards generated, debtors followed up, and financial reports prepared. This chapter provides a step-by-step checklist for a smooth term closure.

Two Weeks Before Term Ends

Remind teachers to complete CA scores — All continuous assessment marks (CA1, CA2, CA3, Assignment) should be entered in the Results module before exams begin. Run a quick check by visiting the Results page and scanning each class and subject to ensure all scores are filled in. Empty cells at this stage will result in incomplete report cards. Send a reminder to all teachers with a deadline — for example, "All CA scores must be entered by Friday."
Verify attendance records — Check the Attendance reports to confirm that attendance has been marked consistently throughout the term. Days where attendance was not marked will show as gaps. It is difficult to retroactively reconstruct accurate attendance data, so identify and fill any gaps now while memories are still fresh. The class teachers can help recall which students were present on specific days.
Follow up on debtors — Navigate to Fees and review the Debtors tab. Generate a debtor list by class and share it with class teachers for parent follow-up. Some schools send SMS reminders to parents with outstanding balances — having the accurate amount from SchoolPro makes these communications precise and professional.
Record any outstanding expenses — Ensure all expenses incurred during the term are recorded. Check with the procurement officer, maintenance team, and administrative staff for any unrecorded purchases or payments.

Exam Week

Enter exam scores promptly — As each subject's exam is completed and marked, teachers should enter the Exam scores in the Results module immediately. Do not wait until all exams are finished — enter them paper by paper, subject by subject, to spread the workload and catch errors early. If a teacher discovers a scoring error after entering results, they can simply return to the Results page and edit the affected cells.
Spot-check results — Administrators or the academic head should sample a few classes and subjects to verify that scores look reasonable. Common issues include: all zeros in a column (teacher may have forgotten to enter scores), scores exceeding the maximum (data entry error), or identical scores for every student (copy-paste error). Catching these issues before report cards are printed saves the embarrassment of distributing incorrect report cards to parents.

After Exams — Report Card Generation

Navigate to Report Cards — Select each class one by one and review the generated report cards. The system automatically calculates totals, percentages, grades, and class positions. It also generates teacher comments based on the student's performance. Check that grades are calculating correctly (verify a few manually), positions are ranking correctly (1st place should have the highest average), and the auto-generated teacher comments make sense and read naturally.
Export class-by-class PDFs — For each class, click "Export Class" to generate a multi-page PDF of all report cards in that class. Save these files with descriptive names (e.g. "ReportCards-Primary3-1stTerm-2025-2026.pdf"). You can also export a single student's report card by clicking the PDF icon on their individual card, which is useful when a parent requests a replacement copy.
Print and distribute — If your school prints report cards in-house, use the A4 print option. Each report card is designed to fit on one A4 page with colour-coded performance indicators, the school logo, and a professional layout. If you use an external printing service, you can share the PDF files directly. Some schools print only the report cards for students who have cleared their fees, using the debtors list to identify and exclude students with outstanding balances.

Financial Closing

Record all final expenses — Ensure every expense for the term has been entered, including end-of-term purchases, event costs, closing party expenses, and any outstanding vendor payments. The goal is to have a complete financial picture of the term.
Process final salaries — If staff salaries for the last month of the term have not yet been recorded, process them through the Salaries module. Some schools pay a 13th-month bonus at the end of the year — record this as a separate salary payment with a note indicating it is a bonus.
Generate financial reports — Navigate to Reports and review the Profit and Loss report for the term. This shows total income from all sources minus total expenditure from all categories, giving you the term's net financial result. Also review the Income report (to see which revenue streams performed well), the Expenses report (to identify areas of high spending), and the Class-by-Class report (to see which classes have the highest and lowest fee collection rates). Save or print these reports for school management and board meetings.
Back up your data — This is critically important at term end. Go to Settings → Backup and Restore and download a full backup. Save it to at least two separate physical locations — for example, a USB drive that you keep at home and a cloud storage service like Google Drive or Dropbox. Label the file clearly with the term and session. This backup captures the complete state of your school's data at the end of the term and is your insurance against any future data loss.
Term-End Backup This is the most important backup of the term. It captures the complete state of your school's data including all results, generated report cards, financial records, and attendance summaries for the entire term. Guard this backup file carefully — it is irreplaceable.

End of 3rd Term — Additional Steps

At the end of 3rd Term (July), you have additional responsibilities beyond the normal term-end process. This is when the academic year concludes and students must be promoted to the next class for the coming session.

Execute promotions — Navigate to the Promotions page. Work through each class from the highest to the lowest. For each class, use Auto-Decide to generate promotion recommendations based on academic performance, review each student's decision, adjust any that need changing, and click Execute. Students who pass are promoted to the next class, students who fail repeat their current class, and final-year students are graduated to the Archives.
Verify class rosters — After promotions, check each class's student count to ensure it looks correct. A common issue is orphaned students who were missed during promotion — they will still appear in their old class. Navigate through each class in the Students page and verify the list matches your expectations.
Prepare for next session — While the school is on holiday, plan your fee structure updates, any changes to subjects or classes, and new staff user accounts that will be needed. This preparation makes the September startup much smoother.
Chapter 14

Starting a New Academic Session

When September arrives and a new academic year begins, follow these procedures to set up SchoolPro for the new session smoothly and efficiently.

Before School Resumes

Create the new session — Go to the Sessions page. The Auto-Detect feature will recognise that a new session is needed based on today's date and display a banner offering to create it. Click "Create and Activate" to set up the new session (e.g. 2026/2027) with three terms and pre-filled dates based on the Nigerian academic calendar. The 1st Term will be activated automatically.
Review fee structures — Fee structures from the previous session are automatically copied to the new term. Navigate to Fee Setup to review and adjust amounts. If school fees have increased, update the amounts for each class. If new fee items have been introduced, add them. If any items are discontinued, remove them. Accurate fee structures must be in place before the first parent comes to pay.
Create accounts for new staff — If new teachers or administrative staff have joined, create their user accounts in the Users page. Assign the appropriate role — Teacher, Secretary, Bursar, or other — and provide them with their login credentials. Brief them on how to use SchoolPro for their specific tasks.
Update school settings — If anything about the school has changed (new head teacher, updated phone number, revised motto), update it in Settings → School Setup so that all new documents reflect the current information.

First Week of the New Session

Register new students — As new admissions arrive, register each one through the Students page. Create their guardian records, assign them to classes, and enter as much biographical data as possible. For schools with large intake numbers, prepare a CSV file in advance with all new student data and use bulk import to save time.
Begin fee collection — Parents typically pay fees during the first week. Process each payment through the Fees page — the system calculates what each student owes based on their class's fee structure and tracks payments against this amount. Print receipts for parents immediately or batch-print at the end of each day.
Start attendance tracking — From the very first day, have every class teacher mark attendance. Consistent tracking from day one gives you accurate records for the entire term. Late students should be marked as Late, not Present, to maintain data accuracy.
Verify class rosters — After promotions and new admissions, review each class's student list to ensure everyone is correctly assigned. Look for students who should have been promoted but were missed, or new students who were assigned to the wrong class.
Fully Operational By the end of the first week, your new session should be running smoothly: session and term are active, classes are populated, fee structures are defined, attendance is being marked daily, and fee collection is underway. The remaining modules — results, report cards, and promotions — come into play as the term progresses.
Chapter 15

Multi-Device Network Access

SchoolPro runs on your main computer but can be accessed from other devices on the same WiFi network — tablets, phones, and other computers — allowing multiple staff members to work simultaneously.

How Network Access Works

When SchoolPro starts, it automatically makes itself available on your local network. Any device connected to the same WiFi router as the main computer can open a web browser and navigate to SchoolPro's address. The address is shown on the Settings → Network tab and typically looks like https://192.168.1.100:5173 where the numbers represent your computer's local IP address on the network.

Each person accessing SchoolPro from a different device must log in with their own user account. This means the teacher can be marking attendance on their phone in the classroom, the bursar can be collecting fees on a tablet at the front desk, and the administrator can be reviewing reports on the main computer in the office — all at the same time, all seeing and modifying the same central data. When the teacher saves attendance, the administrator can see it immediately in the reports. When the bursar collects a fee, the ledger updates for everyone.

Camera Access for Face Attendance

If you want to use the Face Attendance feature from a phone or tablet (to take advantage of their built-in camera), the connection must use HTTPS. SchoolPro automatically configures HTTPS with a self-signed certificate. When you first access SchoolPro from a phone, the browser will display a security warning — this is normal and expected for self-signed certificates. Tap "Advanced" and then "Proceed" to continue. Once past this one-time warning, the phone's camera will be available for face-based attendance marking.

Practical Tips

Position your WiFi router centrally in the school building for the widest possible coverage. The main computer running SchoolPro should ideally have a wired ethernet connection to the router for maximum reliability, while satellite devices (phones, tablets) connect via WiFi. SchoolPro uses minimal bandwidth — the data transmitted is just text and small numbers — so even a basic WiFi connection is more than sufficient.

The main computer must remain powered on and running SchoolPro for other devices to connect. If it shuts down due to a power outage, all connected devices lose access until it restarts. A small UPS (uninterruptible power supply) or inverter dedicated to the main computer is a worthwhile investment that costs less than a week's worth of generator diesel and protects both your data and your multi-device access.


Appendix

Quick Reference

Complete Module Map

SchoolPro Module Architecture

People
Students · Staff · Guardians · Archives
Academic
Classes · Subjects · Results · Report Cards · Promotions · Exams/CBT · Timetable
Finance
Fee Setup · Fees · Books · Uniforms · Other Income · Expenses · Salaries · Debtors · Cashbook · Ledger · Receipts
Operations
Attendance · Face Attendance
Welfare
Behavioral Notes · Health Records · Events · Library
System
Transfer Certs · ID Card Engine · Users · Reports · Sessions · Audit Log · Settings

Default Score Breakdown

ComponentLabelMaximum Marks
CA11st Continuous Assessment10
CA22nd Continuous Assessment10
CA33rd Continuous Assessment10
AssignmentAssignment / Project10
ExamEnd-of-Term Examination60
Total100

Default Grading Scale

Score RangeGradeRemarkGrade Point
70 — 100AExcellent5
60 — 69BVery Good4
50 — 59CGood3
45 — 49DFair2
40 — 44EPass1
0 — 39FFail0

Nigerian Academic Calendar Reference

MonthTermSession
September — December1st TermCurrentYear / NextYear
January — April2nd TermPreviousYear / CurrentYear
May — July3rd TermPreviousYear / CurrentYear
AugustVacationPreparing for next session

Example: In March 2026, you are in 2nd Term of the 2025/2026 session. In October 2026, you are in 1st Term of the 2026/2027 session.

Supported Currencies

CodeSymbolName
NGNNigerian Naira
GHSGH₵Ghanaian Cedi
KESKShKenyan Shilling
ZARRSouth African Rand
XOFCFAWest African CFA
USD$US Dollar
GBP£British Pound
TZSTShTanzanian Shilling
UGXUShUgandan Shilling
RWFFRwRwandan Franc
XAFFCFACentral African CFA
BWPPBotswana Pula

Glossary of Terms

TermDefinition
SessionA complete academic year spanning two calendar years (e.g. 2025/2026). Each session contains three terms. In the Nigerian system, the session begins in September and ends in July of the following year.
TermOne of three academic periods within a session. 1st Term runs from September to December, 2nd Term from January to April, and 3rd Term from late April to July. Each term has configurable start and end dates.
Admission NumberA unique identifier assigned to each student at the time of registration. This number follows the student throughout their entire time at the school and is used across all modules — fees, results, attendance, and reports. Common formats include ADM/2025/001 or simply sequential numbers like 001, 002, 003.
LedgerThe master financial record containing every monetary transaction. The ledger is append-only — entries cannot be modified or deleted, only voided (which creates a reversal entry). This ensures a complete and unalterable financial history.
Fee StructureThe defined set of fee items and amounts for a specific class in a specific term. Fee structures determine how much each student owes and are the basis for calculating outstanding balances.
BroadsheetA tabular view of all students' results for a particular class and subject, displayed in a spreadsheet-like grid with students as rows and score components as columns. This is the primary interface for entering and viewing academic results.
CA (Continuous Assessment)Ongoing assessment scores given throughout the term, as opposed to the end-of-term examination. SchoolPro supports up to three CA scores plus an assignment score, each with a configurable maximum mark.
PassmarkThe minimum percentage a student must achieve to be considered as having passed a subject. The default is 40%. This value is used by the auto-grading system and the promotions auto-decide feature.
VoidingThe process of cancelling a receipt or transaction without deleting it. Voiding creates a reversal entry in the ledger that offsets the original transaction, maintaining the complete audit trail while correcting the financial balance.
Audit LogA chronological, read-only record of every significant action performed in the system. Each entry records who performed the action, what they did, when they did it, and relevant details. The audit log cannot be modified or deleted by any user.
ArchivesThe storage area for non-active students — those who have graduated, transferred, or withdrawn. Archived students retain all their historical data and can be restored to active status if needed.
Grade LevelA numeric value assigned to each class that determines the ordering of classes from lowest to highest. Grade levels are used by the promotions system to determine which class a student should advance to when promoted.

Getting Help & Support

If you encounter an issue not covered in this handbook, or if you need assistance with any aspect of SchoolPro, there are several ways to get help. First, review the relevant chapter in this handbook — many common questions are addressed in the Troubleshooting section of Chapter 11. Second, contact SchoolPro support through the channels provided with your license purchase. When contacting support, always include your school name, license key, a clear description of the problem, and what you were trying to do when the issue occurred. Screenshots are especially helpful for visual issues. Third, check for software updates — some issues may have already been resolved in a newer version of SchoolPro. Your support team can guide you through the update process if an update is available.

For feature requests and suggestions, we welcome feedback from all users. The nursery, primary and secondary schools that use SchoolPro daily are the best source of ideas for improvements, and many features in version 6.0 were added based on feedback from school administrators, bursars, and teachers across Nigeria. Your input helps make SchoolPro better for every school. Visit deskttools.store/academy to purchase licenses, download updates, or recover your license key.

SchoolPro
Offline School Management Software for Primary & Secondary Schools
Version 6.0 · 2025/2026 Edition
This handbook is for licensed SchoolPro users
and school administrators across Nigeria.
© 2026 SchoolPro by DesktTools. All Rights Reserved.