Automatic Teacher Payroll From Delivered Lessons: Why Manual Recalculation Breaks
How to pay teachers from lessons actually delivered — fixed rate or percentage — without recalculating by hand after every reschedule.
It’s the end of the month. You open the spreadsheet where you’ve been tallying each teacher’s lessons by hand for thirty days, and you start reconciling: this lesson happened, this one got moved, this student didn’t show — do we pay for it or not? An hour in, your head is buzzing and you’re still not sure you haven’t miscounted by a lesson somewhere.
Sound familiar? Teacher payroll is one of those tasks where manual work survives the longest. And it breaks exactly where a real school lives: in reschedules, substitutions, cancellations, and one-off lessons outside the package.
Why manual recalculation breaks
The problem isn’t the formula. A fixed rate per lesson, or a percentage of what the student paid, is simple arithmetic. The problem is that the basis for the calculation keeps changing throughout the month, and the spreadsheet has no idea.
Here’s a typical month for a single group:
- A Tuesday lesson gets moved to Thursday — now there’s a duplicate row, because someone entered both dates.
- A student falls ill and the lesson is cancelled a day ahead — it was on the calendar but never happened. Does the teacher get paid for it?
- A substitute teacher covers the lesson instead of the regular one — who does that lesson count for?
- One student takes an extra one-on-one session outside their package — easy to forget entirely.
Each of these is trivial on its own. But over a month they pile up by the dozen, and every one needs a “do we count this or not?” decision. The spreadsheet doesn’t make that decision — a person makes it, from memory, every single time. And memory at month-end is not reliable.
The cost of an error isn’t just money
You might think: so we’re off by a lesson or two, what’s the big deal? The damage isn’t the amount. The damage is to trust.
Teachers keep their own count. Not necessarily in a spreadsheet — often just in their head or a note on their phone. And when your number doesn’t match their number, you get the awkward conversation: “I counted 47 lessons, you’ve paid for 45. Where are the other two?” And the two of you sit down and reconstruct the month day by day.
That conversation is corrosive even when you’re right. What the teacher takes away isn’t “that error was an honest mistake” — it’s the feeling that they have to police their own pay, because the school might underpay them. One incident like that, and loyalty develops a crack.
Manual recalculation is also opaque by definition. The teacher sees a total, but not how it was built. They can’t verify for themselves why it came out to that number. And anything a person can’t verify, they quietly suspect.
How to make payroll self-updating
The alternative to manual tallying is to calculate pay not from a separate spreadsheet, but from the same attendance journal where lessons already get recorded. If attendance is marked daily — and it already is — then every piece of data payroll needs is already in the system. It doesn’t need to be entered a second time; it just needs to be interpreted correctly.
The principle is simple: pay by lesson status, not by the plan. Lesson delivered — counted. Cancelled — not. Rescheduled — counted once, on the date it actually happened. Covered by a substitute — the lesson goes to the substitute. Once that rule is defined a single time, a mid-month reschedule stops breaking anything: you move the lesson on the calendar, and payroll recalculates itself.
The key decision to make up front and write down is exactly what you pay for. There’s no single correct answer, but there has to be yours:
- Delivered lesson — paid, whether or not the student showed up (the student paid, the teacher worked the slot).
- Student cancellation with less than N hours’ notice — counts as delivered (you’re protecting the teacher’s time).
- Cancellation with proper notice — not paid.
- Substitution — the lesson always goes to whoever actually taught it.
When these rules live in the system rather than in someone’s head, recalculation stops being a month-end event. The total updates daily, in the background.
Fixed rate or percentage — and both must be transparent
The two most common pay models:
Fixed rate per lesson. The teacher earns the same amount for every counted lesson, regardless of what the student paid. Simple, predictable, easy to explain to a new hire.
Percentage of the student’s payment. The teacher earns a share of what the student paid for that lesson. It ties the teacher’s income more closely to the value of the session, but it requires a clearly defined lesson price — otherwise there’s nothing for the percentage to be a percentage of.
Both models work. In larger schools they often coexist: some teachers on a flat rate, some on a percentage, some with different rates for individual versus group lessons. The important thing is that the rate is stored on the teacher’s profile, not held in the owner’s memory. With twenty teachers on different terms, a memory-based error is only a matter of time.
Transparency the teacher can actually see
The most important part isn’t the calculation itself — it’s that the teacher sees the same picture you do. Not a total that appears out of thin air, but the breakdown: here are the 47 lessons this month, here are the dates, here are the statuses, here’s the rate, here’s the total. Every line can be checked against their own memory.
When a teacher can see the breakdown, the question “where are the other two lessons?” disappears on its own. Not because mistakes never happen — but because now both of you can see them, and they’re fixed in a minute instead of an evening spent reconstructing the month. The payroll conversation turns from a confrontation into a quick reconciliation.
This is exactly how Mimiao handles it: payroll is calculated automatically from the journal of delivered lessons, at the rate set for each teacher — fixed or percentage. Move a lesson on the calendar, and the total updates itself, with the teacher seeing the same breakdown the admin does.
Payroll shouldn’t be a monthly quest involving a spreadsheet and a reconciliation from memory. When it’s calculated from lessons actually delivered and transparent to the teacher, it stops stealing an evening at month-end and stops straining relationships. If you’d like to see how this works alongside invoices and student balances, take a look at the finance features page.