Introduction

Wisdsol Edu Advance

A complete school management platform built for Ghanaian schools — from Crèche to SHS. Manage students, staff, fees, results, attendance, ID cards, and more from one place.

Student & Staff Records

Full profiles, guardians, admissions, payroll, and QR ID cards.

Fees & Finance

Term fees, receipts, scholarships, arrears, accounting ledger, and reports.

Results & Report Cards

Configurable score weights, GES grading, and printable report cards.

QR Clocking & Gate

Scan QR codes or enter PINs to clock students and staff in/out.

Subscription-Based Access

Plans with feature-level access control — Basic, Standard, and Premium.

Multi-School Platform

Each school runs in its own isolated database under one installation.

Logging In

Visit your school's URL (e.g. https://yourschool.edu.gh/s/school-slug/) and enter your username and password. After a successful login you are redirected to your role dashboard.

If you reach the wrong page after login, click My Portal in the sidebar to go to your role-specific dashboard.
Accounts must first be created or approved by an administrator. Use the Request Account Access link on the login page to submit a registration request.
ad.wisdsol.com
W Wisdsol Edu Advance School Management Platform ✓ Student & Staff Records ✓ Fees, Finance & Receipts ✓ QR Clocking & Gate Security Sign In Enter your school credentials Username Password Sign In Forgot password? · Request Account Access Powered by Wisdsol Edu Advance

The login screen — enter your school username and password to access your dashboard.

Change Password NEW

Any logged-in user can change their own password at any time. Go to Account → Change Password in the sidebar, or click your name in the top-right corner and select Change Password.

  1. Enter your Current Password to verify your identity.
  2. Type your new password (minimum 6 characters). A live strength meter shows how secure it is.
  3. Confirm the new password — the field turns green when both match.
  4. Click Update Password. You stay logged in automatically.
Administrators can also reset any user's password from Admin → User Management. Superuser (platform admin) passwords cannot be reset by school-level admins.

Roles & Permissions Reference

Every user is assigned exactly one role. The role controls which sidebar sections, pages, and actions are available. The table below is the complete permission matrix.

✓ Full   V View only   A Approve only   S Submit only   ✗ No access

Module / Action Director Admin Principal Head of
Academics
Accountant Secretary Teacher Security Cook Parent
Students & Staff
View students V
Add / edit students
Import students
View staff
Edit staff
Academic
Classes & subjects VV
Attendance view
Mark attendance
Enter results
Report cards
Assignments V
Finance & Fees
View fees & reports V
Collect fees / receipts
Manage fee structures
Submit expenses S
Approve expenses AA
Arrear balances V
Daily services (feeding)
Accounting / payroll V
Financial analytics & export V V
Security & Gate
Gate kiosk & clocking
Visitor management
ID card printing
Certificates & Awards PREMIUM
Graduation Certificates
Award Certificates
Bulk Certificate Print
Certificates & Awards PREMIUM
Graduation Certificates
Award Certificates
Bulk Cert Print
Administration
User management V
Data import
Data export
Assignment Hub
School settings
Subscription management
Some modules (Accounting, Assignments, Security, Certificates) may be locked depending on your school's subscription plan. A padlock icon appears on locked sidebar links. Graduation & Award Certificates require a Premium subscription.

Subscriptions NEW

Each school on the platform requires an active subscription. Subscriptions are managed by the platform superadmin at Admin → Subscriptions.

Plans
PlanIncluded Features
BasicStudents, Staff, Attendance, Fees, Results
StandardEverything in Basic + Accounting + Assignments
PremiumEverything in Standard + Security & Gate + Graduation & Award Certificates
Statuses
  • Free Trial — 30-day trial on any plan. Full access during trial.
  • Active — Paid subscription with an expiry date.
  • Expired / Suspended — Users see a block page and cannot access the system. The public landing page remains visible.
Feature Gating

When a feature is locked by your plan, its sidebar link shows a padlock icon and clicking any locked URL shows an Upgrade Required page listing what your current plan includes and a link to contact your administrator.

If your subscription is expiring within 7 days, a warning banner appears on the dashboard. Contact your administrator to renew before access is blocked.
ad.wisdsol.com
CURRENT PLAN Standard Per Term · GHS 350 ✓ Active EXPIRES 31 Jul 2025 · 28 days left CAPACITY 500 students · 50 staff Features on Your Plan ✓ Student Management ✓ Fees & Finance ✓ Results & Reports ✗ Full Accounting Not on this plan All Available Plans Basic · GHS 180/term 300 students · core features Switch to Basic Standard · GHS 350/term 500 students · Your plan ✓ Current Plan ★ RECOMMENDED Premium · GHS 580/term 1000 students · all features ✉ Upgrade to Premium

My Subscription & Plan — current plan status, active features grid, and side-by-side plan comparison with upgrade button.

Customise Your Landing Page NEW

Each school has a public-facing branded landing page shown to visitors and parents at your school URL. Admin and Headmaster users can customise it at Admin → Edit Landing Page.

What you can change
  • Hero tagline & subtitle — the main headline and text shown on the landing page.
  • Colour theme — choose from Ocean Blue, Forest Green, Sunrise Orange, Royal Purple, Crimson Red, Dark Slate, or Ghana Gold. Also set exact primary and accent hex colours.
  • Stats bar — three customisable stat labels and values (e.g. "500+ Students", "40+ Teachers").
  • About section — a paragraph about your school and your founding year.
  • Contact details — address, phone, email, Facebook URL, and WhatsApp number.
  • Announcement banner — a coloured strip for notices such as "Enrolment now open".
  • Admission CTA button — links to an external application form or the built-in admissions page.

Click Preview Live Page at the top to see your changes live. Toggle Landing Page Published off to hide the branded page and show a plain sign-in page instead.

School Profile

Set your school's name, motto, address, region, district, phone, email, logo, school type, GES circuit, proprietor, and headmaster via Admin Panel → Core → School Info.

The logo appears on report cards, ID cards, the landing page, and the sidebar brand area. Upload a square PNG or JPG for best results.

Academic Year & Terms

Go to Admin → Academic Years & Terms to create or edit the school calendar.

Quick Setup NEW

For a fresh school, run this command on the server to create the current academic year, all three terms with GES dates, and all classrooms from Crèche to JHS 3 in one step:

python manage.py setup_school
# For SHS schools:
python manage.py setup_school --shs
# Specific year and current term:
python manage.py setup_school --year 2025/2026 --term 2 --shs
Manual Setup
  1. Click Add Academic Year and enter the label (e.g. 2025/2026), start and end dates.
  2. Click Add Term under the year to create Term 1, 2, and 3 with their start/end dates.
  3. Click Set as Current next to the active term.
Only one term can be current at a time. Fees, attendance, and results all default to the current term.

Classes & Subjects UPDATED

Go to Academic → Classes to view, create, and edit classrooms. Each class is linked to a grade level and an academic year. Add sections (A, B, C) for parallel streams.

Grade levels available: Crèche · Nursery 1 · Nursery 2 · KG 1 · KG 2 · Primary 1–6 · JHS 1–3 · SHS 1–3.

Editing a class NEW

Click the amber Edit button on any classroom card (list page) or the Edit Class button in the classroom detail header. You can update the class name, grade level, section, class teacher, capacity, room number, and academic year.

Assignment Hub NEW

