Resource

Fees & Payments

One term’s money end to end — the fee structure, the bills it raises, the same balance on a parent’s, a pupil’s and an employee’s portal, and every payment reconciled back to the school’s own bank account.

School AdminParentStudentOther Staff Roles
Fees & Payments

One bill, five people, and a figure that never has to be re-typed

Fees are where a school’s admin either holds together or quietly falls apart: a spreadsheet of who owes what, a WhatsApp photo of a bank transfer, and a bursar reconciling both by hand at half past six. This walkthrough follows one term’s money the whole way — the structure the school sets once, the bills that structure raises, the same balance as a guardian, a pupil and an employee each see it, the payments that come back through a gateway and across the front desk, what is done about the families who have not paid, and where the money finally settles. Every screen below is the real application, live with sample school data.

On this page
Step 1 · Bursary

Set what the school charges

Everything downstream descends from here. A fee structure is a small set of named charges with amounts and a frequency — not a per-child spreadsheet — so a bursar edits four rows a session rather than eight hundred.

1

The fee structure

Every charge the school makes, in one list: tuition, the development levy, examination entries, ICT and laboratory consumables, and the one-off admission fee a pupil pays only on arrival. Set once per session, and the same list feeds every invoice raised for the rest of it.

Recurring charges carry a frequency — per term or per session — and one-off charges do not repeat
A category can be limited to particular year groups, so senior exam fees never reach JSS 1
Amounts are money in the school’s own currency, not untyped numbers
Categories are archived rather than deleted, because invoices already reference them
Fee settings sit beside the structure: reminder timing, receipt and invoice delivery, and how reversals are approved
2

What a fee actually consists of

Opening a category shows the fields a charge is made of. The code is what appears on the invoice line and in the ledger, so it is worth choosing deliberately: TUITION and DEV-LEVY read better on a bank statement than “Fee 1”.

A name families will recognise, and a short code that travels onto every invoice line
A description that explains what the charge covers
The default amount, and whether it recurs
The year groups it applies to — left empty, it applies to the whole school
Saved as a draft-safe form: nothing is billed until an invoice run uses it

Ready to run your school on this?

Every screen in “Set what the school charges” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Step 2 · Bursary

Decide who pays less, and why

Two pupils in the same class rarely owe the same sum. Scholarships and bursaries are modelled as schemes with their own budgets rather than as ad-hoc discounts typed onto invoices, so the school can answer both “what does this child owe?” and “what is aid costing us this year?”.

1

The schemes

Merit awards, the staff-ward discount, a sibling reduction, and need-based bursaries — each with a percentage, a budget for the session, and how much of that budget is already committed. The remaining figure is what makes a scholarship a policy rather than a favour.

A discount as a percentage or a fixed amount
Total budget, awarded and remaining across every scheme, above the list
Each scheme carries its own rate and what it has committed so far
Automatic schemes apply themselves to everyone who qualifies; manual ones are awarded case by case
Archiving a scheme leaves the awards already made under it intact
2

Who actually holds one

The award register: which pupil is on which scheme, what the discount is worth to them, and whether it is active, awaiting approval or expired. The discount lines on the invoices in the next step come from exactly these rows.

Pending awards are families still waiting to hear — the stat row counts them separately for that reason
“Aid committed” totals only approved and active awards, never the pending or expired ones
Awards carry an expiry, so a one-session bursary does not silently become permanent
Awarding is one action from here, against a pupil and a scheme

See this on your own school’s data.

Every screen in “Decide who pays less, and why” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Step 3 · Bursary

Raise the term’s bills

A term’s invoicing is one run, not eight hundred documents. The register below is what it produces: an invoice per pupil, with the scholarship already applied and the balance already computed.

1

The invoice register

Every bill the school has issued, with what was billed, what has been paid and what is still due — for the whole school above, and per pupil in the rows. Issued, paid and outstanding totals come from the server, so the header cannot disagree with the table.

Invoice number, pupil, total, paid and outstanding on every row — an aided pupil’s bill arrives already reduced, so the total is what the family actually owes
Statuses that mean something operationally: draft, issued, partially paid, paid, cancelled
Filter by status, class or pupil, and export the filtered set as CSV
Deliver an invoice to a guardian by email, SMS or the portal from the row’s own actions, and re-send it without regenerating it
From the same menu: see what has been paid against it, request an adjustment, or record money for it
2

Generating a term’s invoices

The bulk run in one dialog: choose who is being billed, which fee lines to include, and when payment is due. The scope is the school’s own structure — the entire school, a year group, a class arm, a hand-picked list, or staff — and the count of who it resolves to is shown before anything is written.

