The school fee collection playbook
Moving a term of fees onto mobile money without losing the record of who paid what.
6 minute read · no sign-up needed
The problem is matching, not collecting
Parents already pay by mobile money. What breaks is that the payment arrives in a till number with a name that may not be the student’s, and somebody in the office matches it by hand, from a printout, days later.
Everything below is about making the payment arrive already attached to a student, because that is the work, not the collecting.
Structure fees so instalments still reconcile
Decide the unit before you send anything: a fee per student per term, with a reference that identifies the student. If you allow instalments, each payment must carry the same reference so the balance is a running total rather than a puzzle.
Resist the urge to create a new link per instalment. One link per student per term, paid as many times as needed, keeps the record in one place.
What to send parents, and when
Send the link with the fee structure at the start of term, and again two weeks before the deadline. Both times, include the amount outstanding for that specific student, not the class-wide figure.
A parent who opens a link and sees exactly what they owe pays at a far higher rate than one who has to work it out. This is the single highest-leverage change most schools make.
- Term opening: fee structure, link, deadline
- Two weeks before the deadline: outstanding balance for that student only
- On payment: a receipt, automatically, without anyone writing one
Closing a term without a spreadsheet
At the end of term, the list of who paid, who part-paid and who did not should be the same list you have been looking at all term, not a document somebody assembles in the final week.
Export it for the board. Every payment carries its method, its time and its reference, which is what turns a question at a board meeting into a lookup rather than an argument.
Try it on the sandbox
Test keys work from the first minute and never touch real money, real gateways, or your live webhooks. You can build the whole thing before anyone verifies anything.