Go to Academic → Assignment Hub to manage all teacher assignments in one place across three tabs:

  • Class Teachers — assign a class teacher to each classroom. Filter by "No Teacher Yet" to spot gaps quickly.
  • Staff User Links — link staff records to their system login accounts so they can access their portal.
  • Subject Teachers — assign subject teachers per class-subject pair. Filter by class or search by subject name.
Subjects

Subjects are managed at Academic → Subjects. Each subject has a code, category (Core / Elective / Extra-curricular), and department.

Students

Go to Academic → Students to manage all student records.

Auto-generated IDs NEW

Both Student ID and Admission Number are now optional. Leave them blank when adding a student and the system auto-generates them in the format:

  • Student IDSTU-2025-0001
  • Admission NumberADM-2025-0042

You can still type your own ID format — the auto-generation only triggers when the field is left blank.

Student record fields

Each student stores: name, gender, date of birth, nationality, religion, region of origin, photo, current class, admission date, NHIS number, guardian links, emergency contacts, residential address, and boarding status.

Guardians & Parents

Go to Academic → Guardians. A student can have multiple guardians (father, mother, uncle, etc.) through the StudentGuardian link. Guardians can be linked to a parent portal account.

The first guardian listed appears as the primary contact on the student's ID card and fee receipts.

Admission Applications

Prospective families can apply online via the public form at Apply for Admission on your school's landing page — no account required.

  1. Applicant fills in the form: student details, class applied for, and guardian information.
  2. Admin reviews pending applications at Academic → Admissions.
  3. Approve the application to convert it into a full student record, or reject with a note.

Staff

Go to Academic → Staff. Each staff record holds personal details, employment information, qualifications, bank details, SSNIT number, and a QR clock-in token.

Auto-generated Employee ID NEW

Leave the Staff ID field blank when adding a new staff member. The system generates it automatically as EMP-2025-0001. Existing custom IDs are never overwritten.

User Account Management & Role Privileges

Go to Admin → User Management. Each system user has exactly one role which controls every page, button, and action they can access.

Detailed Role Privileges
Director Highest authority. Unrestricted access.
  • Full access to every module: students, staff, academic records, fees, accounting, payroll, security.
  • Approve and reject expenses submitted by Accountants.
  • View and manage all user accounts across the school.
  • Customise the school landing page and subscription settings.
  • Export any dataset and access all financial analytics and reports.
  • Reset any user password (except platform superusers).
  • Manage school profile, academic year, terms, and classroom setup.
Administrator Same as Director. Operational full access.
  • Full access to every module identical to Director.
  • Approve and reject expense submissions.
  • Manage all users, registration requests, and role assignments.
  • Assign class teachers and subject teachers via the Assignment Hub.
  • Access all exports, analytics, and financial reports.
Principal Full academic authority. Finance view-only.
  • Full access to students, staff, attendance, results, report cards, assignments, ID cards.
  • Manage academic years, terms, classes, subjects, and timetables.
  • View fees, payments, accounting, and financial reports -- but cannot collect or edit.
  • Approve registration requests and manage user accounts.
  • Import/export data. Access Assignment Hub.
  • Cannot collect fees, add fee structures, or manage scholarships.
  • Cannot add expenses, approve expenses, or edit accounting entries.
Head of Academics Academic management. No financial access.
  • Full access to students, staff, attendance, results, report cards, assignments.
  • Manage classes, subjects, timetables, and score weight configuration.
  • Print student and staff ID cards.
  • Assign class teachers and subject teachers via the Assignment Hub.
  • Import student/staff data. Access data export for academic datasets.
  • Manage user accounts for academic staff roles.
  • No access to fees, payments, receipts, accounting, payroll, or any financial module.
  • Cannot see the Finance or Accounting sidebar sections.
Accountant Full financial access. Expenses require approval.
  • View all student and fee records.
  • Collect fees and issue receipts for any student.
  • Create and manage fee structures, scholarships, and service plans.
  • Record other income (grants, donations, etc.).
  • Submit expenses for approval -- expenses remain Pending until an Admin or Director approves them.
  • Full access to accounting: chart of accounts, journal entries, trial balance, budgets, bank reconciliation.
  • Process payroll for all staff.
  • Export financial reports and access the Financial Analytics dashboard.
  • Import and manage arrear balances.
  • Cannot approve their own (or any) expense submissions -- approval is reserved for Admin/Director.
  • No access to student results, report cards, or academic management.
Secretary Admissions, records, and basic fee collection.
  • Add, edit, and import student records and guardian information.
  • Manage admission applications and registration requests.
  • View staff records (cannot edit).
  • Collect fees and print receipts for students.
  • View fee dashboard and defaulter reports (cannot manage fee structures).
  • Print student and staff ID cards.
  • View attendance reports.
  • View user accounts (cannot create, edit, or reset passwords).
  • Export student, fee, and attendance data.
  • Cannot add or approve expenses, manage accounting, or access payroll.
  • Cannot enter results or manage academic settings.
Teacher Own classes only. Academic portal.
  • View student list and student profiles (read-only).
  • Mark attendance for assigned classes.
  • Enter and edit term results for assigned subjects.
  • Create, assign, and print assignments and question papers.
  • View and print report cards for own students.
  • Access the Teacher Portal for a simplified daily workflow.
  • View own timetable.
  • Export results and attendance for own classes.
  • No access to fees, payments, accounting, or financial data.
  • Cannot edit student records, manage admissions, or access admin settings.
Security Gate, visitors, and clocking.
  • Operate the Gate Kiosk -- clock students and staff in/out via QR or PIN.
  • Check visitors in and out, record visitor purpose and host.
  • Manage authorised student collectors and record student collections.
  • View campus zones and zone movement logs.
  • Access the Security Portal.
  • No access to student academics, fees, accounting, or administrative functions.
Cook Feeding register only.
  • View the list of students enrolled in feeding / daily service plans.
  • Mark daily feeding attendance (present / absent).
  • View school notices and dashboard announcements.
  • No access to student records, fees, finance, results, or any other module.
Parent / Guardian Own children only via the Parent Portal.
  • View own children's daily attendance and summary.
  • View outstanding fees and payment history for own children.
  • View term results and download report cards for own children.
  • Manage authorised persons who may collect their child from school.
  • View school notices addressed to parents.
  • Cannot see any data for other students.
  • No access to staff records, financial management, or administration.
Student Own portal only.
  • View own timetable and class schedule.
  • View own term results once published.
  • View school notices addressed to students.
  • No access to any administrative, financial, or staff-facing feature.
Managing Accounts

Admins and Directors can create accounts directly from Admin → User Management → Add User or approve self-registration requests at Admin → Registration Requests. Each user is automatically tagged to the school they registered through -- they cannot see users or data from other schools.

Resetting Passwords

Admin and Director can reset any user's password from the User Management list. Platform administrator (superuser) passwords cannot be changed by school-level admins for security. Any user can change their own password via Account → Change Password.

School-scoped visibility

Each school's user list only shows users registered under that school. Superusers (platform admins) appear in every school's list but show a "Platform Admin" badge -- their Edit and Reset buttons are hidden for school-level viewers.

Assigning legacy users

Users created before the school-scope migration have no school assigned. Run this command once per school to fix them:

python manage.py assign_user_school --slug your-school-slug
python manage.py assign_user_school --slug your-school-slug --dry-run  # preview

Attendance Tracking

Go to Records → Attendance. Teachers mark attendance for their assigned class each school day.