Scopes: entire school, all students, a grade, a class arm, a class-arm group, individual pupils, or staff
Fee line items are picked from the structure, so amounts are never re-typed
An optional due date drives the reminder schedule and the overdue states downstream
Delivery to guardians is chosen in the same pass — email, SMS, or portal only
A summary — scope, target count, delivery channels, line items and the total per invoice — before you commit

Set this up for your team.

Every screen in “Raise the term’s bills” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Step 4 · Parent

The bill, at home

The guardian is not sent a photograph of a ledger. They open the same invoice the bursary raised, on their own portal, with every ward’s balance on one page.

1

Invoices, by ward

Outstanding, paid, past due and upcoming for the ward in view, above every invoice ever raised for them — including the one the bursary raised two screens ago, under the same number and for the same ₦95,000. Opening it shows the actual document: line items, discount, amount paid, amount due, rendered from the school’s own template.

A guardian with more than one child gets each ward’s balance separately — the portal is scoped to a ward, never to a household total nobody can act on
The invoice opens full-screen, because an A4 document read through a narrow modal is not read at all
Pay Online hands over to the payment gateway’s checkout and comes back with the payment recorded
Download the invoice as a PDF for a bank transfer or an employer’s reimbursement
Dispute an invoice from the same place, rather than by phoning the bursary
2

Payment history

Every payment the family has made, with its receipt number and status. A transfer that the bursary has not yet approved shows as pending rather than silently missing — which is the question a parent actually rings about.

Receipt number, amount, method and date on every row
Approved and pending payments both listed, so a family knows their transfer was seen
Receipts download without a trip to the bursary
The same records the school sees in its payment register — one set of facts, two audiences

Ready to run your school on this?

Every screen in “The bill, at home” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Step 5 · Student

The pupil’s own account

Senior pupils are often the ones who know a fee is unpaid before anyone at home does. They get the same balance, on their own portal, without being able to see anyone else’s.

1

What I owe

A pupil’s own invoices and balance — the same figures on the guardian’s screen, scoped to one person. It matters most at the edges of the term: exam entry, boarding, a clearance that is holding something up.

Only this pupil’s invoices — the portal has no route to another’s
Amount due and due date, in the same statuses the bursary uses
Their own payment history sits beside it
Nothing here can be edited: the pupil reads the record, they do not write to it

See this on your own school’s data.

Every screen in “The pupil’s own account” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Step 6 · Staff

An employee is billed too

Staff whose children attend the school are billed like everyone else — at the staff-ward discount, on their own self-service portal, rather than through a side arrangement nobody can audit.

1

My invoices

The bursar’s own account, seen as an employee rather than as the bursary: one invoice a term at ₦171,000 rather than the ₦285,000 a fee-paying family owes, because the staff-ward scheme from step two applied itself when the bill was raised.

Staff financials sit in the staff portal’s own self-service, beside the calendar and the HR workspace
The employee discount is already in the figure — it is a scheme, not a manual edit somebody remembered to make
Each term’s invoice with what is still due on it; this term’s is issued and unpaid
Open one for its detail and payments, and their own receipts on the tab beside it

Set this up for your team.

Every screen in “An employee is billed too” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Step 7 · Bursary

Money arriving, however it arrives

Not every payment comes through the gateway. Cash at the front desk, a POS terminal, a bank transfer with a screenshot — all of it has to land in the same register as the card payments, or reconciliation becomes guesswork.

1

The payment register

Every payment against every invoice, whatever route it took: card and online payments arrive with a gateway reference, manual ones with the name of whoever recorded them. Pending payments are the queue the bursary works.

Receipt number, pupil, amount, method and status on every row — filterable by both status and method
Approve a pending payment, and the invoice balance moves with it
Reverse a payment with a reason, optionally raising a refund at the same time
Reversal policy is a school setting — immediate, or requiring approval
Receipts are generated from the payment, not typed
2

Taking money at the desk

A parent pays ₦100,000 in cash against two invoices. The dialog records who paid, how much, by which method, on what date — and which invoices to apply it to, so a part payment is allocated deliberately rather than left floating.

Payer is a pupil or a member of staff — both are billed, so both can pay
Apply the payment to specific invoices, or leave it against the account
Only the manual methods the school has actually enabled are offered
A payment date that is when the money changed hands, not when it was keyed in
Notes for the reference on a transfer or the slip from a POS terminal
3

When money goes back

Withdrawals mid-term, a levy billed twice, a hardship waiver, an overpayment carried forward — four different things, and the product models them as four different types with an approval trail rather than a negative invoice.

