How to charge tuition fees by attendance, not the calendar
A practical guide to attendance-based billing: charge tuition fees by classes attended, handle absences fairly, and let every family see the same maths.
If you have ever searched “how to charge tuition fees” the week before a fee is due, you already know the real question underneath it. It is not how much to charge — you settled that ages ago. It is how to charge in a way that a parent will not question, so that raising the fee does not turn into a small negotiation every single month. The cleanest answer is to stop charging by the calendar and start charging by classes attended. This guide walks through attendance-based billing: what it is, why it removes disputes, and how to run it without buying anything.
Why calendar-month billing causes disputes
A monthly fee makes a quiet promise: this number matches the month. It almost never does. A student was off sick for a fortnight. A public holiday ate a Tuesday slot. You closed for a training day. The maths student sat four sessions in March and six in April, but the “standard monthly fee” was identical both times. None of that is dishonest — it is just the calendar and the classroom drifting apart. And every time they drift, the fee needs a sentence of explanation.
That sentence is the whole problem. A fee that needs explaining is a fee that invites a reply. The parent is not being difficult; they genuinely cannot see, from a round monthly number, what their child received for it. So you end up defending the bill, softening it with a goodwill discount, or carrying an absence you were never really paid for. Multiply that across a full register and month-end becomes an evening of small, awkward reconciliations.
What attendance-based billing actually means
Attendance-based billing changes the unit you charge for. Instead of selling a block of time — a month — you sell a block of delivered classes: a cycle. Each cycle is a set number of sessions at a set fee. A class the student attends fills one place in that cycle. When the last place is filled, the cycle is complete and the fee falls due — not a day before.
The shift is small to describe and large in effect. The thing you charge for is no longer “March,” which is a promise about the future. It is “eight classes that genuinely happened,” which is a record of the past. You are never billing ahead of delivery, so there is never a gap between what was paid for and what was received. That is the gap disputes live in, and this quietly closes it.
A worked example, in plain words
Say a family is on an eight-class cycle at a set fee — pick whatever fee you already charge. On the first day of the cycle, they owe nothing. The child attends a class; that is one of eight filled. Next week, another; two of eight. The cycle fills at the pace the child actually shows up.
When the eighth attended class lands — whether that takes exactly eight weeks or ten, because life happened in between — the cycle completes and the fee is due. The number is not a surprise, because the family has watched it fill, class by class. The bill is simply the moment the eighth box gets ticked. Then a fresh cycle opens and the counting starts again from zero. One live cycle per student at a time, so there are never two overlapping bills to untangle.
How absences are handled fairly
This is the part parents care about most, and it is where attendance-based billing is most obviously fair. A missed class is never a paid class. An absence does not burn a slot; it simply pauses the cycle. The meter waits for the next class the student actually attends and carries on from there.
That single rule dissolves the most common fee argument there is — “but they were off sick.” Under calendar billing you either hold firm and seem harsh, or make an exception and undercharge. Under attendance billing there is nothing to argue, because the absence was never charged in the first place. You are not being generous; the system is just counting honestly. It also means you can be consistent with every family without keeping a private ledger of who got which exception and why.
Everyone sees the same maths
The reason this holds up is that the family and the centre are reading from one record, not two. When attendance and fees are separate — a register in a notebook, fees in a spreadsheet, reminders in a chat — the three drift apart, and every gap between them is an argument waiting to happen. That is the spreadsheet alternative worth escaping: not a bigger grid, but a single source of truth where the fee is derived from attendance and therefore cannot disagree with it.
When the maths is visible before the bill arrives, a fee stops feeling like a chase and starts feeling like a receipt. The parent has already seen the cycle fill. Here is roughly what the running rhythm looks like:
- A teacher opens today’s class and marks who is present or away. That is the whole daily job.
- Each present class fills one place in that student’s cycle; a missed class just pauses it.
- When the cycle completes, the fee falls due — already tied to the exact classes delivered.
- You mark it received, and the next cycle opens on its own.
Moving your centre to attendance-based fees
You do not need software to test the idea. Pick one batch, decide the cycle length, keep marking attendance the way you already do, and only raise a fee when a cycle completes. You will feel the difference at the very next month-end: the cross-checking, the explaining, the goodwill discounts — they simply have nothing to attach to any more.
When you want that to run itself, that is exactly what ShowUp is built for — mark who showed up in a tap, watch each cycle fill, and let the fee fall due already explained. If you would like to see how the cycle works end to end, it takes a couple of minutes to follow. And if month-end has become the part of the week you dread, get started with ShowUp — plans from S$19 a month, with a 60-day money-back promise — and let the fees take care of themselves.
From S$19 a month · 60-day money-back promise