Marking attendance
  1. Select your class and the date (defaults to today).
  2. The full class list loads automatically. Click each student's status: Present (P), Absent (A), or Late (L).
  3. Add a reason for absences using the notes field beside each student.
  4. Click Save Attendance. The record is timestamped with who marked it.
Attendance reports
  • Daily roll — shows who is present, absent, or late for a given day.
  • Term summary — shows total days present, absent, and late for each student. Used for report card attendance figures.
  • Low attendance alerts — students below a threshold (configurable) are flagged automatically.
  • Filter any report by class, date range, or individual student.
Attendance can also be recorded automatically via the QR/PIN gate kiosk. Any student who clocks in gets marked Present for that day. Manual marking and clock-in records are merged.
ad.wisdsol.com
📋 Mark Attendance — JHS 2A · 12 May 2025 Mark All Present ✓ Save Present: 21 Absent: 3 Rate: 87.5% STUDENT PRESENT ABSENT LATE NOTES KA Kwame Asante AO Abena Owusu Parent notified KM Kofi Mensah EA Esi Amponsah L Weekly Overview Mon 87% Tue 92% Wed 75% Thu 88% Fri 92%

Attendance marking — tick Present, Absent, or Late per student, add excuse notes, and see the weekly class overview.

QR / PIN Clocking

The gate kiosk at Clocking → Gate Kiosk allows students and staff to clock in/out by scanning their ID card QR code or entering their 4-digit PIN.

QR URL encoding FIXED

QR codes on ID cards now encode the full school-specific URL including the school slug (e.g. /s/hill-spring/portal/clock/scan/TOKEN/). This ensures QR scans from any device — phone, tablet, or dedicated scanner — correctly identify the school and clock the right person.

If you printed ID cards before this update, reprint them. Old QR codes without the school slug will not scan correctly.
PIN fallback

Each student and staff member also has a 4-digit PIN (last 4 digits of their ID, or a random number). PINs work offline and on the mobile clock page.

Mobile clock

Staff and students can clock themselves in on their own phones at Clocking → Mobile Clock. No login required — just scan or enter PIN.

ad.wisdsol.com
TODAY'S CLOCK-INS 214 of 482 students 08:14 AM WISDSOL EXAMPLE SCHOOL Gate Kiosk — Scan or Enter PIN — or enter 4-digit PIN — Clock In ▶ Clocked In! Kwame Asante JHS 2A · 08:14 AM ✓ Attendance marked Recent: Kwame Asante 08:14 · Abena Owusu 08:11 · Kofi Mensah 08:09

QR / PIN Gate Kiosk — students scan their ID card QR code or enter their 4-digit PIN to clock in. A green card confirms with name and time. Works fully offline.

Fees & Payments UPDATED

Go to Finance → Fees Dashboard. The system supports multi-term fee structures, bulk fee assignment, scholarships, bulk payment, advance payments, and service plans.

Quick Collect

Use Finance → Collect Fees to record a single payment for one fee item. Type the student's name or admission number, select the outstanding fee, enter the amount, choose the payment method (Cash, MoMo, Bank, Cheque), and save. A printable receipt is generated automatically.

Bulk Payment NEW

Use Finance → Bulk Payment to pay multiple fee items for one student in a single session — useful when a parent is clearing term fees, building fund, and PTA levy all at once.

  1. Search for the student by name or admission number.
  2. All outstanding fee items are shown in a table. Type the amount to pay into each row, or click ✓ to fill the full balance. Click All to fill every fee at once. A running total updates live.
  3. Choose payment method, date, and optional reference, then click Record Bulk Payment.

Each fee item gets its own receipt. If only one fee is paid you go directly to the receipt; if multiple fees are paid you return to the student's fee summary with a total confirmation.

There is also a green Bulk Pay button on each student's fee page for fast one-click access.
Fee Structure

Define fees per class per term at Finance → Fee Structure. Fee types include Tuition, Building Fund, Sports, Uniform, Library, PTA, Examination, Boarding, and Lunch. Use Auto-Assign Fees to apply a fee structure to all students in a class at once. Scholarships are applied automatically when fees are assigned.

Cancelling Wrong Fees NEW

If a fee was applied to the wrong student or class, cancel it rather than delete it. Go to the student's fee page and click the red button on the fee card, or use Finance → Cancel Fees for bulk cancellation across a class. See the Fee Cancellation section for full details.

Import Fee Structures NEW

You can bulk-create fee structures by importing a spreadsheet at Academic → Import Data → Fee Structures. Download the template to get the correct column format. The class column is optional — leave it blank to create a fee that applies to all classes; enter a class name to make it class-specific. The term column must match an existing term (e.g. "Term 1 2025/2026").

Scholarships & Discounts FIXED

Create scholarships at Finance → Scholarships and award them to individual students. Coverage can be a fixed GHS amount, a percentage, or full waiver.

Auto-application: Discounts now apply automatically when a scholarship is awarded or when fees are assigned — you no longer need to manually trigger the discount. To fix any student whose discount isn't showing:

  1. Open the student's fee page. Their active scholarships appear as green badges in the header.
  2. Click the Re-apply button next to the scholarship badge.
  3. All matching fee rows are updated instantly and the discount appears in the fee table.

To re-apply all scholarships across all students at once, use Finance → Scholarships → Re-Apply All.

Discounts are shown in the student fee summary (Due / Paid / Discount / Balance) and on both the web receipt and thermal receipt.
ad.wisdsol.com
← Back to Student Fees 🖨 Print 📄 PDF 🧾 Thermal 💬 Share WES WISDSOL EXAMPLE SCHOOL Box 123, Accra · Tel: 0241234567 · info@school.edu.gh RECEIPT #FEE-2025-0482 12 May 2025 OFFICIAL SCHOOL FEES RECEIPT AMOUNT PAID GHS 450.00 Cash 💵 STUDENT Kwame Asante JHS 2A · ADM-0482 FEE TYPE School Fees Term 1 · 2024/2025 OUTSTANDING BALANCE GHS 150.00 Cashier / Bursar Parent / Guardian Receipt #FEE-2025-0482 · 12 May 2025 · Wisdsol Example School

Fee receipt — a printable A4 receipt with letterhead, amount, student details, balance, and signature lines. Also available in PDF and 80mm thermal formats.

Bulk Payment NEW

Access via Finance → Bulk Payment, or the green Bulk Pay button on any student's fee page.

Bulk Payment lets you record payments for multiple outstanding fees in one session — ideal when a parent is settling all their arrears at once.

  1. Search for the student by name, ID, or admission number. Click their name from the list.
  2. All outstanding fee items are displayed in a table showing the remaining balance and any scholarship discount applied. Type the amount to pay for each row, or click ✓ to fill the full balance for that fee. Click All to fill every fee at once.
  3. A running total at the bottom shows the combined amount being entered. The Record Bulk Payment button activates as soon as any amount is entered.
  4. Select the payment method, date, and optional transaction reference, then submit.

Each fee item gets its own individual receipt so records stay clean. If one fee is paid you are taken straight to the receipt; if multiple fees are paid you return to the student's fee summary with the combined total confirmed.

Amounts are automatically capped at each fee's remaining balance — you cannot accidentally over-pay.

Scholarships & Discounts UPDATED

Go to Finance → Scholarships. Scholarships reduce a student's fee balance automatically once awarded.

Creating a scholarship

