📘 91 Editable Lesson Plan Packs (Word) · KSH 100 per subject  ·  KSH 250 whole grade · Grades 1–10 · M-Pesa  →  Browse all 91 packs
📚 Kenya's #1 CBC (now CBE) & IGCSE Learning Platform | 💬 WhatsApp Support
M-Pesa · Visa · PayPal · Instant Download
Teacher Resources 📚 August Complete Bundle: Every Grade from KSH 300 · M-Pesa · instant download Get it →

School Fees Collection in Kenya: Fee Structures, Invoices, Receipts and Parent Statements (A Bursar's Guide for 2026)

School fees collection for Kenyan bursars in 2026: fee structures, invoices, part-payments, receipts, statements, arrears and board reports. Read the guide.

School Fees Collection in Kenya: Fee Structures, Invoices, Receipts and Parent Statements (A Bursar's Guide for 2026)

Key takeaways

  • School fees collection is a chain of seven records that must agree with each other: the fee structure, the invoice, the payment, the allocation, the receipt, the statement and the monthly report. Almost every fee dispute starts where two of them disagree.
  • Never edit an invoice after it is issued. Bill from an approved, versioned fee structure, then correct with a numbered adjustment that names a reason and an approver.
  • Allocate every part-payment explicitly and print the allocation on the receipt, so a parent can see what their KSh 15,000 paid for and what is still owed.
  • A statement a parent can read is the best arrears letter you will ever send. If it is in date order and adds up, the conversation is about a payment date, not about whether the figure is right.
  • Opero's Finance module, from the team behind CBC Edu Kenya, is the worked example here. It records fee structures, invoices, receipts, allocations, adjustments, projects, budgets and reports. It does not yet take M-PESA payments, so money is recorded in it, not collected through it.

Every bursar in Kenya knows the first two weeks of a term. The queue at the office window, the bank slips photographed on a phone, the parent who paid "something" during the holidays and cannot remember how much, and the director asking by Friday how much has come in. School fees collection is the one process in a school that touches every family, every term, and it is the one most often run from a receipt book, a spreadsheet and memory.

This guide is for bursars, school directors and PTA treasurers who want that process to be boringly reliable. It covers how to build a fee structure that can be invoiced without arguments, how to issue invoices and allocate part-payments, what a receipt and a parent statement must contain, how to handle bursaries and adjustments without breaking the ledger, how to follow up arrears without creating a dispute, and which monthly reports a board of management actually needs. Throughout, we use the Finance module of Opero, a school management system built in Kenya by the team behind CBC Edu Kenya, as the worked example, including the things it does not do yet. Information current as of September 2026.

What school fees collection actually involves

Collecting fees is not one action. It is a chain of records, each produced from the one before it, and each read by a different person. The bursar sees all seven; the parent sees three; the board sees one. When the chain is intact, a question from any of them can be answered in a minute. When a link is missing, the answer is "let me check" and the checking takes a week.

Step Record it produces Who must be able to read it
1. Approve the fee structureA dated, versioned structure by level and termBoard, office, every parent
2. Bill each learnerAn invoice with a number, a due date and the admission numberOffice, parent
3. Take the moneyA bank slip, paybill confirmation or cash entryOffice, parent
4. Allocate the moneyAn allocation against specific invoice linesOffice, and the parent via the receipt
5. Issue the receiptA numbered receipt showing the amount and what it paid forParent
6. Produce the statementA running account in date order with a closing balanceParent, head teacher, auditor
7. ReportMonthly collection, aged arrears and adjustments reportsBoard, director, auditor

Read the right-hand column carefully. Steps 2, 5 and 6 are the parent's whole experience of your finance office. If the invoice is clear, the receipt says what the money did, and the statement adds up, the parent trusts the balance. If any of the three is vague, the parent reconstructs their own version from M-PESA messages, and now there are two ledgers.

Building a fee structure by level and term

The fee structure is the master document. Every invoice is generated from it, so any ambiguity in the structure is multiplied by the number of learners. Two contexts matter here. For public schools, Ministry of Education fee guidelines and the capitation grant set most of the structure, so the bursar's task is the parents' portion (boarding, lunch programmes, activity charges) and it must match the circular in force; the Ministry of Education publishes those guidelines. Private schools set their own fees, which is exactly why the structure needs to be written down, approved by the board and given a version number before a single invoice goes out.

A structure that invoices cleanly has these properties:

  1. One row per level, one column per term. PP1 and PP2, Grade 1 to 3, Grade 4 to 6, Grade 7 to 9, Grade 10 to 12. Do not average across levels.
  2. Every charge is its own line. Tuition, meals, activity and learning materials, each separately. A single "fees" figure cannot be allocated, discounted or explained.
  3. Compulsory and optional lines are kept apart. Transport and boarding are billed only to the learners who take them, and never mixed into the level total.
  4. Annual charges are billed once, in Term 1. A diary, a learner identity card, personal accident cover. Do not smear them across three terms; parents cannot see them and bursars forget them.
  5. The Term 3 column reflects the real term. Term 3 is shorter, and candidate classes carry assessment-related costs. Check the dates against the 2026 school calendar and term dates, and give assessment costs for Grade 6 and Grade 9 their own line so nobody mistakes them for tuition. The KJSEA 2026 hub has the assessment timetable those lines relate to.
  6. A version number and an approval date. "Fee structure 2026 v3, approved by the board on 15 August 2026." If it changes, the version changes, and the old version is kept.
  7. The published copy and the invoicing copy are the same document. If the notice board says one figure and the invoice says another, the parent is right to ask.
Level Term 1 (KSh) Term 2 (KSh) Term 3 (KSh) Year (KSh)
PP1 to PP216,50015,00015,00046,500
Grade 1 to 319,00017,50017,50054,000
Grade 4 to 621,50020,00020,00061,500
Grade 7 to 925,50024,00024,00073,500
Grade 10 to 1229,50028,00028,00085,500
Optional: transport, per termZone A 6,000; Zone B 9,000 (billed only to bus users)18,000 to 27,000
Optional: boarding, Grade 7 upwards, per term18,000 (billed only to boarders)54,000

Illustrative figures for a hypothetical private day school. They are chosen to show the shape of a structure, not to suggest what any school should charge. In this example the Grade 7 to 9 termly total of KSh 24,000 is tuition 16,000, meals 5,000 and activity and learning materials 3,000; Term 1 adds KSh 1,500 of annual charges. Where fee levels come from in the first place is a question about costs, and our guide to what it really costs to run a CBC school in Kenya sets out the salary, materials, facilities and compliance layers a structure has to cover. If your school offers boarding, the trade-offs parents weigh are covered in our honest guide to boarding versus day school, which is worth reading before you set that line.

In Opero, fee structures live in the Finance module and invoices are generated from them, which enforces rule 7 by construction: there is only one copy of the structure, and it is the one that bills.

Issuing invoices that do not come back with questions

One invoice per learner per term, issued before the term opens. Timing matters more than it looks. Our Term 3 school fees guide for parents advises families to review the fee structure and agree any payment plan in the last week of the holiday, which is only possible if the invoice already exists. A parent who receives the invoice on opening day has had no chance to plan, and an unplanned parent is an arrears case in the making.

An invoice that does not generate a phone call contains:

  • The school's name and a telephone number that is answered.
  • An invoice number that is sequential, term-prefixed and never reused, for example T3-2026-0412.
  • The invoice date and the due date.
  • The learner's full name, admission number and class.
  • Each fee line from the structure, with its amount, including any optional lines this learner takes.
  • Any discount as its own negative line, not silently netted off tuition.
  • Balance brought forward shown separately, never merged into the term's charges. "Term 3 fees KSh 28,000" when the structure says 24,000 is the single most common cause of a dispute; "Term 3 fees KSh 24,000, balance from Term 2 KSh 4,000" is the same money and produces no call.
  • The total due.
  • Payment instructions: the bank account, the paybill number, and the exact account reference to use. The parents' guide tells families to use the admission number as their M-PESA reference; the invoice is where you tell them that, in bold.

Opero generates the invoice from the fee structure and the learner's enrolment record, which is the point of having enrolment and fees in one system: the class, the admission number and the optional lines the learner takes are already known, so nobody types them twice.

Allocating part-payments (where most disputes are born)

Very few parents pay a term's fees in one transaction. The typical account receives a bank deposit in the holidays, an M-PESA payment on opening day, and one or two more during the term. Each of those has to be applied to something, and that decision is what a parent later argues about. "I paid 15,000 in September" is a fact; "so my child's meals are paid" is an allocation, and unless the school wrote the allocation down at the time, the parent's version and the bursar's version will differ by term's end.

The fix is a published allocation rule, printed on the fee structure and applied identically to every account: oldest balance first, then current tuition, then meals, then activity, then optional lines, unless the parent instructs otherwise in writing (a parent paying the transport line specifically so the child can board the bus on Monday is a legitimate instruction). Here is the rule applied to the Grade 8 learner from our hypothetical structure, whose family carried KSh 4,000 from Term 2 and paid KSh 15,000 by bank deposit on 1 September.

Invoice line Due (KSh) Allocated from receipt R-2026-1187 (KSh) Still owed (KSh)
Balance brought forward, Term 24,0004,0000
Term 3 tuition16,00011,0005,000
Term 3 meals5,00005,000
Term 3 activity and learning materials3,00003,000
Total28,00015,00013,000

Those four allocation lines are printed on the receipt. The parent now holds a piece of paper that says their 15,000 cleared last term's balance and paid 11,000 of tuition, and that 13,000 remains. There is nothing left to argue about in December.

This is where honesty about Opero matters. The Finance module records payments, allocations and receipts, but there is no M-PESA checkout yet. A parent pays through the school's existing bank account or paybill exactly as they do today; the office then records that payment in Opero, allocates it against the invoice lines, and issues the receipt from the system. Opero replaces the receipt book and the ledger, not the till. If you need money to be collected through the software itself, that is not what it does in September 2026, and the Opero site says so plainly.

Receipts and statements a parent can actually read

A receipt proves one payment. A statement proves the whole account. Parents need both, and they need them to agree.

A usable receipt carries a receipt number, the date the money was received, the learner's name and admission number, the amount, the channel (bank deposit, paybill, cash) and the channel's own reference (the deposit slip number or the M-PESA transaction code), the allocation lines, and the balance remaining after this payment. The last item is the one most receipt books omit, and it is the one parents care about.

A usable statement is a running account in date order. Opening balance, then every invoice, payment and adjustment in the order it happened, each with its document number, and a closing balance. Here is the same Grade 8 account after a sibling discount and a second payment.

Date Item Charged (KSh) Paid or credited (KSh) Balance (KSh)
01 Sep 2026Balance brought forward from Term 24,0004,000
01 Sep 2026Invoice T3-2026-0412, Grade 8, Term 324,00028,000
01 Sep 2026Receipt R-2026-1187, bank deposit15,00013,000
15 Sep 2026Adjustment ADJ-2026-0031, sibling discount 5% of tuition, approved by the director80012,200
06 Oct 2026Receipt R-2026-1402, paybill7,0005,200
Closing balance28,00022,8005,200

Notice what the statement does not need: a covering letter. Every line has a document number the parent can match to a piece of paper they already hold, and the arithmetic runs top to bottom. Parents who have learned to read a competency-based report card, with its strands and sub-strands and performance levels (our guide to reading a CBC report card walks through it), can read a statement laid out this way without help. That is the standard: a statement the parent can check, not one they have to take on trust.

Adjustments, bursaries and waivers without breaking the ledger

The single most damaging habit in school finance is editing an invoice after it has been issued. Change 24,000 to 22,800 on the invoice and the parent's copy no longer matches yours, the discount has no record of who approved it, and the auditor cannot tell whether it was a discount or a typing error. The rule is simple: the invoice is never changed; the account is adjusted, with a number, a reason and an approver.

Situation Evidence on file Who approves How it is posted
Sibling discountFamily record showing the enrolled siblings; the published ruleAutomatic under policy; bursar appliesCredit adjustment on each sibling's account, quoting the policy
Bursary from a constituency fund, county, church or foundationAward letter; the cheque or transfer adviceBursar records; head teacher confirmsA payment from the bursary body, allocated to the learner's invoice, not a discount. The statement shows who paid.
Hardship waiverWritten application; the decision and its minute referenceHead teacher or board, per policyCredit adjustment quoting the minute
Billing errorThe approved fee structure versionBursar plus one other signatoryReversing adjustment; the original invoice stays as issued
Withdrawal mid-termWithdrawal letter; the refund policyHead teacherCredit for the unused portion per policy; refund or carry-forward recorded

The bursary row deserves emphasis. A bursary is money that arrived from a third party. Recording it as a discount hides real income, understates what the school collected, and makes the bursary body's own reconciliation impossible when they ask what happened to their cheque. Record it as a payment, name the payer, allocate it, and the statement tells the truth. The parents' guide notes that bursary and waiver processes at many schools are "rarely advertised loudly"; whatever your school's process, the ledger treatment above is the same.

Opero's Finance module has adjustments as a distinct record type alongside payments and allocations, which is the right design: a discount, a waiver and a correction each leave their own trace rather than overwriting the invoice they relate to.

Arrears follow-up: school fees collection without disputes

Most arrears conversations go wrong because the first message the parent receives is a demand for a figure they cannot check. The alternative is to make the statement the reminder. If the statement is in date order, references documents the parent holds, and adds up, the only question left is "when", and "when" is a conversation a bursar can have without raising a voice.

In a 12-week term the follow-up rhythm looks like this: statements to every account with a balance at the end of week 3; a reminder in week 6 with the statement attached and a request for a specific payment date; a meeting in week 9 for any account with no agreed date; and at the end of term, the balance carried forward as its own line on next term's invoice. The parents' guide describes the parent's side of this, including the advice to offer the school a date rather than wait to be asked. From the bursar's side, a child sent home for fees is a collection failure that has already happened, not a collection method.

The chart below is an illustrative model of how collections accumulate across a term under stated assumptions. It is a shape to plan cash flow against and to place your follow-up actions on. It is not data from any school, and the assumptions are listed in the table beneath it.

Illustrative collection curve across a 12-week term (model, not measured data) 100% 75% 50% 25% 0% Statements out Reminders with statement Parent meetings Week 0 (opening day): 32% collected, KSh 1,920,000 Week 1: 46% collected, KSh 2,760,000 Week 2: 55% collected, KSh 3,300,000 Week 3: 61% collected, KSh 3,660,000 Week 4: 66% collected, KSh 3,960,000 Week 5: 70% collected, KSh 4,200,000 Week 6: 75% collected, KSh 4,500,000 Week 7: 79% collected, KSh 4,740,000 Week 8: 82% collected, KSh 4,920,000 Week 9: 85% collected, KSh 5,100,000 Week 10: 87% collected, KSh 5,220,000 Week 11: 89% collected, KSh 5,340,000 Week 12: 90% collected, KSh 5,400,000 32% by opening day 75% 90% 0123456789101112 Week of term (0 = opening day) Cumulative share of the term's invoiced fees. Assumptions are in the table below; hover a point for the week's figure.
Model assumption Value used
Learners invoiced400
Average invoice per learnerKSh 15,000
Total invoiced for the termKSh 6,000,000 (400 x 15,000)
Term length12 weeks
Collected by opening day32% of the invoiced amount, an assumption chosen for the model
Remaining accountsAssumed to pay in two or three instalments spread across the term, with the pace slowing after week 6
Bursary and third-party paymentsNot modelled separately
Carried forward at term end10% of invoiced fees, KSh 600,000
StatusIllustrative model. The figures draw a plausible shape; they are not measurements from any school.
Week Cumulative collected KSh of 6,000,000 What the office does that week
032%1,920,000Invoices already issued; receipts at the window for every deposit and paybill payment
146%2,760,000Record and allocate every payment on the day it arrives
255%3,300,000Reconcile the bank statement to the receipts issued
361%3,660,000Statement to every account with a balance
466%3,960,000First monthly report to the board
570%4,200,000Bursary awards recorded as third-party payments and allocated
675%4,500,000Reminder with the statement attached; ask each account for a date
779%4,740,000Log every agreed date against the account
882%4,920,000Second monthly report to the board
985%5,100,000Meetings for accounts with no agreed date
1087%5,220,000Reconcile again; chase missed dates
1189%5,340,000Prepare carried-forward balances for next term's invoices
1290%5,400,000Close the term; KSh 600,000 becomes the "balance brought forward" line next term

Two honest notes on doing this with Opero. First, the statement is produced in the system, but Opero has no SMS gateway, so the reminder itself goes out through whatever channel the school already uses, with the statement attached or printed. Second, because Opero holds enrolment, attendance and fees together, the office is working from one learner record when it prepares the week 9 meetings, rather than matching a spreadsheet to a class register by hand.

The monthly reports a board actually wants

Boards do not want the ledger. They want six questions answered on one or two pages, in the same format every month, so that the figures can be compared with last month's without a presentation.

Report The question it answers Frequency
Collection summary by levelHow much was invoiced, collected and is outstanding, per level and in totalMonthly
Aged arrearsWho owes, and how old is it: 0 to 30 days, 31 to 60, 61 to 90, over 90Monthly
Adjustments registerWhat was discounted, waived or corrected, by whom, and whyMonthly
Bank and cash reconciliationDo the receipts issued match the money in the bank and the cash boxMonthly
Budget versus actualIs the school spending as the approved budget said it wouldMonthly or termly
Project ledgerWhat a specific levy (a classroom block, a bus, a laboratory) has raised and what it has been spent onMonthly while the project is active

The aged arrears report is the one that changes behaviour. A total outstanding figure of KSh 600,000 sounds like a problem. The same figure broken into "KSh 450,000 under 30 days, KSh 100,000 at 31 to 60, KSh 50,000 over 90 days" is a plan: the first band is normal, the second needs the week 6 reminder, the third needs a meeting. Finance in Opero includes budgets and projects alongside fee billing and financial reporting, so a building levy can sit under its own project rather than inside general fees, and the budget-versus-actual question is answered from the same records the invoices came from.

The audit trail, and the Data Protection Act

"Audit trail" sounds like something for the auditor. It is really something for the bursar, because it is what protects you when a figure is questioned a year later. An audit trail means that every invoice, receipt and adjustment has a number that was issued once, a date, and a record of who created it; that nothing is deleted, only reversed; that a document can be traced forwards (which statement does this receipt appear on) and backwards (which structure version produced this invoice line); and that a report produced today from the same records gives the same figures as the one produced last month.

A receipt book and a spreadsheet can meet that standard, but only with discipline that survives staff changes. A system meets it by construction, provided it is built that way. Opero's Finance module keeps fee structures, invoices, receipts, statements, payments, allocations and adjustments as distinct records, which is what makes the forward and backward trace possible.

Fee records are also personal data: parents' names, telephone numbers, employers in some cases, and a family's full payment history. The Data Protection Act 2019, administered by the Office of the Data Protection Commissioner, applies to that data as it does to learner records. Where it is stored matters. Opero states that its data is hosted in Kenya, that children's records never leave the country, which removes the cross-border question under the Act, that each school's data is isolated from every other school's, and that backups run nightly with the restore tested. Those four points are included in every module at no extra charge. If you are comparing systems, ask every vendor the same four questions and write the answers down.

Opero's Finance module as the worked example

Opero describes itself as "Your entire school. One system." It has four modules: Core (always included: enrolment and everything that follows from it, three consoles for office, teacher and parent, attendance, assessments and report cards, admissions with a public application page), and three optional modules, Transport, HR and Payroll, and Finance. Finance is the one this guide has been using: fee structures, invoices, receipts, statements, payments, allocations and adjustments, projects, budgets and financial reporting.

The pricing is one flat set-up fee and a per-child daily rate per module: KSh 20,000 once to set the school up, the same whatever its size, then KSh 1 per child per day for Core and a further KSh 1 per child per day for each optional module. Nothing else recurs. A school running Core and Finance therefore pays KSh 2 per child per day. The arithmetic for three school sizes, plus the site's own example, is below.

School Modules Per day Per 30-day month Set-up, once
250 learnersCore + Finance (2)250 x 2 = KSh 500500 x 30 = KSh 15,000KSh 20,000
400 learnersCore + Finance (2)400 x 2 = KSh 800800 x 30 = KSh 24,000KSh 20,000
800 learnersCore + Finance (2)800 x 2 = KSh 1,6001,600 x 30 = KSh 48,000KSh 20,000
500 learners (the site's own example)All four (4)500 x 4 = KSh 2,0002,000 x 30 = KSh 60,000KSh 20,000

For the 400-learner school in our collection model, the Finance module on its own is 400 x 1 x 30 = KSh 12,000 a month, against KSh 6,000,000 invoiced a term. Whether that is worth it depends on how many hours the office currently spends reconciling, and on how many disputes a receipt with allocation lines would have prevented; that is a judgement for the director, and the arithmetic above is there so it can be made honestly.

Equally honestly, here is what Opero does not do yet, as stated on its own site in September 2026.

What a bursar might expect Opero today
M-PESA checkout inside the systemNot available. Parents pay through the school's own bank account or paybill; the office records the payment, allocates it and issues the receipt in Opero. Payments are recorded, not collected.
SMS reminders to parentsNo SMS gateway. Statements come out of Opero; the school sends them through its own channels.
Sign up online and start todayNo self-service sign-up. The school fills in the "Ask about your school" form and Opero sets the school up.

The enquiry form asks for the school's name, your name, email and telephone, the town or county, the number of learners, the modules you are interested in, and any notes. Bringing the current fee structure and last term's arrears list to that conversation makes the set-up conversation short.

A hypothetical case: Mwangaza Day School, Kitengela

Mwangaza Day School is a hypothetical school, invented for this article to show the process end to end. It is not a client of Opero or of CBC Edu Kenya.

Mwangaza has 380 learners from PP1 to Grade 9. Until this year its finance office ran on a duplicate receipt book, a spreadsheet the bursar built herself, and a director who kept the "real" arrears list in his head. Reconciling the bank statement took three days at the end of every month, and the same dispute recurred every term: a parent insisting that a KSh 7,000 payment made "in May" had never been credited, with the office unable to say whether it had been credited to the wrong sibling.

For Term 3 2026 the board approved fee structure 2026 v3 on 15 August, with every level and term on one page, tuition, meals and activity as separate lines, and the allocation rule printed at the bottom. Invoices went out on 21 August, each with the admission number in bold as the paybill reference. The school runs Opero's Core and Finance modules, so its running cost is 380 x 2 x 30 = KSh 22,800 a month after the KSh 20,000 set-up.

Payments still arrive exactly as before: bank deposits and paybill transactions, which the bursar records the same day and allocates by the published rule. The receipt the parent takes away lists the allocation lines and the remaining balance. At the end of week 3, every account with a balance received a statement; the KSh 7,000 dispute did not recur, because the May payment, its receipt number and its allocation to the elder sibling's Term 2 meals were the fourth line on the family's statement. A constituency bursary of KSh 12,000 for two Grade 8 learners was recorded as a payment from the bursary fund and allocated, so the fund's own follow-up letter could be answered with two receipt numbers.

The board's September report was two pages: the collection summary by level, the aged arrears list in four bands, the adjustments register (three sibling discounts and one hardship waiver, each with its minute reference), and the bank reconciliation. The treasurer, a parent volunteer, presented it in ten minutes. Nothing about Mwangaza's collections changed because of software; what changed was that every figure on the page could be traced to a document a parent also held.

Common mistakes to avoid

  • Merging last term's balance into this term's fees. The parent sees a number that does not match the structure and assumes the school is wrong.
  • Editing an invoice after issue. Correct with a numbered adjustment. The invoice the parent holds must remain the invoice you hold.
  • Allocating in your head. If the allocation is not printed on the receipt, it did not happen as far as the parent is concerned.
  • Recording a bursary as a discount. It hides income and makes the bursary body's reconciliation impossible.
  • A receipt without the balance remaining. It answers the question the parent did not ask and ignores the one they did.
  • Sending a demand instead of a statement. A figure the parent cannot check invites a dispute; a statement invites a date.
  • Reporting total arrears without ageing. One number is a worry; four bands are a plan.
  • Waiting for the end of the month to reconcile. Weekly reconciliation finds a wrong-sibling posting while the deposit slip is still on the desk.
  • Buying a system for the M-PESA integration it promises. Ask whether it takes money today, or records it. Opero, for one, records it, and says so.

Frequently asked questions

Should a school invoice per term or per year?

Per term, from a structure that shows the whole year. Parents plan by term, arrears are chased by term, and the balance carried into the next term is clearer when each term has its own invoice. Annual charges belong on the Term 1 invoice as their own line.

How should a bursar allocate a part-payment when the parent gives no instruction?

By the published rule, and the same rule for every account: oldest balance first, then current tuition, then meals, then activity, then optional lines. Print the allocation on the receipt. If the parent gives a written instruction, follow it and note it on the receipt.

What is the difference between a bursary and a discount on a statement?

A discount reduces what is owed and is posted as a credit adjustment with an approver. A bursary is money that arrived from a third party and is posted as a payment from that body, allocated to the learner's invoice. The statement should show who paid; a bursary recorded as a discount hides real income.

Can Opero collect school fees through M-PESA?

Not as of September 2026. Opero's own site states there is no M-PESA checkout yet. Parents pay through the school's existing bank account or paybill, and the office records, allocates and receipts the payment in Opero. It also has no SMS gateway, so reminders go out through the school's own channels.

What should the monthly fees report to the board contain?

A collection summary by level (invoiced, collected, outstanding), an aged arrears list in 30-day bands, an adjustments register with approvers, a bank and cash reconciliation, and budget versus actual. Add a project ledger for any active levy. Same format every month, so the figures compare.

How long should fee records be kept?

At least the full enrolment period of each learner plus the current audit cycle, and never delete a record; reverse it. Ask your auditor for the retention period that applies to your school's legal form, and check that whatever system you use can export the full history if you ever leave it.

In summary

School fees collection goes wrong at the joints: between the structure and the invoice, between the payment and its allocation, between the receipt and the statement. Keep the structure versioned and approved, bill from it without editing, allocate every payment explicitly and print the allocation, produce statements a parent can check line by line, post bursaries as payments and discounts as adjustments, age the arrears, and reconcile weekly. Do that, and the arrears conversation becomes a conversation about dates.

If you would like to see how those records look inside one system, with the honest limits above, ask Opero about your school using the enquiry form, with your learner count and the modules you are considering. And whatever system you run, share our Term 3 school fees guide for parents with your families before the invoices go out; a parent who has read it will pay with the right reference, keep the receipt, and tell you about a part-payment before you have to ask.

Free download for exam season
The KJSEA Mini-Mock: 27 questions across all 9 learning areas, with the full marking scheme.
Get it free
🎓 Ready to help your child?

August Complete Bundle: Every Grade

All subjects plus the Holiday Revision Pack in one download, PP1 to Grade 12. Built for the August holiday, the longest revision window before October.

⏳ Only 45 days to the national assessments on 26 October. Start now.

from KSH 300 · Get it now → 📱 M-Pesa, instant download · join parents preparing now
✨ Free · No signup
Get your child's free personal revision plan Their grade, weak subjects and exam date, a dated study plan with targeted practice, in seconds.
Build it free →
🇰🇪 FREE AI TUTOR · BUILT FOR CBC

Have a CBC question this article didn't answer?

Ask Somo, Kenya's first AI tutor. CBC-grounded, Kenyan examples, instant feedback. Five free questions a day with no signup, or start a 7-day free trial for 30 questions a day.

Try Somo Free →
Get free CBC revision tips on Telegram Daily study tips, new free guides and KJSEA and KPSEA reminders. No cost, leave any time. Join free
📚

Get Free CBC (now CBE) Revision Materials

Join 500+ Kenyan teachers and parents. Get a free sample pack (Grade 7 Maths notes + exam) plus weekly study tips.

No spam. Unsubscribe anytime. We respect your privacy.

S Ask Somo 🇰🇪 FREE · AI TUTOR ×