Wisdsol Edu Advance
A complete school management platform for West Africa — Ghanaian schools (Crèche to SHS), francophone schools (Maternelle to Terminale) and tertiary institutions. Manage students, staff, fees, results, attendance, ID cards, and more from one place, in English or French.
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.
What's New NEW
The latest additions to the platform. Each is explained in full in its own section — the links take you straight there.
Two international curricula, and money recorded in Fees now reaching the accountant without anyone re-keying it.
| Feature | What it does for you |
|---|---|
| Cambridge International curriculum | Register as a Cambridge school and get the full Pathway — Early Years through IGCSE and A Level — with its subjects, CAIE fee types and A*–G grading. |
| Montessori curriculum | Register as a Montessori school and get the planes of development, the curriculum areas, and mastery records (Introduced / Practising / Mastered) instead of marks. |
| Link expenses & income to accounts | Choose the chart-of-accounts entry an expense is debited to, or an income record credited to. Expense categories offer only expense accounts, income only revenue accounts. |
| An account per category | Give each category its usual account once, and it fills itself in every time that category is chosen — the bursar stops thinking about the chart of accounts during daily entry. |
| Automatic posting to the ledger | Approving an expense, or recording income, writes a balanced double-entry journal. The amounts appear in account balances, the trial balance and the income statement. |
| Editing account codes | Change an account's code or name safely — everything posted to it follows automatically. Duplicate codes are refused. |
| Edit buttons on categories | Rename a category, set its display order and its account behind an edit button, instead of an always-open text box. |
| Feature | What it does for you |
|---|---|
| Store & item distribution | Run the school store: items with photos and prices, your own categories, suppliers and deliveries with payment status, giving items out free or charged, and a coverage report showing who is still waiting for theirs. |
| Daily, weekly & monthly summaries | See income, expenses, the net and new enrolments period by period, with a trend chart and your own date range. |
| Daily transactions report (A4) | Print a full record of one day's money — every receipt listed, a cash/bank breakdown to check against the drawer, and signature lines for the bursar and head. |
| Messages from Wisdsol Tech | Announcements and documents from the platform team arrive inside the system, with an unread badge and a popup so nothing important is missed. |
Still worth knowing about if you have not used them yet:
| Feature | What it does for you |
|---|---|
| Countries & education systems | Register from Ghana, Togo, Bénin, Côte d'Ivoire, Sénégal and more. Your classes, subjects, periods, grading and currency are created to match your own system automatically. |
| Ready-made setup | Fee types, expense and income categories, assessment types and score weighting are all created in your own language on the day you register. |
| Bulletin de notes | Francophone schools print a real bulletin — notes sur 20, coefficients, moyenne générale, rang, appréciation and the décision Admis / Doit redoubler. |
| Tertiary institutions | Universities, polytechnics and colleges run programme cohorts, courses with credit hours, semesters and GPA or LMD grading. |
| Light & dark mode | Switch the whole system between a light and a dark theme, or let it follow your device. Printing always stays black on white. |
| Glossary EN/FR | A side-by-side table of every term in English and French, so colleagues reading different versions of this manual stay in step. |
| Student logins & custom roles | Give students their own accounts, build your own roles, and fine-tune any user's access with checkboxes. |
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.
The login screen — enter your school username and password to access your dashboard.
Change Password
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.
- Enter your Current Password to verify your identity.
- Type your new password (minimum 6 characters). A live strength meter shows how secure it is.
- Confirm the new password — the field turns green when both match.
- Click Update Password. You stay logged in automatically.
Choosing Your Language
The whole platform is available in English, French (Français) and Spanish (Español). Each user chooses their own language — your choice does not affect anyone else at the school, and it is remembered on your device between visits.
- Inside the app — click the globe icon in the top navigation bar and pick a language from the dropdown. The page reloads instantly in the new language.
- On the login page — three buttons below the sign-in form (🇬🇧 English · 🇫🇷 Français · 🇪🇸 Español) let you switch before you even log in.
- On your school's public landing page — use the EN / FR / ES selector in the top navigation bar, so parents and applicants can read the page and the admission form in their own language.
Light & Dark Mode
The whole system can be viewed in a light or a dark colour scheme. Use the Dark / Light button in the top bar, next to the language switcher, to switch at any time.
- Your choice is remembered on that device, so the system stays the way you like it every time you sign in — including on the login screen.
- If you have never chosen, the system follows your phone or computer's own setting and switches automatically when your device does (for example at sunset on a phone set to automatic).
- Different people using the same computer under different browser profiles each keep their own preference.
- Printing is unaffected — receipts, report cards and bulletins always print on white paper with black text, whichever mode you are viewing in.
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 | ✓ | ✓ | ✓ | ✓ | ✗ | V | V | ✗ | ✗ | ✗ |
| 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 | A | A | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| 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 | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
Install App on Your Device
Wisdsol Edu Advance is a Progressive Web App (PWA). You can install it on any device — Android, iPhone, iPad, Windows, or Mac — so it opens like a native app with its own icon, works offline, and runs without a browser bar.
| Device / Browser | How to install |
|---|---|
| Android (Chrome / Samsung Browser) | Look for the Install App button in the top navigation bar, or tap the three-dot menu (⋮) → Add to Home screen → Install. The app icon appears on your home screen and app drawer. |
| iPhone / iPad (Safari) | Tap the Share button at the bottom of Safari → scroll down → Add to Home Screen → Add. A modal with step-by-step instructions also appears in the app when you visit on iOS. |
| Windows / Mac (Chrome) | Click the Install App button in the top-right of the navigation bar when it appears, or click the download icon in the browser address bar. Alternatively: three-dot menu (⋮) → Save and share → Install page as app. |
| Windows / Mac (Edge) | Click the three-dot menu (…) → Apps → Install this site as an app. |
| Firefox | Firefox does not support PWA install. Use Chrome or Edge on desktop, or Chrome / Samsung Browser on Android. |
When your browser detects the app can be installed, an Install App button automatically appears:
- Top navbar — a dark "Install App" button appears to the left of the user menu in the top navigation bar.
- Sidebar (mobile) — an "Install App" button appears inside the sidebar brand header on smaller screens.
- Landing page — an "Install App" button appears in the desktop navbar and as a full-width strip in the mobile menu, plus a dedicated install section near the footer.
- Tenant landing page — each school's public landing page also has its own install button. Installing from a school's page creates an app with the school's own name, colour, and icon on your home screen.
http://localhost (development) you may need to use the browser's three-dot menu workaround instead.When you install from a school's landing page (e.g. yourplatform.com/s/goldfields-jhs/), the installed app uses:
- The school's name as the app title on your home screen
- The school's logo as the app icon
- The school's primary colour as the splash screen and browser chrome colour
- The school's URL as the start page — so the app opens directly to that school's portal
This means staff at Goldfields JHS see "Goldfields JHS" on their home screen, not "Wisdsol Edu Advance".
Registering a New School
Any school can sign up for the platform themselves — no need to contact the administrator first. Visit the public landing page and click Get Started or Register Your School.
- Fill in your School Name — the URL slug is generated automatically from the name (e.g. "Goldfields JHS" →
goldfields-jhs). You can edit the slug manually if needed. - Choose your Country — this sets your education system, language and currency automatically.
- Pick your Type of institution: a basic/second-cycle school, or a tertiary institution (university, polytechnic, college).
- Enter your Region / Province, Contact Email and Phone.
- Select a Subscription Plan. Every plan starts with a free trial — no credit card required.
- Click Start Free Trial. Your school's private database is created and migrated automatically within seconds.
- You are redirected to a confirmation page showing your school's URL slug. Send this slug to Wisdsol support to get your admin login created.
hill-spring-jhs). It cannot be changed after registration — choose carefully./s/your-slug/. Your admin login is created by the Wisdsol platform administrator. Contact info@wisdsol.com with your slug to request access.The platform is not Ghana-only. When you register you choose your country and the kind of institution you run, and your school is created with the right structure from day one.
| System | Levels created | Periods | Marking |
|---|---|---|---|
| Ghana (GES) | Crèche, Nursery, KG, Primary 1–6, JHS 1–3, SHS 1–3 | 3 Terms | Out of 100 (A1–F9) |
| Francophone Togo, Bénin, Côte d'Ivoire, Sénégal, Burkina Faso, Mali, Niger… | Maternelle 1–3, CP1, CP2, CE1, CE2, CM1, CM2, 6e–3e (BEPC), 2nde–Tle (BAC) | 3 Trimestres | Note sur 20 (moyenne 10/20) |
| Tertiary (English) | Level 100–400, Postgraduate Diploma, Masters, PhD | 2 Semesters | GPA letters A–F, credit hours |
| Tertiary (LMD) | Licence 1–3, Master 1–2, Doctorat | 2 Semestres | Note sur 20 + crédits |
| Cambridge International NEW | Early Years 1–2, Primary Stage 1–6, Lower Secondary Stage 7–9, Year 10–11 (IGCSE), Year 12–13 (AS & A Level) | 3 Terms | Out of 100, graded A*–G (pass at E, grade C at 60) |
| Montessori NEW | Nido, Infant Community, Children's House 1–3, Lower Elementary 1–3, Upper Elementary 1–3, Adolescent 1–3 | 3 Terms | Mastery: Introduced / Practising / Mastered |
Choosing Cambridge creates the full Cambridge Pathway and its subjects:
- Stages — Early Years, Primary Stage 1–6, Lower Secondary Stage 7–9, then Year 10–11 for IGCSE and Year 12–13 for AS and A Level.
- Core subjects — English, English as a Second Language, Mathematics, Science, Global Perspectives, Computing/ICT, Art & Design, Music, Physical Education and French.
- IGCSE and A Level options — Biology, Chemistry, Physics, Combined Science, Additional Mathematics, Computer Science, Business Studies, Accounting, Economics, Geography, History, Literature in English, Sociology and Design & Technology, each attached only to the years that offer them.
- Fee types include Cambridge Registration (CAIE) and Examination Entry alongside the usual tuition, resources, laboratory and ICT fees.
- Assessment is class work, assignment, mid-term and end-of-term, weighted 40% continuous to 60% examination.
Montessori is grouped by planes of development rather than year groups, because a Children's House holds three ages working together and splitting it into separate year groups would misrepresent how the class actually runs.
- Levels — Nido and Infant Community (0–3), Children's House (3–6), Lower Elementary (6–9), Upper Elementary (9–12) and the Adolescent Programme (12–15).
- Curriculum areas instead of school subjects — Practical Life, Sensorial, Language, Mathematics, Culture & Science, Geography, History, Botany, Zoology, Geometry, Art, Music & Movement, Grace & Courtesy and Peace Education.
- Assessment is mastery-based. A child has been Introduced to a piece of work, is Practising it, or has Mastered it. Records are an Observation Record, a Work Cycle Review and a Term Progress Report, weighted 70% to the continuous observation.
- Fee types include a Montessori Materials Fee and Observation & Assessment, plus aftercare and outdoor activities.
For a francophone school everything appears in French — classes read CM2 – Cours Moyen 2, subjects read Français, Mathématiques, SVT, Physique-Chimie, ECM, EPS, and periods read Premier Trimestre. Marks are entered out of 20 and the system refuses a mark above 20.
For a tertiary institution a class becomes a programme cohort (for example BSc Computer Science at Level 200) and a subject becomes a course with credit hours. Semesters replace terms automatically.
Registering does more than create classes. Your whole working setup is prepared in your own language and currency, so nothing has to be typed in English first and renamed later.
| What | Francophone school (e.g. Togo) | Ghana school |
|---|---|---|
| Classes | Maternelle 1–3, CP1–CM2, 6e–3e, 2nde–Tle | Crèche–KG, Primary 1–6, JHS 1–3, SHS 1–3 |
| Subjects | Français, Mathématiques, SVT, Physique-Chimie, ECM, EPS… each with a coefficient | English, Mathematics, Integrated Science, Social Studies… |
| Periods | Premier / Deuxième / Troisième Trimestre | First / Second / Third Term |
| Assessment types | Interrogation écrite, Devoir, Composition — all marked out of 20 | Class Test, Mid-Term Test, End of Term Exam — out of 100 |
| Score weighting | 40 % devoirs + 60 % composition | 30 % class score + 70 % exam |
| Grading | Note sur 20 — Très Bien, Bien, Assez Bien, Passable, Insuffisant | Out of 100 — A1 to F9 |
| Fee types | Frais d'inscription, Frais de scolarité, Frais de cantine, Transport, Fournitures, Cotisation APE… | Tuition, Building Fund, PTA Levy, Boarding, Lunch… |
| Expenses & income | Salaires du personnel, Entretien, Subvention de l'État, Don… | Staff Salaries, Maintenance, Government Grant, Donation… |
| Currency | XOF (or XAF) | GHS |
Every one of these is a starting point, not a rule — rename, deactivate or add your own at any time under the relevant settings page. Tertiary institutions get the equivalent set: Contrôle continu / Examen de mi-semestre / Examen de fin de semestre, semester periods, and fees such as Frais de formation and Frais de soutenance.
python manage.py seed_education_system --slug your-slug. It never duplicates existing classes or subjects.A francophone school does not print the English report card — it prints a proper bulletin de notes. This happens automatically: if your education system is francophone, every report card page and every class print becomes a bulletin, with no setting to change.
- Notes sur 20 for each subject, with weak marks in red and strong marks in green.
- Coefficient per subject, plus the Moy.×Coef column. Core subjects are seeded at coefficient 3, options at 2, and extra-curricular at 1 — you can change any of them under Academics → Subjects.
- Moyenne générale = total des points ÷ total des coefficients, shown large with the mention (Très Bien, Bien, Assez Bien, Passable).
- Rang per subject and overall, out of the class effectif.
- Appréciation per subject (Très Bien → Très Insuffisant) and a general appreciation from the conseil de classe.
- Statistiques de la classe: moyenne de la classe, plus forte and plus faible moyenne, and how many pupils reached 10/20.
- Décision (Admis / Doit redoubler) and signature blocks for the professeur principal, chef d'établissement and parent.
To print a whole class at once use Results → Class Report Cards — each pupil's bulletin starts on its own A4 page.
If your school runs in French but a colleague is reading the English manual (or the other way round), this table maps the terms used across the two versions.
| English | Français | What it means |
|---|---|---|
| Term | Trimestre | One of the three teaching periods in a school year |
| Semester | Semestre | One of the two periods used by tertiary institutions |
| Report card | Bulletin de notes | The printed record of a pupil's results |
| Class | Classe | A teaching group, e.g. CM2 or 3e |
| Subject | Matière | A taught subject, e.g. Mathématiques |
| Course (tertiary) | Cours / UE | A tertiary course carrying credits |
| Grade / Mark | Note | The score a pupil obtained |
| Average | Moyenne | Weighted average of all subjects |
| Coefficient | Coefficient | The weight of a subject in the moyenne |
| Position / Rank | Rang | The pupil's place in the class |
| Remark | Appréciation | The written comment beside a mark |
| Pass mark | Moyenne de passage | 10/20 in francophone systems |
| Guardian / Parent | Parent / Tuteur | The adult responsible for the pupil |
| Staff | Personnel | Everyone employed by the school |
| Teaching staff | Personnel enseignant | Staff who teach classes |
| Fees | Frais de scolarité | What families pay the school |
| Receipt | Reçu | Proof of a payment |
| Attendance | Présence / Assiduité | Daily record of who was present |
| Enrolment / Admission | Inscription / Admission | Joining the school |
| Promotion | Passage de classe | Moving pupils up at year end |
Universities, polytechnics, colleges of education and training institutes use the same system, with the vocabulary mapped to higher education:
| In a school this is… | In your institution it is… |
|---|---|
| A class | A programme cohort — name it for the programme (e.g. BSc Computer Science) and set its level (Level 100–400, or Licence 1–3 / Master / Doctorat) |
| A subject | A course, with a credit hours value used in GPA weighting |
| A term | A semester — two per academic year instead of three terms |
| A class teacher | The course lecturer or programme coordinator |
- English-medium institutions are graded on GPA letters A–F out of 100, with a 40 pass mark.
- Francophone (LMD) institutions are graded sur 20 with credits, pass at 10/20, and print the bulletin layout.
- Set credit hours per course under Academics → Subjects. Seeded general courses start at 3 credits.
Linking Expenses & Income to the Chart of Accounts NEW
Every expense and every item of other income can now be linked to an account in your chart of accounts, so the same figure serves both the office and the accountant.
- When recording an expense, choose the Chart of accounts entry it is debited to. Only expense accounts are offered, so a spend cannot be posted to a revenue account by mistake.
- When recording other income, choose the account it is credited to. Only revenue accounts are offered.
- The account appears in its own column on the expense and income lists, showing the code and name.
- You can change the account later by editing the record, or clear it by choosing — Not linked —.
Rather than choosing an account by hand on every single entry, you can tell each category which account it normally posts to. Do it under Fees → Expense Categories or Income Categories.
- When adding a category, pick its account from the dropdown beside the name.
- For an existing category, click the pencil and choose the account there. The chosen account shows in its own column, or Not set.
- Expense categories only offer expense accounts, and income categories only revenue accounts.
- Once set, choosing that category while recording an expense or income fills in the account for you. It stays a suggestion — you can change the account on that particular record, and once you do, changing the category will not overwrite your choice.
- Choose — No account — to remove the link again.
Once an expense or income record carries an account, it becomes visible to the accountant without anyone re-keying it.
- Accounting → General Ledger lists them alongside the journal lines for that account, in date order, tagged Expense or Income so their origin is obvious. Expenses appear as debits, income as credits.
- Only approved expenses appear — something still awaiting approval is not yet a committed cost.
- Untick Include Fees entries if you want the journal lines on their own.
- Accounting → Account Book has a From Fees column showing the total recorded that way against each account, with the number of entries. Click the figure to open those entries in the general ledger.
Money recorded anywhere in Finance is now posted into the ledger as proper double-entry, so it appears in the account balances, trial balance and income statement — not just in a side column.
| Transaction | Posts when | Double entry |
|---|---|---|
| Fee payment | the receipt is recorded | Dr cash/bank · Cr the fee structure's revenue account |
| Arrears payment | the receipt is recorded | Dr cash/bank · Cr the fee income account |
| Service payment (feeding, transport) | the receipt is recorded | Dr cash/bank · Cr the plan's revenue account |
| Other income | it is recorded | Dr cash/bank · Cr the chosen revenue account |
| Expense | it is approved | Dr the expense account · Cr cash/bank |
- An expense posts on approval rather than on entry — that is the moment the cost is committed.
- Fee payments follow the account set on the fee structure; service payments the account on the service plan. Set those once and every receipt posts itself.
- Payments post however they were taken — the payment desk, bulk entry, an import or the parent portal — so no route quietly bypasses the ledger.
- The message after saving tells you the journal number, for example
EXP-202609-0001, so you can find it in the journal. - Each record is posted once. Approving something twice, or re-running the backfill, cannot create duplicate entries.
- Anything not yet posted — no account set on the fee structure or plan, or no cash/bank account in your chart — still shows in the From Fees column so it is never invisible.
- A bookkeeping problem never blocks a receipt. If something cannot be posted, the payment is still recorded and the receipt still prints; the posting can be done later.
python manage.py post_fees_to_ledger --slug your-school. Add --dry-run first to see what it would do.The accounts themselves live in Accounting → Chart of Accounts. Click Edit on any account to change its code, name, type or description — there is also a Manage accounts link beside the account box on the expense and income forms.
- Changing a code is safe: every expense, income record and journal line already posted to that account follows it automatically, because they are linked to the account itself rather than to the text of its code.
- Two accounts cannot share a code — if you try, the system names the account already using it.
- Built-in accounts show their code but do not let you change it, since the seeded chart refers to it. You can still rename them.
- Only staff with Edit accounting rights can add or change accounts. A headmaster with view-only accounting access can read the chart but not alter it.
Daily Transactions Report (A4)
At Finance → Daily Transactions you can print a full record of one day's money on A4 — the sheet a bursar signs at close of business.
- Pick any date, or step back and forward a day at a time with the arrows. It opens on today by default.
- Every transaction is listed individually, not just as totals: fee payments, arrears, service payments, other income and expenses — each with its receipt number, who paid, the method, and who received it.
- A Received by method box splits the day's receipts into cash, bank transfer, mobile money and so on, so the cash figure can be checked against what is actually in the drawer before anyone signs.
- The summary box shows total received, less approved expenses, and the net for the day. Pending expenses are listed for information but not deducted.
- Signature lines for Prepared by, Checked by and Head of School are printed at the bottom.
Fees After Moving to a New Academic Year NEW
A fee structure belongs to a term and points at a class. When you move into a new academic year both of those change, so last year's structures are not used for this year — which is why Auto-Assign Fees can appear to do nothing, and why no receipts appear afterwards: with no fees assigned there is nothing to pay and nothing to print.
Nothing is lost. The fees simply have to be carried forward, and there is now a page that does it.
You no longer have to remember. The moment you make a term current — whether you create it or switch to it — the school's mandatory fees are carried forward into it and every active student is billed.
- The fees come from the most recent earlier term that has them, re-pointed at the class with the same grade level in the new year.
- It also runs after a promotion, so students who have just moved up are billed for their new class straight away.
- Only mandatory fees are carried forward and assigned. An optional fee is a per-student choice, and billing everyone for one would be wrong — copy those by hand when you need them.
- Nothing is ever duplicated. A fee already in the term is left alone, and a student already billed keeps the record they have, including anything already paid.
- Amounts are carried over unchanged. Raising them is your decision — use the page below to apply an increase.
- If a fee belongs to a level you have not created a class for yet, it is skipped and reported rather than turned into a school-wide fee.
Use this when you want to choose the source term, apply an increase, or bring optional fees across as well.
Go to Finance → Copy Fees to This Term.
- Choose the term to copy from — the most recent term that has fee structures is selected for you.
- Optionally increase all amounts by a percentage, which is usually what happens at the start of a year. Leave it at 0 to keep last term's amounts.
- Each fee keeps its name, type, mandatory flag and account, and is re-pointed at the class with the same grade level in the new year — so "Tuition — JHS 1" becomes this year's JHS 1.
- A fee for a level you have not created yet is skipped and reported, never quietly turned into a school-wide fee.
- Anything with the same name and class already in this term is skipped, so running it twice cannot duplicate your fees.
Then run Finance → Auto-Assign Fees as usual and every active student is billed.
Daily, Weekly & Monthly Summaries
Under Finance → Daily / Weekly / Monthly you can see how the school is actually doing over time, without exporting anything to a spreadsheet.
- Switch between Daily, Weekly and Monthly with one click. The default window is the last 30 days, 12 weeks or 12 months.
- Set your own From and To dates for any period you like — a single week, a term, a whole year.
- Each row shows fee payments, arrears, service plans and other income separately, then total income, approved expenses, the net, and how many pupils were enrolled in that period.
- A chart above the table plots income against expenses with the net as a line, so a bad week is visible at a glance.
- The summary cards show the totals for the whole window, the average per period, and which period brought in the most.
Store & Item Distribution
Run the school store from the Store & Inventory tab in the sidebar: what you buy, what you hold, and what each pupil or staff member has actually received — whether it was free or paid for.
The tab opens onto everything the store needs:
| Menu item | What you do there |
|---|---|
| Store Dashboard | Stock value, low-stock warnings, what is owed to suppliers and by recipients, and the latest hand-overs. |
| Items | Add and edit items with photos, prices, units and reorder levels. |
| Item Categories | Create your own groups — Stationery, Uniforms, Sports, Food — so items are easy to find and filter. |
| Give Out Item | Hand an item to a student or staff member, free or charged. |
| Items Given Out | Every hand-over, filterable by payment status, with the balance still owed. |
| New Stock Supply | Record a delivery — stock goes up automatically. |
| Stock Supplies | All deliveries, their payment status, and paying a supplier. |
| Suppliers | Supplier details with total supplied, paid and still owed. |
| Who Receives What | Set entitlements — what each class or group should receive. |
| Coverage Report | See who has received their items and who is still waiting. |
Before adding items it helps to set up your own categories under Store & Inventory → Item Categories — for example Stationery, Uniforms, Sports and Food. Type a name, add an optional description, and it appears immediately in the category list when you create an item.
- The Order number controls where a category sits in the list — lower numbers come first.
- The table shows how many items are in each category; click the number to see them.
- Deleting a category never deletes items. Any items in it simply become uncategorised, so you can reorganise the list without risking stock records.
- Two categories cannot share the same name, so the list stays clean.
- Add anything you hand out — exercise books, uniforms, sports kit, food, teaching materials — with a photo, code, category, unit and description.
- Mark each item Free, Paid, or Either (decided at the moment you give it out), and set the price charged.
- Choose whether it is for students, staff, or both.
- Set a reorder level and the dashboard warns you when stock runs low; items can also be marked as not stock-tracked.
- Record each delivery against a supplier with an invoice or waybill number, several item lines, quantities and unit costs. Stock goes up automatically and the item remembers its latest cost.
- Enter what you paid the supplier. The status — Unpaid, Partly paid or Fully paid — is worked out from the figures, so it can never contradict them.
- Pay a supplier later straight from the supplies list; the balance and status update themselves.
- The supplier list shows total supplied, total paid and the balance still owed to each one.
- Pick the item, choose a student or a staff member, and enter the quantity. Stock is deducted, and the system refuses to issue more than you hold.
- Every hand-over records who gave it out and who received it, with the date, academic year and term.
- Tick Give free of charge, or charge for it and record how much was paid now — leaving a balance the recipient still owes. Free items are shown as such rather than as unpaid debts.
- The issued list can be filtered by payment status, and shows the total still owed by recipients.
Under Who should receive what you set entitlements — for example "every pupil in JHS 1 receives 4 exercise books this year", or "all staff receive 1 diary". The coverage report then shows a progress bar with two lists: who has received their items and who is still waiting, so nobody is missed.
Subscriptions
Each school on the platform requires an active subscription. Subscriptions are managed by the platform superadmin at Admin → Subscriptions.
Every package is sold monthly, per term or annually, and is priced in your own currency — GHS for Ghana and other anglophone countries, XOF for Togo, Bénin, Côte d'Ivoire, Sénégal, Burkina Faso, Mali and Niger. You only ever see the packages that apply to your country and type of institution.
| Package | Best for | What's included |
|---|---|---|
| Starter up to 300 students |
Small schools getting started | Students, staff, attendance, fees and results, parent portal, student logins, English/French interface — and the francophone bulletin de notes. |
| Standard up to 1,000 students |
Most schools | Everything in Starter, plus accounting, payroll, assignments, report books, custom roles, the school store and data export. |
| Premium up to 5,000 students |
Large schools and school groups | The complete platform — everything in Standard, plus the gate & visitor module and graduation & award certificates. |
| Campus up to 10,000 students |
Universities, polytechnics, colleges | The complete platform tuned for tertiary work — programme cohorts, courses with credit hours, semesters and GPA or LMD grading, certificates included. |
As the platform administrator you decide, package by package, which parts of the system a school gets. Go to Admin → Package Functionality.
- The first screen is a grid of every package against every feature, so you can see at a glance what Starter includes and where Premium differs. A tick means included, a dash means not.
- Click any package to open its checkbox editor. Features are grouped into Core records, Academics, Finance, People & access, and Extras, each with a short explanation of what it controls.
- Use Include everything, Clear all or the tick box on a group heading to move quickly, then Save package.
- A * in the grid means that feature has never been set on that package, so it is following the platform default. Saving the package once pins every feature explicitly.
The platform team can send announcements, updates and documents straight to school administrators. You will find them under Admin → From Wisdsol Tech, with a red badge in the menu when something is unread.
- Each message shows its category (announcement, new feature, maintenance, billing, training, policy) and is marked Important or Urgent where it matters.
- A message may carry a file to download — a guide, a policy document, an invoice template — and a link.
- Opening a message marks it as read, which clears the badge.
Rather than writing every notice from scratch, a set of ready-made announcements can be loaded as drafts — maintenance windows, price changes, renewal reminders, new features, training invitations, incident apologies, policy updates, end-of-term checklists, security advisories and feedback requests. Each comes in English and French.
- They arrive as drafts, so no school can see them. Nothing is sent until you publish it.
- The sample text is deliberately obvious — dates read
SAMPLE — 00 Month 0000and pricesEXAMPLE 0,000— so a draft can never be mistaken for a finished notice. - Open one under Admin → Bulletins to Schools, replace the sample details with the real ones, choose who receives it, then tick Published.
- Each version is already addressed to the right countries — the English one to anglophone countries, the French one to francophone countries — so no school receives the same notice twice.
python manage.py send_bulletin_template --all. Running it again never duplicates anything.So an important notice is not missed, the newest unread message also appears as a popup when you open the system.
- Only one message appears at a time — the most important unread one. Urgent comes before Important, which comes before pinned, then the newest. If there are others waiting, the popup says how many.
- Got it marks the message as read and it will not appear again.
- Later hides it for now; it comes back next time you sign in, and stays marked unread.
- Read in full opens the complete message, with any attachment.
- The popup is only shown to staff who can manage users — teachers and other staff are never interrupted by it — and never appears on print pages or on the message pages themselves.
From Admin → Bulletins to Schools the platform owner writes a bulletin, attaches a file, and chooses who receives it:
- All schools, selected schools, schools in chosen countries, or everyone on a given plan.
- Save it as a draft, schedule when it appears, set when it should disappear, and pin important notices to the top.
- The Read column shows how many administrators opened it; clicking through lists who has read it and which schools have not yet.
- 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.
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.
My Subscription & Plan — current plan status, active features grid, and side-by-side plan comparison with upgrade button.
Customise Your Landing Page
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.
- 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.
Your school's public landing page includes an Install App button in the navbar and a dedicated install section. When a visitor opens your landing page on a compatible browser, the button appears and lets them install your school's app directly on their device. The installed app uses your school's name, logo, and primary colour — not the generic Wisdsol branding. See the Install App (PWA) section for more details.
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.
Academic Year & Terms
Go to Admin → Academic Years & Terms to create or edit the school calendar.
- Click Add Academic Year and enter the label (e.g. 2025/2026), start and end dates.
- Click Add Term under the year to create Term 1, 2, and 3 with their start/end dates.
- Click Set as Current next to the active term.
Classes & Subjects
Classes are no longer forced to display as "Primary 1", "JHS 2" etc. Give any class a custom name (e.g. Class One, Grade 1 – Eagles) when adding or editing it — the custom name then appears everywhere: class lists, dropdowns, student pages, reports and the parent portal. Leave the name blank to keep the standard level label. The underlying Level (GES) field stays, powering ECD report cards, promotion order and imports — so pick the level that matches the class curriculum. You can also run several streams on the same level with different names (e.g. Eagles and Lions both on Primary 1).
The Crèche / Nursery / KG checklist report is now fully yours. At Results → ECD → any report → Customise Report Template (or /results/settings/ecd-template/) you can rename sections and checklist items, remove what your school doesn't assess, reorder everything, and add your own sections and items — for example a local-language section ("Counts to 20 in Ewe") or Montessori practical-life skills. Each section chooses its rating set (G/S/P/NI or A/B/C/D). Entry forms and printed reports — single and whole-class batch — follow the template immediately. Ratings already entered stay attached to their items; renaming a label keeps its data, and Reset to Standard restores the GES / Soul Clinic layout at any time.
Every subject row now has Edit and Delete buttons at Academics → Subjects. Renaming a subject updates it everywhere instantly. Deleting is blocked for subjects that are attached to classes or have recorded results — rename instead, so academic history is never destroyed.
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.
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.
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 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.
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 ID —
STU-2025-0001 - Admission Number —
ADM-2025-0042
You can still type your own ID format — the auto-generation only triggers when the field is left blank.
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.
Students can sign in to their own portal. Create their accounts from Students → Student Logins — pick a class, tick the students, and choose Create / Reset selected logins. You can also create or reset a single student's login from the Create Login button on their record.
- Username is the student's first name. If two students share a first name, a number is added automatically (e.g.
kwame,kwame2). - The first-time password is the student's ID number.
- On first login the student is taken straight to the change-password screen and cannot use any other page until they set their own password. After that they log in normally.
- Reset Login puts the password back to the ID number if a student forgets it — they will be asked to choose a new one again.
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.
Admission Applications
Prospective families can apply online via the public form at Apply for Admission on your school's landing page — no account required.
- Applicant fills in the form: student details, class applied for, and guardian information.
- Admin reviews pending applications at Academic → Admissions.
- 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.
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.
Each staff record has a Teaching staff tick box. Leave it ticked for teachers and instructors; untick it for support staff such as cooks, accountants, drivers or security. The Teaching Staff figure on the main dashboard counts only teaching staff, with the number of support staff shown beside it. Existing records are set automatically from their position when this feature is installed, and you can adjust any of them on the staff edit form.
Admins and heads can share a document with chosen staff. Go to Academic → Shared Files and click Share a File: give it a title, upload the document (PDF, Word, Excel, image — anything), then either pick the exact staff who may open it or share it with all staff. Use Access on any file later to grant or revoke individuals, hide the file, or edit its details.
Every staff member sees the files shared with them at My Files — they only ever see their own. Files are delivered through a secure, permission-checked link, so a staff member can never open a file they have not been granted.
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.
The role sets sensible defaults, but you can shape any user's access to your own school's structure. On the user list click the access button to open a checkbox grid of every part of the system, grouped by module. Boxes tagged role are what that user's role already grants.
- Tick an extra box to give this user access to something their role normally excludes — e.g. let one trusted secretary collect fees.
- Untick a role box to take that away from this user only — e.g. stop a particular teacher from editing results.
- Use Select all, Clear all, the group tick box, or Reset to role defaults to move quickly.
Only the differences from the role are saved, and only for that one user — everyone else keeps their role defaults. Platform administrators always have full access and are not listed here.
Beyond the built-in roles you can define your own. Go to Admin → Roles and click New Role: give it a name (e.g. Librarian, Sports Coordinator, Bursar Assistant), then tick the permissions it should have from the same module-by-module grid. Save, and the role appears in the role list when you create or edit a user.
- A custom role grants exactly the permissions you tick — nothing more. The sidebar automatically shows only the sections those permissions cover.
- You can still fine-tune an individual user on top of their role using the access button, exactly as with built-in roles.
- A role can't be deleted while users still have it — reassign them first. Marking a role inactive stops it being offered for new users while leaving current holders untouched.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
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.
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.
Attendance Tracking
Go to Records → Attendance. Teachers mark attendance for their assigned class each school day.
- Select your class and the date (defaults to today).
- The full class list loads automatically. Click each student's status: Present (P), Absent (A), or Late (L).
- Add a reason for absences using the notes field beside each student.
- Click Save Attendance. The record is timestamped with who marked it.
- 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 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, entering their PIN, or typing their full ID number (e.g. STU-2026-0042 or TCH-008).
The camera scanner has been rebuilt for speed and real gate conditions:
- Continuous scanning — the camera stays on between scans, so a whole line of students can clock in one after another. Each result card shows for ~2.5 seconds with the child's photo, then the scanner is ready for the next person automatically.
- Beep + green flash + vibration on every successful scan — clear confirmation even on gate tablets with no vibration motor or in bright sunlight.
- Auto-torch in low light — at dawn or dusk the scanner measures the camera image and switches the torch on by itself.
- Auto-zoom assist — if nothing is detected for a few seconds the camera zooms in slightly, which helps read the small QR on an ID card held at arm's length.
- Tap to refocus — tap the camera preview if the phone focuses on the background instead of the card.
- Much faster decoding on low-cost Android phones and iPhones (adaptive scanning engine with a periodic full-resolution pass for far-away codes).
Below the PIN pad there is now an ID field. Anyone can type their full Student or Staff ID instead of a PIN. This is also the answer the kiosk gives if two people happen to share a PIN.
Clock PINs are now guaranteed unique across students, staff and pickup persons. Previously a student and a staff member created in the same year could both derive the same PIN from their IDs, silently locking one of them out of the kiosk. If your school has older data, run:
python manage.py fix_pin_conflicts --all-schools (then reprint the affected ID cards).
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.
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.
Staff and students can clock themselves in on their own phones at Clocking → Mobile Clock. No login required — just scan or enter PIN.
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
Go to Finance → Fees Dashboard. The system supports multi-term fee structures, bulk fee assignment, scholarships, bulk payment, advance payments, and service plans.
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.
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.
- Search for the student by name or admission number.
- 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.
- 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.
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.
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.
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").
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:
- Open the student's fee page. Their active scholarships appear as green badges in the header.
- Click the Re-apply button next to the scholarship badge.
- 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.
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
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.
- Search for the student by name, ID, or admission number. Click their name from the list.
- 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.
- 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.
- 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.
Scholarships & Discounts
Go to Finance → Scholarships. Scholarships reduce a student's fee balance automatically once awarded.
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.
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.
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.
Arrear Balances
Class batch report printouts and the academic evolution reports (standard and ECD) now carry each student's fees strip: current term balance, arrears, total balance owed, the next period's fees, and the combined total — the same figures as the single report card, in a compact row on every student's page. When the selected term is the last of the academic year, the next bill automatically rolls over to the first term of the next academic year, priced at the student's promoted grade level (plus school-wide fees) — so end-of-year reports tell parents exactly what the new year will cost.
Report cards, batch printouts and evolution reports now auto-adjust their content to fill the A4 sheet — short reports scale up to remove large blank space, and slightly-too-long reports scale down to stay on one page. This happens automatically when the page loads and again before printing.
Certificates can now be issued in Landscape or Portrait — a new orientation toggle in both builders, saved with each record so reprints keep the layout. The recipient's name and title also auto-fit their width: long names shrink to fit and short names grow to fill the line, removing the empty space at the sides.
The Award and Graduation certificate builders gained two designs — Platinum Portrait and Sunrise Portrait — with a much larger student photo (150px vs the standard 96px), ideal when the photo should be the centrepiece. The chosen photo size is saved with each issued certificate, so register reprints and parent-portal reprints reproduce it exactly. The student's date of birth no longer appears on graduation certificates.
When recording an expense or other income, you can now attach a supporting document — a receipt photo, invoice, quotation, cheque photo, grant letter or deposit slip (JPG/PNG/WebP or PDF, up to 8 MB). Records with a document show a paperclip in the lists — click it to view. For expenses this means approvers can inspect the actual receipt before approving; editing an income record lets you replace its document. Attaching a file is always optional.
On the Bulk Fee Payment page, enter the total amount the parent is paying in the green box at the top. As you type amounts into the fee fields, the Remaining to allocate figure updates live — amber while there's money left to spread, green ✓ when fully allocated, and red if you've entered more than was handed over. Auto-Distribute spreads the total across the outstanding fees from top to bottom in one click, filling each up to its balance.
Each daily-service package (feeding, transport…) now has a Select Students page — from the Service Plans cards or the plan's Subscriptions page. Filter by class or search by name/ID, tick the students, and Add Selected puts exactly those students on the package (students already enrolled show an "On package" badge and are skipped automatically). Remove Selected takes students off — but anyone with payments recorded on the plan is protected and kept; pause those subscriptions instead. "Select all NOT yet enrolled" makes topping up a class roster one click.
The Fee Structures list now has a search box (matches the name, fee type, class and academic year) and sortable columns — click Name, Type, Amount, Class or Term to sort, click again to reverse. Search and sort combine, and the counter shows how many structures match.
Report cards and ECD reports print the balance owed alongside the fees for the next term/semester. You now select which structures make up that figure: each fee structure has a "Count in next period's fees on report cards" tick (on by default). Untick optional levies — excursions, one-off items — and they stop inflating the "Next Term" amount parents see, while remaining fully billable as normal.
When nothing changes between terms, use Fees → Fee Structures → Copy to Another Term: pick the source term (e.g. First Term) and the target term, preview exactly what will be copied, and confirm. Structures that already exist in the target term (same name and class) are skipped automatically, so re-running is always safe. Annual fees are excluded since they are billed once per year. After copying, run Auto-Assign to bill students for the new term.
When adding a fee structure you now choose what it applies to: a single term (e.g. termly tuition), the entire academic year — billed once (annual fees like PTA dues or books; the fee is anchored to the year's first term and labelled Annual everywhere), or the entire academic year — every term, which creates a copy of the fee in each term of the year in one go. Existing structures can be switched between single-term and annual from their edit page. The structures list shows the covered period, with an Annual badge on year fees.
Fee categories are no longer fixed. At Fees → Fee Structures → Manage Fee Types you can rename any type (existing structures show the new name everywhere immediately), hide types your school doesn't use so they disappear from the dropdown, and add your own — e.g. ICT Levy, Bus Fee, Development Levy. Types that are in use by fee structures can't be deleted, only hidden, so historic records always keep a valid category. The standard Ghanaian set (Tuition, PTA Levy, Boarding, …) ships as the starting point.
Every row at Fees → Fee Structures now has two extra buttons. Reverse assignment () undoes an auto-assign: it removes the structure's unpaid student fee rows after a full preview — rows with any payment, cancelled rows and arrears history are never touched, so student balances simply drop by the unassigned amounts. You can also tick several structures at once (checkbox column + select-all) and use Reverse Selected — a combined preview shows per-structure counts before anything is removed. Delete () removes the structure itself together with its unpaid assignments, but is blocked while any assignment carries payments — deleting those would destroy receipts and the audit trail. The delete screen links you to the two safe alternatives (reverse the unpaid rows, or bulk-cancel the rest) when it is blocked.
When you switch to a new academic year, go to Fees → Arrears → Roll Unpaid Fees to Arrears (a reminder banner also appears automatically after the year change). The screen previews every student with unpaid balances from previous years; confirming creates one arrear balance per student per year and closes the old fee rows, so the new year starts clean while the debt stays collectable through the Arrears module. The action is safe to re-run — already-rolled fees are never counted twice.
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.
- Prepare a
.xlsxor.csvfile with columns: admission_number, amount, and optionally description, academic_year, notes. - Upload the file and set a default academic year and description for rows that don't have them.
- Click Preview to review each row — green OK rows are valid, red Error rows show what's wrong.
- Click Confirm Import to save all valid records.
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.
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.
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.
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.
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.
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.
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.
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.
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.
ID Card & Certificate Designs
At Clocking → ID Cards → Design & Colours choose one of five card designs — Classic, Bold, Minimal, Gradient and Stripe — and set your school's own primary and accent colours, separately for student and staff cards. The choice applies instantly to single-card and bulk printing. Mini previews on the settings page repaint live as you pick colours.
The Award and Graduation certificate builders now include a Designs row with five ready-made colour schemes — Royal Gold, Emerald, Royal Blue, Burgundy and Slate Minimal. One click applies the scheme to all five colour fields and refreshes the preview; you can then fine-tune each colour as before. Reprinted certificates keep the exact design they were issued with.
The student photo on award and graduation certificates is now much larger and more prominent. In both builders you can also upload a different photo just for the certificate — for example a graduation-gown photo instead of the everyday profile picture. The uploaded photo is stored with the certificate record, so reprints (including from the parent portal) always show the photo the certificate was issued with. Only images uploaded into the school's own storage are accepted on certificates.
The Award and Graduation registers now have a checkbox per record and a select-all header. Selecting one or more records reveals a Delete Selected button (admins and headmasters only) with a confirmation prompt — cleaning up test entries or an entire wrong batch takes seconds instead of one delete at a time.
School Forms — Admission & Your Own Forms
At Students → Admissions → Printable Admission Form the system generates your admission form as a polished A4 document with your logo, motto and contacts — and Print / Save as PDF exports it to PDF. Every part is editable via Customise Admission Form, and it ships pre-built with applicant information, previous schooling, a parents' background section (occupation, employer, contacts) and a Parents' Level of Education checkbox grid (Father/Mother × JHS…PhD), enrollment-requirement and Crèche daily-items checklists, a live Admission Fee Schedule grouped by grade level, a fees note and signature lines.
At Students → Admissions → All School Forms you can create any printable form your school needs — medical information, field-trip consent, withdrawal, parent agreements, staff declarations. Type a name, click Create & Design, and build it from the same blocks as the admission form: text, fill-in fields, checklists, checkbox grids and signature lines. Each form has its own Print / Save-as-PDF page. The admission form is built-in and can't be deleted — everything else is fully yours to add, edit or remove.
When any form is published, the landing page navigation also shows a "Forms" tab that jumps visitors straight to the downloads section.
The admission form is published out of the box — prospective parents see a prominent Download Admission Form button right in the landing page hero (and again in the bottom call-to-action), open it, print or save it as PDF, fill it at home and bring it to the school office. No account needed. Unpublish it any time from All School Forms if you prefer applications on paper collected at the office only.
Every form has a Published / Hidden toggle. Published forms appear automatically in a "Forms & Downloads" section on your school's public landing page, where parents can open, print or save them as PDF — no account needed. Publish your customised admission form so prospective parents download it straight from your website; unpublish any form to take it down instantly. Hidden forms are never accessible publicly.
Daily & Weekly Report Books
Two optional teacher report books, digitised from the classic paper books and enabled per school by the Wisdsol platform team — if you'd like them switched on, contact support. Once enabled, Daily Report Book and Weekly Report Book appear in the sidebar just above Results. Each report can be filled, updated any number of times, and printed / saved as PDF for the child's bag; the class list shows at a glance which children are Filled or Not filled for the selected day or week.
At Daily Report Book, pick the class and day to see each child's fill status, then complete their report exactly like the paper book: how the child woke up (happy/sad, slight temperature, no breakfast) with the mother's message; feeding (Breakfast, First Snack, Lunch, PM Snack — time and Most/Some/All/None); active period (music & movements participation, Circle Time, Jolly Phonics) and class activities with topic areas (Numeracy, Literacy, Practical Life, Sensorial, Creative Art, OWOP); diaper change / potty training (four checks: urine, stools loose/normal/hard); nap time (I slept / I rested); and the teacher's comments. Reports stay editable all day — save, update, and print or export to PDF for the child's bag.
The ECD report's grading scales (the G/S/P/NI performance set and the A–D art set) can now be customised at Results → ECD Template → Grading Scales — one grade per line as CODE|Label. Teachers' rating dropdowns and the legend on printed ECD reports update immediately, and Reset restores the standard scales.
At Weekly Report Book, pick the class and week (any date snaps to that week's Monday). Each child's report follows the paper grid: subject areas (Literacy, Numeracy & Arithmetics, Practical Life — add more like Sensorial with one click), each with the week's Topic Area, the Introduce / Practice / Done Independently stage ticks, and remarks. Update any time during the week, then print / save as PDF.
Terms or Semesters
Your school chooses its academic period system at School Info → Edit → Academic Periods: Terms (3 per year) — the Ghana basic-school standard — or Semesters (2 per year). Switching renames every period across the entire system instantly: dropdowns, fee structures, receipts, report cards, the parent portal and printed documents all show "First Semester - 2025/2026" instead of "First Term - 2025/2026". When creating periods under an academic year, semester schools are offered two options (First and Second Semester). Existing data is untouched — only the naming changes, and you can switch back at any time.
Promoting Students on Year Change
When you switch to a new academic year, go to Settings → Academic Years → Promote Students (a reminder also appears automatically while students remain in previous-year classes). The screen previews the entire transition before anything happens:
- Promote — students move up one level into the new year (P1 → P2, JHS 1 → JHS 2, …), keeping their section.
- Repeat — students whose final report card of the year was marked Not Promoted stay at their level, in the new year's class.
- Graduate — students at the school's highest level (the top level your school actually runs) have their status set to Graduated.
New-year classes are created automatically per level and section where they don't exist yet, carrying forward custom class names and capacity — you only need to assign class teachers afterwards. The action is safe to re-open: once every student is in a current-year class it reports nothing left to do. Individual placements can still be adjusted on each student's page afterwards.
Parent & Guardian Portal
Parents and guardians get their own portal covering everything about their children. On login they land directly on the portal — school-wide figures such as total students or teaching staff are never shown to parents.
- Family Fee Summary — one pill per child with their overall balance and a combined family total. Balances use the exact same maths as the Finance office (cancelled fees excluded, arrears brought forward included), so the parent, the accountant and the report card always show the same figure.
- Fees & payment history — itemised term fees, arrears brought forward, a grand "Total Outstanding" box, and every payment made in the ongoing academic year (fee, arrears and daily-service payments) with clickable receipts the parent can view and print, including PDF.
- Attendance and gate clock records — today's clock-in/out chips plus a 14-day history with time in, time out and hours at school.
- Evaluation reports, released per term — each term card shows the average and position; the full evaluation report unlocks the moment that term's fees are cleared. Locked terms show exactly how much is left to pay. The unlock happens automatically when the final payment is recorded.
- Awards & certificates — active scholarships and every certificate issued to the child, each with a "View Certificate" button that reprints the original design.
- Authorised pickup persons — parents register up to 5 people with photos allowed to pick up each child. Gate staff verify the face against the photo before release, and can look up any person by phone, Ghana Card or QR at Security Portal → Verify Pickup Person.
- Parents request an account via Request Account Access on the login page. When staff approve a parent request, the system creates the guardian profile automatically and opens the Link Students screen to attach their children.
- Existing users can be linked any time from Users (the button) or from a guardian's page via Link User Account.
A teacher, accountant or any staff member who has children in the school keeps their staff role and gains a "My Children" link in the sidebar. Linking a staff member as a guardian no longer changes their role. They see only their own children in the parent views, and their staff dashboard is unchanged.
Opening a guardian at Students → Guardians now shows each child's overall balance and a Family Total Outstanding — ideal when a parent is at the bursar's desk asking "how much do I owe for all my kids?"
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.
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).
| Card | What it shows |
|---|---|
| Fee Collections | Term fees collected, collection rate progress bar, defaulter count, total discounts applied via scholarships |
| Arrear Collections | Arrear payments received in the selected period, total arrear debt still outstanding, number of open vs cleared records |
| Service Income | Feeding and transport plan payments, broken down by plan name |
| Other Income | Grants, donations, facility rentals, government subventions — broken down by type |
| Card | What it shows |
|---|---|
| Approved Expenses | All approved expenses by category. Pending-approval amount is flagged separately in amber. |
| Staff Payroll | Paid payroll net pay total, gross pay, deductions (SSNIT, tax), and a month-by-month breakdown with staff count |
| Scholarships & Discounts | Total fee revenue foregone through active scholarship awards this term — helps quantify the true cost of bursary programmes |
- 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.
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.
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.
Two tabs at the bottom show the latest 15 fee payments and latest 10 arrear payments, each with a direct Receipt link.
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.
Comprehensive Financial Summary — all income and expenditure streams, KPI cards, payment methods, and fee breakdown in one view.
Expense Approval Workflow
Expenses recorded by the Accountant do not post immediately -- they require approval by an Admin or Director before counting in the Net Surplus figure.
- Accountant records an expense: Finance → Expenses → Add Expense. Saved as Pending.
- Admin or Director opens the expense list. Pending rows show a yellow badge and Approve / Reject buttons.
- Click Approve -- the expense is posted and included in financial reports. Click Reject to decline it.
Your Own Expense & Income Categories
The categories in the Category dropdown when recording an expense or other income are yours to control. The platform ships a standard set (Staff Salaries, Maintenance, Utilities… / Grants, Donations, Rentals…), but every school runs differently — so you can rename them, hide the ones you never use, and add your own.
- Go to Finance → Expenses and click Manage Categories (or Finance → Other Income → Manage Categories). There is also a shortcut link directly under the dropdown on the recording form.
- To add one, type the name — e.g. Fuel & Transport, Bank Charges, Canteen Sales, Hall Hire — and click Add Category. It appears in the dropdown immediately.
- To rename one, edit the text in the table and click the tick. The new name shows everywhere, including on expenses and income recorded in the past.
- To hide one, click the eye icon. It disappears from the dropdown for new entries, but old records keep their label and stay in your reports.
- To delete one, click the bin icon. This is only allowed for categories that no record uses — the table shows the count in the Using It column.
category column accepts either the short code (fuel_transport) or the visible name (Fuel & Transport). Anything unrecognised falls back to Other rather than failing the import.Pension Tiers, Staff Cost & Withholding Tax
Pension tiers (SSNIT)
Go to Staff → Payroll → Pension Tiers. Every tier is a percentage of basic salary, split into what the employee pays and what the school pays:
| Tier | Employee | School | Total | Remitted to |
|---|---|---|---|---|
| Tier 1 — SSNIT Basic Scheme | 5.5% | 8.0% | 13.5% | SSNIT |
| Tier 2 — Occupational Pension | 0.0% | 5.0% | 5.0% | Licensed private trustee |
| Statutory total | 5.5% | 13.0% | 18.5% |
- Edit any rate in the table and click the tick — useful when SSNIT changes the law.
- To add Tier 3 (voluntary provident fund), Tier 4, or a private scheme, fill in the "Add a Tier" form with the employee and school percentages and who it is remitted to.
- Tick Deduct before PAYE if the employee's share reduces taxable pay.
- Use Recalculate Payslips to apply new rates to a month that has already been prepared.
Payroll deduction types
Beyond pension and PAYE, a school can take other deductions off a payslip — a salary advance being repaid, a loan, welfare dues, union dues, a fine. Manage the list at Payroll → Deduction Types, or the shortcut link on the payslip form itself.
- The common ones ship ready. To add your own — Staff Uniform, Canteen, SACCO — enter a name and click add.
- Choose Fixed GHS for a flat amount, or % of basic to charge a percentage of basic salary (e.g. a 2.5% SACCO contribution).
- Give a default value to pre-fill it when it is added to a payslip.
When preparing a payslip, click Add a deduction, pick the type, and enter the amount (or percentage). Add as many lines as you need — each shows separately on the printed payslip, and the net pay updates as you type.
What staff actually cost
Gross pay is not what an employee costs you. The employee's own pension and PAYE come out of gross pay, but the school's pension contribution is paid on top of it. Payroll → Employer Cost shows the real figure:
- Basic + allowances = gross pay
- + employer pension (the only part paid on top)
- + contractors paid under withholding tax, at gross
- = total workforce cost
Pick a single month or a whole year. Click any employee's name for a month-by-month breakdown showing each pension tier separately.
Withholding tax
For people who are not on payroll — contractors, consultants, casual workers, landlords — where you withhold tax at source and pay it to the GRA. Go to Payroll → Withholding Tax and click Record Payment.
- Enter the payee's name and TIN (the TIN is needed for their tax credit certificate).
- Choose the tax category — the rate fills in automatically. Common Ghana rates ship ready: services 7.5%, goods 3%, works 5%, residential rent 8%, commercial rent 15%, non-resident 20%.
- Enter the gross amount. The tax withheld and the net to pay are calculated as you type.
- Override the rate only if the GRA has granted an exemption or reduced rate.
- Mark the record Tax Remitted once you have paid it over, and record the certificate number.
Deleting and reversing payslips
A payslip that has been marked Paid is a financial record, so it is never quietly deleted or edited. It is reversed instead — the row stays, and the system records who reversed it, when, and why.
- Draft or Approved payslips can be deleted outright — nothing has been paid out.
- Paid payslips can only be reversed. A reason is required and is kept on the record.
- A reversed payslip is removed from every total — the payroll month, the employer cost report, and the financial summary. It stays visible in the list, struck through, for the audit trail.
- Restore to Draft undoes a reversal so you can correct the figures and mark it paid again.
Tick the checkboxes in the payroll list to reverse, restore or delete several payslips at once. If a bulk delete includes payslips that are already paid, those are skipped and you are told how many.
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.
Each plan now has a Select Students page (buttons on both the Service Plans list and a plan's Subscriptions page). Filter by class or search by name/ID, tick the students, and Add Selected enrols them in one go — students already on the package show a green badge, and "Select all NOT yet enrolled" ticks only the newcomers. Remove Selected takes students off the package, but subscriptions with recorded payments are never deleted — pause those instead so the payment history stays intact.
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).
- Go to Records → Results → Enter Scores and select the class, subject, and term.
- The student list loads. Enter the Class Score (continuous assessment) and Exam Score for each student.
- The system computes the weighted total using the configured weights (default 30% class / 70% exam for most levels). The GES grade is assigned automatically.
- Click Save Scores. You can return and edit until results are published.
| Score Range | Grade | Remark |
|---|---|---|
| 80 – 100 | A1 | Excellent |
| 70 – 79 | B2 | Very Good |
| 65 – 69 | B3 | Good |
| 60 – 64 | C4 | Credit |
| 55 – 59 | C5 | Credit |
| 50 – 54 | C6 | Credit |
| 45 – 49 | D7 | Pass |
| 40 – 44 | E8 | Pass |
| 0 – 39 | F9 | Fail |
- Click a class from the Results Dashboard.
- Select a subject from the left panel.
- Enter Class Score and Exam Score for each student. Totals and grades update live as you type.
- Use Enter to move to the next student without lifting your hands from the keyboard.
- Click Save All Grades. An unsaved-changes counter tracks any modifications before saving.
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.
Report Card — GES-format with Ghana flag stripe, subject scores, grade badges, class position, teacher remarks, and signature lines.
Score Weight Configuration
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.
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.
The current weights are shown in the header of the grade-entry page so teachers always know which split is in effect.
Grade Scale Configuration — Your Own Grading System
Your school is not tied to the GES A1–F9 scale. At Results → Settings → Grade Scale you can build a completely custom grading system: add or remove bands, set each band's minimum score, and choose your own grade labels (letters, numbers, words — anything), remarks, report comments and colours. The system applies everywhere instantly: score entry, term results, report cards and the parent portal.
- Start From a Preset — load Ghana GES (A1–F9), Letter Grades (A–F), Numeric (1–5), Distinction/Merit/Credit/Pass, or an Early-Childhood descriptive scale, then edit it freely to make it your own.
- Scores below your lowest threshold take your own bottom band — nothing falls back to WAEC labels any more.
- Reset to GES Defaults restores the standard Ghana scale at any time.
School admins, headmasters, and heads of academics can customise the grade boundaries and labels at Records → Grade Scale. The default scale is the Ghana GES standard (A1–F9), but your school can use any grading system.
- Minimum score threshold — the lowest score that earns each grade (e.g. 80 for A1, 70 for B2).
- Grade label — the short code shown on report cards (e.g.
A1,Distinction,Pass). - Remark — the one-word description shown next to the grade (e.g. Excellent, Credit, Fail).
- Comment — the longer auto-generated comment on the student's report card.
- Badge colour — the colour of the grade badge on the report card (green, blue, yellow, orange, red).
- Go to Records → Grade Scale.
- The current scale is shown in the preview table at the top. Click Edit Grade Bands to open the editor.
- Edit any row directly — change the Min Score, Grade label, Remark, Comment, or Badge Colour.
- Use Add Band to add a new grade level. Use the button to remove a band.
- Drag rows by their handle (⠿) to reorder them — or just enter the correct Min Scores and the system will sort automatically on save.
- Use the Test a Score box to preview which grade a given score would receive under the current unsaved configuration.
- Click Save Grade Scale to apply your changes.
- There must be at least 2 bands.
- One band must have Min Score 0 — this is the failing grade that catches all scores below every other threshold.
- All Min Scores must be unique (no duplicates).
- Grade labels are required on every row.
| Default scale | Min Score | Grade | Remark |
|---|---|---|---|
| 80 | A1 | Excellent | |
| 70 | B2 | Very Good | |
| 65 | B3 | Good | |
| 60 | C4 | Credit | |
| 55 | C5 | Credit | |
| 50 | C6 | Credit | |
| 45 | D7 | Pass | |
| 40 | E8 | Pass | |
| 0 | F9 | Fail |
Report Cards & ECD
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.
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.
Click the 🎨 Colour / B&W toggle button on any batch report page to switch all cards to greyscale before printing — useful for monochrome printers.
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.
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.
Accounting
Go to Accounting → Dashboard. The accounting module is a full double-entry bookkeeping system designed for school finance.
Go to Accounting → Chart of Accounts. All financial transactions must be posted to an account. Accounts are organised into five types:
| Type | Description | Examples |
|---|---|---|
| Asset | Things the school owns | Cash, Bank, Equipment, Receivables |
| Liability | Things the school owes | Salaries Payable, Loans, SSNIT |
| Equity | Net worth / retained surplus | Retained Earnings, Opening Balance |
| Revenue | Income earned | Tuition Fees, Grants, Donations |
| Expense | Money spent | Salaries, 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.
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.
- Select the entry type (General, Fee Income, Expense, Payroll, etc.) and fill in the description and date.
- Add debit and credit lines, each linked to an account in the chart of accounts.
- Click Save as Draft to keep editing, or Post Entry to finalise. Posted entries cannot be edited — they must be reversed.
- 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.
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.
| Portal | Key Features |
|---|---|
| Teacher Portal | My classes, attendance marking, results entry, timetable, assignments |
| Parent Portal | Children's attendance, fees, results, report cards, authorised pickups |
| Student Portal | Own timetable, results, and notices |
| Accountant Portal | Fee dashboard, quick collect, expense recording, financial reports |
| Security Portal | Gate 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.
ID Cards
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.
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.
Front side shows: full name, position badge, Staff ID, GES number, qualification, employment date, phone, school phone, and QR code for clock-in.
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.
Data Import
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.
| Type | Key columns | Notes |
|---|---|---|
| Students | first_name, last_name, class, gender, admission_number | admission_number optional — auto-generated if blank |
| Guardians | first_name, last_name, relationship, phone, student_admission | Links guardian to student via admission_number |
| Teachers | first_name, last_name, staff_id, phone, qualification | staff_id optional — auto-generated if blank |
| Subjects | name, code, category, is_examinable | category: core / elective / extra |
| Class Subjects | class, subject, periods_per_week | Links subjects to classrooms |
| Arrear Balances | admission_number, amount, description, academic_year | Carried-forward outstanding fees |
| Fee Structures | name, fee_type, amount, term, class | Leave class blank for all-class fees; term must match existing |
| Results | admission_number, subject_code, class_score, exam_score, term | Template for bulk results entry |
.xlsx, .xls, .csv, or .json. All templates download as styled .xlsx files with example rows.
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.
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).
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.
- 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.
- Nothing is lost, even if the outage is not detected in time — the service worker itself catches any recording submission that hits a dead network (payments, attendance, scores, clock-ins, daily services) and saves it to the offline queue, showing a "Saved offline" page instead of a browser error.
- The gate kiosk queues clock-ins offline — scans and PIN/ID entries made while offline sync automatically when the connection returns, with no login needed on the kiosk device.
- Payments and daily-service records can be backdated to a previous day using the date field on the recording forms — useful for capturing payments received during an outage.
- Previously visited pages are served from the browser cache instantly.
| Feature | Works 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 |
- 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."
- When internet is restored, the app pings the server within 8 seconds to confirm real connectivity.
- The sync badge spins and all queued items are sent to the server in one batch.
- 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.
- Successfully synced items are removed from the queue. A green toast confirms "Back online — X changes synced."
See the Install App (PWA) section for full per-device instructions. A summary:
- Android — tap the Install App button in the navbar or use the browser menu → Add to Home screen.
- iPhone/iPad — Safari Share button → Add to Home Screen.
- Desktop — click the Install App button in the navbar, or use the browser's three-dot menu.
Offline Local Database
When you work offline, data is not just queued as raw form submissions — it is also stored in a structured local database (IndexedDB) inside your browser. This means you can read back records immediately without waiting for a server connection, and the sync layer knows exactly what needs to be sent when you reconnect.
Each school has its own completely isolated local database named wisdsol_local_<slug>_v1. If staff from two different schools ever use the same device or browser, their offline data is kept entirely separate — there is no cross-school data leakage, even when both schools are accessed through path-based URLs (e.g. /s/school-a/ and /s/school-b/).
| Store | Records |
|---|---|
attendance_marks | Attendance records submitted while offline |
fee_payments | Fee payment records submitted while offline |
student_notes | Notes and remarks added while offline |
form_queue | Any other captured form submissions |
- You submit a form while offline. The data is saved to the local DB (marked
pending=true) and the sync queue simultaneously. - The sync badge turns amber showing the count of pending items.
- When internet is restored, the app pings the server to confirm real connectivity (not just a WiFi signal with no internet).
- All queued items are sent to the server. Successfully processed items are removed from the local DB (
pendingflag cleared). - The sync badge turns green briefly to confirm all data is saved.
For security on shared devices, the local database for the current school is cleared automatically when you log out. This prevents another person on the same device from seeing your offline records.
Fee Cancellation
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.
- Open the student's fee page via Finance → [Student Name].
- Click the red Cancel button on the fee card you want to remove.
- A modal appears. Enter a reason (required — saved permanently for audit).
- If the fee has payments recorded, tick Force cancel anyway to proceed. Payments remain on record.
- Click Cancel This Fee. The fee moves to a strikethrough "Cancelled Fees" table at the bottom of the page.
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.
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.
- Select the Fee Structure to cancel from the dropdown. Optionally filter by Class.
- 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.
- Tick the checkboxes for students whose fee you want to cancel. Use All / None to select or deselect all at once.
- Enter a reason and click Cancel Selected Fees. A confirmation prompt shows the count before committing.
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
Fees can be assigned to students individually (from the student's fee page) or in bulk (via Auto-Assign for a whole class).
- Open the student's fee page: Finance → [search student] → [Student Name].
- Click Assign Fee (the blue button in the fee summary area).
- Use the Term dropdown to filter fee structures by term. Defaults to the current term.
- 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.
- Click any card (or its checkbox) to select it. Use Select All to tick everything available. A running counter shows how many are selected.
- Click Assign Selected Fees. The page reports how many were created and how many were already assigned (skipped).
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
Go to Finance → Defaulters. The report lists every student with an outstanding (unpaid) fee balance — cancelled fees are automatically excluded.
- 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.
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.
Academic Evolution Reports
Evolution reports give a term-by-term view of every student's academic progress across a full year — one A4 landscape page per student.
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.
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.
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
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.
| Field | Used for | Default |
|---|---|---|
| Primary Colour | Report card headers, table backgrounds, section titles, borders | #0f1e3d (navy) |
| Primary (Light) | Gradient shading and hover states on dark headers | #1a2f5a |
| Accent Colour | Grade 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 |
- Go to Admin → School Profile → Edit School Information.
- Scroll to the Report Card Brand Colours section near the bottom of the form.
- Click a colour swatch or type a hex value (e.g.
#1a2744) into the text box. Both controls stay in sync. - A live preview strip updates in real time showing the report header and a sample grade badge using your chosen colours.
- Click ↺ Reset to default navy/gold to restore all four fields to the defaults at once.
- Click Update School Information to save. All reports will use the new colours immediately — no restart needed.
#RRGGBB). Invalid values are silently rejected and the previous colour is kept. The live preview will only update when a valid hex is entered.- 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 🔒 PREMIUM
Two certificate tools are available under Administration in the sidebar:
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.
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.
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.
| Role | Graduation Cert | Award Cert | Bulk 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.
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
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.
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.
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.
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.
Contact Support
Wisdsol Support
Reach us through any of the channels below. Please include your school name and a description of the issue.