Click Add Scholarship. Set the coverage type:

  • Percentage (%) — e.g. 50% discount on applicable fees
  • Fixed Amount (GHS) — a fixed GHS reduction per fee item
  • Full Coverage — entire fee amount waived

Use the Applies to fee types field to restrict the scholarship to specific fee categories (e.g. tuition,exam). Leave blank to apply to all fee types.

Awarding a scholarship

On the scholarship detail page click Award to Student. Search for the student and confirm. The discount is applied immediately to all matching fee rows — no extra step needed.

Re-applying discounts

If discounts aren't showing on a student's fee page, click the Re-apply button next to their scholarship badge. This forces a recalculation across all their fee rows. To bulk-fix all students at once, use Finance → Scholarships → Re-Apply All.

Discounts are applied to the balance field. The receipt shows: Fee Charged · Total Paid · Discount · This Fee Balance. If the discount shows as 0.00 after awarding, click Re-apply or run Re-Apply All.

Arrear Balances

Schools migrating from a previous system can import outstanding balances from prior terms at Finance → Arrear Balances → Import Arrears. Arrears are tracked separately from current-term fees so they do not affect term reports or auto-fee assignments.

Importing arrears
  1. Prepare a .xlsx or .csv file with columns: admission_number, amount, and optionally description, academic_year, notes.
  2. Upload the file and set a default academic year and description for rows that don't have them.
  3. Click Preview to review each row — green OK rows are valid, red Error rows show what's wrong.
  4. Click Confirm Import to save all valid records.
Arrear Balances page

Go to Finance → Arrear Balances. Use the filter to show Outstanding only, All, or Cleared records. Each arrear record expands to show its full payment history with receipt links.

Three KPI cards at the top show Total Outstanding, Total Collected, and Total Imported across all records.

Recording a payment

Click the green Pay button on any outstanding arrear. The payment modal lets you enter the amount, payment method (Cash, MoMo, Bank, Cheque), a transaction reference, and optional notes. Clicking Save & Issue Receipt creates the payment and immediately opens the printable receipt.

Arrear balances also appear at the bottom of each student's individual fee page (Finance → Student Fees), where the same Pay modal is available and payment history is shown inline.

Editing an arrear record

Click the pencil button on any arrear row to open the Edit modal. You can correct the Description, Academic Year, Original Amount, and — importantly — the Amount Paid field. The Amount Paid field lets you directly correct a wrong balance without needing to delete and re-enter payment records. A live balance summary bar shows the calculated balance as you type.

Editing Amount Paid directly sets the raw balance. It does not create or modify any payment records. Use this only to correct an imported opening balance that was imported incorrectly.
Deleting an arrear record or payment

Click the red button to delete an entire arrear record (and all its payments). To delete a single payment, click the button on the payment row in the payment history table — the amount is automatically reversed from the balance.

The arrear outstanding balance is always recalculated automatically from the sum of all individual payment records, so it stays accurate even after edits and deletions.

Arrear Receipts & Payment Management

Every arrear payment generates a numbered receipt (prefix ARR). The receipt page is a standalone printable document styled to match regular fee receipts.

Viewing a receipt

Click the Receipt button on any payment row in the arrear payment history table. The receipt shows: school letterhead, receipt number and date, student details, arrear description, amount paid (with method icon), balance summary, full payment history for that arrear (with the current payment highlighted), and a signature section.

Printing

Two print formats are available from the receipt action bar:

  • Print — prints the full A4 receipt. The action bar is hidden automatically when printing.
  • Thermal — opens a 80mm thermal receipt in a new tab, formatted for ESC/POS thermal printers. Use your browser's Print function (Ctrl+P) to send it to the printer.
Editing a payment from the receipt page

Click the amber Edit button in the receipt action bar. The edit modal lets you correct the amount, payment method, payment date, transaction reference, and notes. After saving, the receipt page reloads showing the updated figures.

The maximum amount you can set is the current payment amount plus any remaining balance on the arrear — you cannot overpay.

Deleting a payment from the receipt page

Click the red Delete button in the action bar and confirm. The payment record is removed and the amount is reversed from the arrear balance. You are redirected to the Arrear Balances list.

Arrear receipts are also accessible from the student's individual fee page under the payment history table for each arrear record.

Comprehensive Financial Summary

Go to Finance → Summary & Analytics for a complete overview of all income and expenditure streams. Use the term selector to view a specific term or select All Terms for a cumulative school-wide view. Click Print to print the page, or Export Excel to download a workbook.

Grand Overview bar

A dark header strip always shows four headline figures regardless of scroll position: Total Income (all streams combined), Total Expenditure (expenses + payroll), Net Surplus (income minus expenditure, red if negative), and Total Receivable (outstanding fees + outstanding arrears).

Income streams (4 cards)
CardWhat it shows
Fee CollectionsTerm fees collected, collection rate progress bar, defaulter count, total discounts applied via scholarships
Arrear CollectionsArrear payments received in the selected period, total arrear debt still outstanding, number of open vs cleared records
Service IncomeFeeding and transport plan payments, broken down by plan name
Other IncomeGrants, donations, facility rentals, government subventions — broken down by type
Expenditure streams (3 cards)
CardWhat it shows
Approved ExpensesAll approved expenses by category. Pending-approval amount is flagged separately in amber.
Staff PayrollPaid payroll net pay total, gross pay, deductions (SSNIT, tax), and a month-by-month breakdown with staff count
Scholarships & DiscountsTotal fee revenue foregone through active scholarship awards this term — helps quantify the true cost of bursary programmes
Charts
  • Income vs Expenditure — doughnut comparing total income against total expenditure.
  • Income by Stream — doughnut breaking income into the four streams (fees, arrears, services, other).
  • Payment Methods — doughnut of Cash vs MoMo vs Bank vs Cheque across all payment types.
  • Daily Fee Trend — bar chart of GHS collected per day over the last 30 days. Identifies peak collection days.
  • Expense Breakdown — horizontal bar chart of approved spending by category.
Fee Collection Detail table

A detailed table lists every fee type with Expected, Discount, Collected, Owed, and a colour-coded progress bar. In All-Terms mode each row includes the term name so you can compare across periods.

Per-Class Collection

Only shown when a specific term is selected. Progress bars turn red below 50%, amber 50–80%, green above 80% — useful for targeting follow-up calls with specific classes.

Recent Activity tabs

Two tabs at the bottom show the latest 15 fee payments and latest 10 arrear payments, each with a direct Receipt link.

All Terms mode

Select All Terms from the term dropdown to aggregate data across the entire school history. Fee breakdown rows show the term name alongside the fee name. Per-class breakdown is hidden in this mode as it is only meaningful within a single academic year.

All figures update instantly when you change the term selector. The Excel export respects the selected term filter.
ad.wisdsol.com
COMPREHENSIVE FINANCIAL SUMMARY — TERM 1 2024/2025 TOTAL INCOME GHS 51,200 TOTAL EXPENDITURE GHS 18,400 NET SURPLUS GHS 32,800 TOTAL RECEIVABLE GHS 14,800 FEE COLLECTIONS GHS 48,200 76.5% · 23 defaulters ARREAR COLLECTIONS GHS 2,100 4 open · 2 cleared SERVICE INCOME GHS 480 Feeding · Transport OTHER INCOME GHS 420 Grants · Donations APPROVED EXPENSES GHS 5,200 Utilities · Supplies · Maintenance GHS 800 pending approval STAFF PAYROLL GHS 13,200 Net pay · 12 staff · 3 months SCHOLARSHIPS & DISCOUNTS GHS 980 4 active awards · fee revenue foregone 💳 Payment Methods Cash 54% MoMo 32% Bank 14% 📊 Fee Collection by Type School Fees 82% Exam Levy 56%