Refund, adjustment, waiver and credit — each with its own meaning on the ledger
Requested, approved, processed or rejected, with who decided and when
A payout method: back to the bank, or as a credit on the account
Gateway refunds can be pushed back through the gateway where the school has enabled it
Every processed refund posts to the ledger, so the term’s revenue reflects it

Ready to run your school on this?

Every screen in “Money arriving, however it arrives” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Step 8 · Bursary

What is still owed, and who is on it

Collection is the part schools do by memory. Here it is a worked queue: debt aged into buckets, a task against a family with a note of the last conversation, and a promise to pay with a date the system will check.

1

Collections

Outstanding balances aged into buckets and aggregated by class, with the oldest debt first. Chasing is its own job with its own screen rather than a column on the invoice list.

Aging buckets — 1–30, 31–60, 61–90 and over 90 days — with the amount, the share and the pupil count in each
Per-class aggregation, so a pattern in one arm is visible rather than averaged away
Raise a follow-up task or record a promise to pay against a family from the row itself
Promises carry an amount and a date and are tracked to fulfilled, broken or extended — the one below is due on the August salary date
Export the filtered list for a reminder run
2

Fees clearance

The other question about debt: who owes the bursary right now, exit or no exit — and which departing pupils are held at this desk. Two registers behind one tab strip, and a leaver transferring out on 7 August sits in both at once, which is exactly the join they exist to make.

Debt computed live from the module’s own invoices, not from a snapshot taken when somebody left
Every debtor links straight to their own transactions, so “why?” is one click
The sign-off tab is leavers whose fees line is still open; a line whose debt is settled clears itself
A blocking line holds the exit until the bursar signs or waives it, with the reason recorded
The same clearance shape every other module has — library, hostel, inventory, clinic, store, discipline

See this on your own school’s data.

Every screen in “What is still owed, and who is on it” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Step 9 · Bursary

Reconcile, settle, and look at the term

Fees are not the only money a school moves. The last four screens are the ones that make the month close: one ledger every module posts to, the windows a posting is allowed to land in, the bank account the gateway pays into, and the picture the head asks for.

1

One ledger, every module

Fee invoices and payments, a boarding charge, a uniform sale from the school store, staff billing, a library acquisition, an equipment purchase order — every module that moves money posts here, as debits and credits with a counterparty.

Source module and event type on every entry, so a figure can always be traced back to what caused it
Counterparties are real records — a pupil, a guardian, a member of staff, a vendor, the school
Filter by module, entry type, counterparty or date range, and export what the filter produced
Manual adjustments are posted as their own entry, with a reason — never as an edit to an existing one
2

Closing the month, and meaning it

A reported month has to stop moving, and until 2026-08-31 nothing in the product made it. Every module that posts takes a date, and several take it from something a person typed — so a library title catalogued today with a 2019 invoice date landed in 2019 and quietly reopened a year the school had already signed off.

A register the bursar reads down, closing months as they are reported, with what has already posted into each on its own row
The guard lives in the one funnel every module posts through, so the library, the shop and the boarding house are all held to this calendar without knowing it exists
Other modules ask before they commit — a librarian dating an invoice into a closed month is told while the field still has focus, and holds no finance permissions to be told it
A date no period covers still posts. This is a bound the school opts into, not a gate it must satisfy, and the hole is reported rather than enforced
Closing and reopening are both audited; a month closed too early has to be undoable or nobody will close one at all
3

Whose account the money lands in

Online payments are split to the school’s own bank account at the moment of the charge, through a verified subaccount at the gateway. Without one, a school could collect online with nowhere for the money to go — so the page says so plainly instead of failing at the till.

Pick the bank and enter the account number; the account name is resolved with the gateway rather than typed, and must match the school
Once set up: the bank, the masked account number, the name it verified as, and the date it was verified
Nothing is saved until that verification succeeds, so a typo cannot quietly redirect a term of fees
A plain warning when the gateway itself is not configured — a platform problem, not one the school can fix
The same account families are told to transfer to, so online and offline money arrive in one place
4

The term, in figures

Revenue against collection, the collection rate, how families actually pay, where the debt is aging and who the largest debtors are. The bespoke reports page was retired for this: the same numbers as widgets, on the module they belong to.

Invoiced, collected and still owed for the period, each against the period before it
Collection rate as a share of invoiced value, measured against the school’s own target
Invoiced against collected per period, and the mix of methods families paid by
Invoice status for the window, and the largest unpaid balances in the school
Every card carries its own period, and the page period sets them all at once

Set this up for your team.

Every screen in “Reconcile, settle, and look at the term” is the live product, not a mockup. Create your school account, or have us walk you through it on a call.

Run your whole school on one connected platform

Start with the base package, switch on the modules you need, and give every parent, student and staff member a single place to log in.