Comprehensive Financial Summary — all income and expenditure streams, KPI cards, payment methods, and fee breakdown in one view.

Expense Approval Workflow NEW

Expenses recorded by the Accountant do not post immediately -- they require approval by an Admin or Director before counting in the Net Surplus figure.

  1. Accountant records an expense: Finance → Expenses → Add Expense. Saved as Pending.
  2. Admin or Director opens the expense list. Pending rows show a yellow badge and Approve / Reject buttons.
  3. Click Approve -- the expense is posted and included in financial reports. Click Reject to decline it.
Principal has view-only access to finance. They cannot collect fees, add expenses, or edit accounting entries.
Pending expenses are shown separately in the KPI card ("GHS X pending") but are excluded from the Net Surplus until approved.

Daily Services (Feeding & Transport)

Go to Finance → Service Plans. Create service plans (Feeding, Transport, etc.) and enrol students. Daily attendance is marked per student at Clocking → Gate Dashboard → Daily Services. Payments are collected per term in advance or daily.

Results & Grades

Go to Records → Results. Teachers enter class scores and exam scores per subject. The system automatically calculates the weighted total and assigns the GES grade (A1–F9).

Entering results
  1. Go to Records → Results → Enter Scores and select the class, subject, and term.
  2. The student list loads. Enter the Class Score (continuous assessment) and Exam Score for each student.
  3. The system computes the weighted total using the configured weights (default 30% class / 70% exam for most levels). The GES grade is assigned automatically.
  4. Click Save Scores. You can return and edit until results are published.
Grade scale (GES)
Score RangeGradeRemark
80 – 100A1Excellent
70 – 79B2Very Good
65 – 69B3Good
60 – 64C4Credit
55 – 59C5Credit
50 – 54C6Credit
45 – 49D7Pass
40 – 44E8Pass
0 – 39F9Fail
Entering scores
  1. Click a class from the Results Dashboard.
  2. Select a subject from the left panel.
  3. Enter Class Score and Exam Score for each student. Totals and grades update live as you type.
  4. Use Enter to move to the next student without lifting your hands from the keyboard.
  5. Click Save All Grades. An unsaved-changes counter tracks any modifications before saving.
Progress tracking

A progress bar in the header counts how many students have been scored in the current subject. Saved rows show with a green tint; unsaved changes turn amber. The browser will warn you before navigating away with unsaved scores.

ad.wisdsol.com
WES WISDSOL EXAMPLE SCHOOL Accra · Academic Report Card · Term 1 · 2024/2025 STUDENTKwame Asante CLASSJHS 2A POSITION4th / 32 ATTENDANCE58 / 60 days SUBJECT CLASS SCORE EXAM SCORE TOTAL · GRADE English Language 41.0 44.0 85 A1 Mathematics 38.0 40.0 78 B2 Integrated Science 35.0 42.0 77 B2 Social Studies 36.0 38.0 74 B3 Term Average: 78.5% Position: 4 / 32 CLASS TEACHER'S REMARKS Kwame has shown excellent improvement this term. He should continue to put more effort into Mathematics and Integrated Science calculations. Class Teacher Headmaster / Principal

Report Card — GES-format with Ghana flag stripe, subject scores, grade badges, class position, teacher remarks, and signature lines.

Score Weight Configuration NEW

By default the system uses the Ghana GES standard: 30% Class Score + 70% Exam Score. Admins and Headmasters can change this ratio at Records → Score Weights.

How it works

Enter the Class Score weight — the Exam Score weight automatically adjusts to make the total 100%. A live validation indicator turns green when valid and red if they don't sum to 100. Quick preset buttons provide common splits: 30/70, 40/60, 50/50, 60/40, and 20/80.

Changing weights does not retroactively update saved results. After changing, go to Results → Generate Grades for each class to recompute totals with the new weights.

The current weights are shown in the header of the grade-entry page so teachers always know which split is in effect.

Report Cards & ECD UPDATED

After entering all scores, go to Results → Generate Grades to compute positions, class averages, and overall remarks for every student in the class. Report cards are generated automatically.

Print individual report cards from the student's results page, or print the full class batch. The report card shows all subject scores, grades, teacher remarks, class/overall position, conduct, attitude, and head teacher remarks — all auto-generated from the results data.

Brand colours on report cards NEW

All report cards (standard, ECD, batch, and evolution) now use your school's brand colours set in Admin → School Profile → Edit → Brand Colours. The header, table backgrounds, grade badges, and highlight boxes all update to match. See the Brand Colours section for setup instructions.

Black & White print mode

Click the 🎨 Colour / B&W toggle button on any batch report page to switch all cards to greyscale before printing — useful for monochrome printers.

ECD Report Cards

For Crèche, Nursery, and KG students, use the Records → ECD Reports checklist-style report card that covers developmental skills: language, physical development, social skills, mathematics, and art.

Academic Evolution Reports NEW

Access from the Results Dashboard or Batch Report Cards toolbar. Evolution reports show a student's performance across all three terms on a single A4 landscape page — with trend arrows, highlight panels, and attendance. ECD evolution reports show skill ratings across terms. See the Evolution Reports section.

Assignments & Question Bank

Go to Records → Assignments. Teachers create assignments, build a question bank, and print formatted question papers.

This module is available on the Standard and Premium plans only.

Accounting

Go to Accounting → Dashboard. The accounting module is a full double-entry bookkeeping system designed for school finance.

Chart of Accounts UPDATED

Go to Accounting → Chart of Accounts. All financial transactions must be posted to an account. Accounts are organised into five types:

TypeDescriptionExamples
AssetThings the school ownsCash, Bank, Equipment, Receivables
LiabilityThings the school owesSalaries Payable, Loans, SSNIT
EquityNet worth / retained surplusRetained Earnings, Opening Balance
RevenueIncome earnedTuition Fees, Grants, Donations
ExpenseMoney spentSalaries, Maintenance, Supplies

If the chart is empty, click Load Default Accounts to seed ~50 standard Ghana school accounts. You can add custom accounts at any time. System accounts (marked "System") cannot be deleted.

Journal Entries

Go to Accounting → Journal Entries → New. All transactions are recorded as journal entries with at least two lines: one debit and one credit. The entry must balance (total debits = total credits) before it can be posted.

  1. Select the entry type (General, Fee Income, Expense, Payroll, etc.) and fill in the description and date.
  2. Add debit and credit lines, each linked to an account in the chart of accounts.
  3. Click Save as Draft to keep editing, or Post Entry to finalise. Posted entries cannot be edited — they must be reversed.
Reports
  • Trial Balance — lists every account with its debit/credit total. Used to verify the books are balanced.
  • Income Statement (P&L) — Revenue minus Expenses for a period. Shows whether the school is operating at a surplus or deficit.
  • Balance Sheet — Assets = Liabilities + Equity at a point in time.
  • General Ledger — every transaction line for any account in date order.
  • Cash Flow — movement of cash in and out.
The Accounting module is only available on Standard and Premium subscription plans. You can import Chart of Accounts and Journal Entries via the Accounting → Import Finance Data page.

Payroll

Go to Finance → Payroll. Generate monthly payslips for each staff member based on their basic salary, allowances, and deductions (SSNIT, income tax). Print individual payslips or export the full payroll summary.

Data Export

Go to Admin → Data Export. Export any dataset to Excel: students, staff, payments, defaulters, results, attendance, scholarships, expenses, income, users, accounting entries, clocking records, and more. Exports include all relevant columns formatted for further processing in Excel.

Role Portals

Every user has a dedicated portal accessible via My Portal. Portals are simplified views showing only what's relevant to that role.

PortalKey Features
Teacher PortalMy classes, attendance marking, results entry, timetable, assignments
Parent PortalChildren's attendance, fees, results, report cards, authorised pickups
Student PortalOwn timetable, results, and notices
Accountant PortalFee dashboard, quick collect, expense recording, financial reports
Security PortalGate kiosk, visitor check-in, student collections, campus zones

Gate & Visitor Management

Go to Security → Gate / Pickup. Security staff manage who collects students and log visitors entering the campus.

  • Student Collections — record who collected a student and at what time.
  • Authorised Collectors — manage the list of approved people who can pick up each student.
  • Visitor Log — check visitors in/out with name, host, purpose, and photo.
  • Campus Zones — define entry zones and log zone movements.
  • Gate Kiosk — a full-screen QR / PIN clocking terminal designed to run on a dedicated tablet at the gate.
Security features are available on the Premium plan only.

ID Cards UPDATED

Print credit-card-sized (CR80 85.6×54mm) ID cards for students and staff. Go to Admin → Student ID Cards or Admin → Staff ID Cards.

Student ID Card

Front side shows: full name, class badge, Student ID, Admission Number, date of birth, gender, NHIS number, school contact details, QR code (scan to clock in), PIN, and academic year.

Staff ID Card

Front side shows: full name, position badge, Staff ID, GES number, qualification, employment date, phone, school phone, and QR code for clock-in.

Bulk printing

Student cards can be filtered by class. Staff cards can be filtered by position and status (Active / On Leave / Inactive). The print button shows the count before you send to printer. Cards print 2–4 per A4 page with crop marks.

After updating the system, reprint all existing ID cards. Old cards may have QR codes with outdated URLs that will not scan correctly at the gate kiosk.

Data Import UPDATED

Go to Academic → Import Data to bulk-import records from Excel or CSV files. Download a pre-formatted template for each type directly from the import page.

Supported import types
TypeKey columnsNotes
Studentsfirst_name, last_name, class, gender, admission_numberadmission_number optional — auto-generated if blank
Guardiansfirst_name, last_name, relationship, phone, student_admissionLinks guardian to student via admission_number
Teachersfirst_name, last_name, staff_id, phone, qualificationstaff_id optional — auto-generated if blank
Subjectsname, code, category, is_examinablecategory: core / elective / extra
Class Subjectsclass, subject, periods_per_weekLinks subjects to classrooms
Arrear Balancesadmission_number, amount, description, academic_yearCarried-forward outstanding fees
Fee Structuresname, fee_type, amount, term, classLeave class blank for all-class fees; term must match existing
Resultsadmission_number, subject_code, class_score, exam_score, termTemplate for bulk results entry
Supported file formats

.xlsx, .xls, .csv, or .json. All templates download as styled .xlsx files with example rows.

Student import — class matching

Class names in the file are matched flexibly — JHS 1, JHS1A, jhs 1 a all resolve correctly. Three matching passes are attempted: exact, whitespace-insensitive, and prefix partial.

Fee structures import — term & class matching

The term column is matched to existing terms (e.g. "Term 1 2025/2026"). The class column is optional — leave blank to create a school-wide fee that applies to all classes. Existing fee structures are not duplicated (get_or_create is used).

GES default subjects

Click the Load GES Defaults button on the import page to instantly seed all standard GES subjects and link them to every classroom in the current academic year — no file needed.

Offline Mode

Wisdsol Edu Advance is a Progressive Web App (PWA). It can be installed on any device and continues to work when your internet connection drops — including in areas with unreliable mobile data. Data entered offline is stored securely in the browser and synced automatically when connectivity is restored.

The app uses a real server ping to detect connectivity, not just the browser's navigator.onLine flag. This means it correctly detects the situation where you have a WiFi/mobile signal but no actual internet — common in Ghana's network environment.
  • A red banner at the top of every page appears when you are offline.
  • The sync badge in the navbar turns amber with a count when items are queued, spins blue while syncing, and flashes green when all data is saved.
  • QR scanning works fully offline using the cached jsQR library.
  • Previously visited pages are served from the browser cache instantly.
What can be saved offline
FeatureWorks offline?
Mark attendance✅ Queued and synced on reconnect
Student / staff clocking (QR & PIN kiosk)✅ Queued and synced on reconnect
Record fee payment✅ Queued and synced on reconnect
Enter exam / term scores✅ Queued and synced on reconnect
Record expense✅ Queued and synced on reconnect
Record other income✅ Queued and synced on reconnect
Visitor check-in✅ Queued and synced on reconnect
Security collection✅ Queued and synced on reconnect
Record pickup✅ Queued and synced on reconnect
View cached pages✅ Any page previously visited
Print receipts✅ If receipt page was previously opened
Generate report cards❌ Requires server connection
Upload files / photos❌ Requires server connection
How syncing works
  1. When you submit a form while offline, the data is saved to the browser's IndexedDB storage and a toast notification confirms "Saved offline — will sync when back online."
  2. When internet is restored, the app pings the server within 8 seconds to confirm real connectivity.
  3. The sync badge spins and all queued items are sent to the server in one batch.
  4. The server replays each form through the normal Django views so all validation, permissions, and business logic runs exactly as if you had submitted online.
  5. Successfully synced items are removed from the queue. A green toast confirms "Back online — X changes synced."
If your session expires while offline (after 14 days), the sync badge turns red with a lock icon. Tap it to be taken to the login page. Your queued data is preserved — it syncs automatically after you log back in.
Installing the app on your device

The install option appears differently depending on your browser and device:

Device / BrowserHow to install
Chrome on desktopLook for a computer-with-down-arrow icon in the address bar (far right). If not visible, click the three-dot menu (⋮) → Save and shareInstall page as app.
Edge on desktopClick the three-dot menu (…) → AppsInstall this site as an app.
Chrome on AndroidTap the three-dot menu (⋮) → Add to Home screenInstall. The app icon appears on your home screen.
Safari on iPhone / iPadTap the Share button (box with arrow at bottom of screen) → scroll down → Add to Home ScreenAdd.
Firefox on desktopFirefox does not support PWA install. Use Chrome or Edge instead.
The install icon in Chrome only appears when the site is served over HTTPS. On a local/development server (http://localhost) the install option may not show — use the three-dot menu workaround instead.
Once installed, the app opens in its own window without the browser bar, works offline, and can be launched from your desktop, taskbar, or home screen like a native app.

Multi-School Support

The platform supports multiple independent schools. Each school has its own isolated SQLite database under tenant_dbs/school-slug.sqlite3. Schools share no data with each other.

Provisioning a new school
  1. Add the school to the School Registry in Django Admin (Admin Panel → School Registry → Add).
  2. Add a subscription record in Admin → Subscriptions → New Subscription.
  3. Visit the school URL — the database is created and migrated automatically on first access.
  4. Run python manage.py setup_school inside the school context to create default classes, terms, and academic year.
Fixing existing tenant databases
# If existing DBs have auth table issues:
python manage.py fix_tenant_auth
python manage.py fix_scoreweight
python manage.py migrate_all_schools

Fee Cancellation NEW

Administrators and Accountants can cancel a fee that was wrongly applied to a student. Cancelled fees are excluded from all balance calculations — dashboards, defaulter reports, receipts, and report cards — but kept permanently for audit.

Cancel a single fee (per student)
  1. Open the student's fee page via Finance → [Student Name].
  2. Click the red Cancel button on the fee card you want to remove.
  3. A modal appears. Enter a reason (required — saved permanently for audit).
  4. If the fee has payments recorded, tick Force cancel anyway to proceed. Payments remain on record.
  5. Click Cancel This Fee. The fee moves to a strikethrough "Cancelled Fees" table at the bottom of the page.
Only Admin, Director, and Accountant roles can cancel fees. The cancel button is not visible to Teachers, Secretaries, or Parents.
Reinstate a cancelled fee

In the "Cancelled Fees" table at the bottom of the student's fee page, click Reinstate next to the relevant row. The fee is immediately restored and included in balance calculations again.

Bulk cancellation (across a class)

Use Finance → Cancel Fees (button in Finance Dashboard header) or Finance → Fee Structure → Bulk Cancel to cancel one fee structure across multiple students at once.

  1. Select the Fee Structure to cancel from the dropdown. Optionally filter by Class.
  2. A preview table shows every student with that fee assigned (already-cancelled and fully-cancelled rows are excluded). Their paid / balance amounts are shown so you can make an informed decision.
  3. Tick the checkboxes for students whose fee you want to cancel. Use All / None to select or deselect all at once.
  4. Enter a reason and click Cancel Selected Fees. A confirmation prompt shows the count before committing.
Bulk cancellation is per-student and reversible. Each cancelled record can be reinstated individually from the student's fee page. There is no "bulk reinstate" — reinstatement must be done one student at a time.
What cancellation affects

Once a fee is cancelled, it is automatically excluded from:

  • Finance Dashboard — expected revenue, collected, outstanding, and collection rate totals
  • Financial Summary / Analytics — all per-term and per-class breakdowns
  • Defaulters report — cancelled fees never appear as outstanding
  • Payment receipts — overall balance and outstanding sidebar exclude cancelled fees
  • Report cards — term fees, arrears, and overall balance on report cards and ECD report cards
  • Excel export — financial export sheets use non-cancelled figures only

Assigning Fees to Students UPDATED

Fees can be assigned to students individually (from the student's fee page) or in bulk (via Auto-Assign for a whole class).

Individual fee assignment
  1. Open the student's fee page: Finance → [search student] → [Student Name].
  2. Click Assign Fee (the blue button in the fee summary area).
  3. Use the Term dropdown to filter fee structures by term. Defaults to the current term.
  4. A card grid shows all available fee structures. Already-assigned fees appear as grey dashed cards with a green ✓ Assigned badge — they cannot be selected again.
  5. Click any card (or its checkbox) to select it. Use Select All to tick everything available. A running counter shows how many are selected.
  6. Click Assign Selected Fees. The page reports how many were created and how many were already assigned (skipped).
Any active scholarship the student has will be applied automatically to newly assigned fees — no extra step needed.
Bulk auto-assign (whole class)

Use Finance → Fee Dashboard → Auto-Assign Fees to assign all mandatory fee structures for the current term to every active student in a class at once. Optionally include non-mandatory fees by ticking Include Optional Fees.

Defaulters Report UPDATED

Go to Finance → Defaulters. The report lists every student with an outstanding (unpaid) fee balance — cancelled fees are automatically excluded.

Filters
  • Term filter — defaults to the current term. Select any previous term to see historical defaulters, or clear to see all terms at once.
  • Class filter — narrow to a single classroom.
  • Search bar — type a student name or class to instantly filter the table.

Three stat cards update live with the filters: Defaulting Students, Total Outstanding (GHS), and Total Collected (GHS) for the filtered set.

Collecting from the defaulters page

Click Collect on any row to go directly to the payment recording page for that fee. Click 👁 View to open the student's full fee summary.

If a cancelled fee is still showing on the defaulters list, it means the fee was cancelled before the latest update was deployed. Re-open the student's fee page and check — the cancel button should now exclude it automatically.

Academic Evolution Reports NEW

Evolution reports give a term-by-term view of every student's academic progress across a full year — one A4 landscape page per student.

Standard Academic Evolution (JHS / Primary)

Access via Results Dashboard → [Class Card] → Academic Evolution Report, or from the Batch Report Cards toolbar.

  • Shows each subject's score for Term 1, Term 2, and Term 3 side by side.
  • Trend arrows — ▲ (improved) / ▼ (declined) / – (unchanged) compared to previous term.
  • Highlight panels — Most Improved Subject, Highest Average, overall trend indicator (Improving / Declining / Steady).
  • Attendance summary per term with percentage bar.
  • School brand colours applied via the colour customisation settings.
ECD Evolution (Crèche / Nursery / KG)

Access via ECD Reports → [Class Card] → Evolution.

  • Shows each developmental skill's rating (G / S / P / NI etc.) across all terms in a compact table.
  • Skills are grouped by domain: Social Skills, Language Oral, Language English, Reading Readiness, Mathematics, and Development in Art.
  • Trend arrows and a "Best" column show the most consistent rating achieved.
  • Teacher remarks from each term's report are included in the sidebar.
Year filter

A dropdown at the top of both evolution reports lets you select any academic year. The report automatically loads all terms and scores for that year.

School Brand Colours NEW

Customise the colours used across all printed report cards, batch reports, and evolution reports to match your school's identity. Go to Admin → School Profile → Edit.

The four colour fields
FieldUsed forDefault
Primary ColourReport card headers, table backgrounds, section titles, borders#0f1e3d (navy)
Primary (Light)Gradient shading and hover states on dark headers#1a2f5a
Accent ColourGrade badges, score boxes, key highlights, toolbar print button#c9a84c (gold)
Accent (Light)Text on dark backgrounds (e.g. badge text, column headers on dark)#f0d896
How to change colours
  1. Go to Admin → School Profile → Edit School Information.
  2. Scroll to the Report Card Brand Colours section near the bottom of the form.
  3. Click a colour swatch or type a hex value (e.g. #1a2744) into the text box. Both controls stay in sync.
  4. A live preview strip updates in real time showing the report header and a sample grade badge using your chosen colours.
  5. Click ↺ Reset to default navy/gold to restore all four fields to the defaults at once.
  6. Click Update School Information to save. All reports will use the new colours immediately — no restart needed.
The School Profile page shows a live preview of your saved colours using a mini report card header so you can verify the result before printing.
Colours must be valid 6-digit hex values (#RRGGBB). Invalid values are silently rejected and the previous colour is kept. The live preview will only update when a valid hex is entered.
Which reports use brand colours
  • Individual Report Cards (standard and ECD)
  • Batch Report Cards (class printing)
  • Batch ECD Report Cards
  • Academic Evolution Reports (standard and ECD)

The QR code on report cards always uses dark navy regardless of colour settings, since QR codes require high contrast to scan reliably.

Graduation & Award Certificates NEW 🔒 PREMIUM

Premium subscribers only. Graduation and Award Certificates are locked on Basic and Standard plans. A padlock icon appears on the sidebar links. Upgrade your plan to unlock — contact your administrator or visit Admin → My Subscription.

Two certificate tools are available under Administration in the sidebar:

1. Graduation Certificate Builder

Go to Administration → Graduation Certificates (or click the Certificate button on any student's detail page).

  • Single student — Select one student and click Generate & Print. The certificate opens in a new tab immediately.
  • Bulk print — Toggle Bulk print, tick students (use the class filter to quickly select a whole class), then click Generate & Print. Every selected student gets their own full-page certificate; the browser prints them all in one job.
  • Colour scheme — Pick from 8 one-click presets (Classic Gold, Royal Blue, Emerald, Crimson, Purple, Teal, Rose Gold, Midnight) or customise each colour individually with a colour picker or hex code. A live preview strip updates as you select.
  • The certificate includes the school logo (header + watermark), school motto, student photo, student details, academic year, Ghana flag bars, ornamental corner frames, and signature blocks.
  • Certificates are printer-ready (A4 landscape). Print controls disappear automatically when printing.
2. Award Certificate Builder

Go to Administration → Award Certificates.

  • Recipient types — Student, Staff, Parent, or Other (free-text name).
  • Award categories — Best of the Week / Month / Year, Best Performance, Best Attendance, Best Behaviour, Academic Excellence, Most Improved, Leadership, Community Service, or a fully custom award title.
  • Period — This Week, Month, Term, Year, or Special Occasion.
  • Bulk print — Toggle bulk mode to select multiple recipients at once. Use All / None buttons and the class filter. Click Bulk Print All Selected to generate all certificates in one print job.
  • Attendance suggestions — A gold banner automatically appears showing the top students (≥ 95% attendance in the current term). Click any name to pre-fill them as the recipient with the Best Attendance award and their exact percentage in the note field.
  • Colour scheme — Same 8 presets plus individual pickers for Primary, Accent, Background, Text, and Ribbon colours. Live preview updates instantly.
  • Additional note — An optional personalised message appears as an italicised quote block on the certificate.
Certificate design

Both certificate types share the same design language:

  • A4 landscape, print-optimised with page-break controls for multi-page jobs.
  • Ghana flag tricolour bars at top and bottom.
  • School logo displayed in the header ring and as a large transparent watermark centred on the page.
  • Ornamental corner flourishes and wavy gold rule dividers.
  • Three signature blocks: Headmaster (auto-filled from staff records), Official Seal (uses school logo), and recipient (uses their photo if available).
  • All colours controlled by CSS variables — changing the scheme updates every element consistently.
Who can print certificates
RoleGraduation CertAward CertBulk Print
Admin / Headmaster
Secretary
Accountant
Teacher
Parent / Student

All roles above require an active Premium subscription. Without it, the pages show an upgrade prompt and no certificate can be generated.

FAQ — Certificates

Q: The certificate page loads but fonts look plain.
A: The system uses built-in device fonts (Georgia / Times New Roman / Palatino) for instant loading — no internet connection is required for fonts. The design is intentional.

Q: The student photo doesn't appear on the certificate.
A: Go to the student's profile and upload a photo. Only students with an uploaded photo show a photo in the signature block; others show a placeholder icon.

Q: Bulk print shows a blank page between certificates.
A: This is controlled by page-break-after: always in CSS. Some printers add a blank page. In Chrome: File → Print → uncheck "Print headers and footers" and set margins to None.

Q: Can I remove the Ghana flag stripes?
A: Not from the builder UI — the stripes are part of the fixed design. If you need a custom layout, contact support.

Frequently Asked Questions

Fees & Payments

Q: A fee was assigned to the wrong student or class. How do I remove it?
A: Use the fee cancellation feature — do not try to delete the fee. Open the student's fee page, click the red button on the fee card, enter a reason, and confirm. The fee is hidden from all balance calculations immediately but kept for audit. To cancel the same fee across an entire class, use Finance → Cancel Fees → Bulk Cancel.

Q: I cancelled a fee by mistake. How do I restore it?
A: Scroll to the "Cancelled Fees" table at the bottom of the student's fee page and click Reinstate. The fee is restored immediately.

Q: The Finance Dashboard still shows the cancelled fee in the totals.
A: Make sure the latest version of fees/views.py has been deployed. After deployment all dashboard figures, analytics, receipts, and report cards automatically exclude cancelled fees.

Q: A student has a scholarship but the discount isn't showing on their fees.
A: Open the student's fee page. You'll see their active scholarship badge in the header. Click the Re-apply button next to it. This forces the discount to recalculate across all their fee rows. If the problem affects many students, use Finance → Scholarships → Re-Apply All.

Q: How do I record a payment that covers multiple fees at once?
A: Use Finance → Bulk Payment. Search for the student, enter the amount for each outstanding fee, and submit once. Each fee gets its own receipt number internally.

Q: Fee auto-assign created records but scholarships weren't applied.
A: This is now fixed automatically — when fees are assigned, any active scholarships are applied immediately. For existing records created before this fix, use the Re-Apply All button.

Accounting

Q: The Chart of Accounts page is empty.
A: Go to Accounting → Chart of Accounts and click Load Default Accounts. This seeds ~50 standard Ghana school accounts. You can also add accounts manually or import via Accounting → Import Finance Data.

Q: I recorded an expense but it's not showing in the Net Surplus figure.
A: Expenses require approval by an Admin or Director before they count toward financial reports. An Admin or Director must open Finance → Expenses and click Approve on the pending entry.

Q: How do I link revenue/income to the chart of accounts?
A: When importing income via Finance → Other Income → Import Income, include an account_code column in your file matching the account code from the chart of accounts. You can also enter this manually when recording individual income entries.

Students & Data

Q: I imported students but they aren't assigned to a class.
A: Check the class column in your import file. Ensure the class name matches an existing classroom in the current academic year. The system tries three matching methods: exact, whitespace-insensitive, and partial prefix. If still failing, check that the academic year has been set up and classrooms added under Academic → Classes.

Q: How do I set a student's class teacher?
A: Go to Academic → Assignment Hub → Class Teachers tab. Use the dropdown to select a teacher for each class and click Save.

QR Clocking & ID Cards

Q: QR codes on ID cards aren't scanning correctly.
A: If cards were printed before the QR URL fix, reprint them. Old QR codes didn't include the school slug in the URL, so they fail on external devices. After reprinting, all new cards will scan correctly on any device.

Q: A teacher can log in but can't access their portal.
A: The teacher's user account must be linked to their staff record. Go to Academic → Assignment Hub → Staff User Links tab and click Link Account next to the teacher's name.

System & Migrations

Q: Migration fails with "invalid foreign key" error.
A: Run python manage.py fix_tenant_fks to null out any orphaned FK references, then retry migrate_all_schools.

Q: A new school's setup is incomplete — missing classes or subjects.
A: Run python manage.py setup_school --slug <slug>. This creates the current academic year, three terms, all 17 classrooms (Crèche → SHS 3), and seeds GES default subjects automatically.

Contact Support

Wisdsol Support

Reach us through any of the channels below. Please include your school name and a description of the issue.

Hours
Mon–Fri 8am–6pm GMT
Found a bug or have a feature request? Use the thumbs-down icon on any AI-assisted response, or email us with "FEEDBACK:" in the subject line.