How language teachers record monthly fees and package installment payments in the system, tracking who has paid and who still owes, without relying on spreadsheets.

How to Mark a Language Student's Monthly Fee as Received

How language teachers record monthly fees and package installment payments in the system, tracking who has paid and who still owes, without relying on spreadsheets.

You just received a payment from your student. Now you need to log it somewhere so you don't lose track. If your answer is "I put it in a spreadsheet," "I send myself a WhatsApp message," or "I try to remember later" - you're stuck in a cycle that wears you down.

Marking a language student's monthly fee as received sounds simple, but when that process has no fixed home, chaos creeps in quietly. An installment you thought was paid wasn't. A student who had been overdue for two months, you only noticed in the third. And at the end of the month, the amount you expected to collect doesn't match what actually landed in your account.

Why tracking monthly fees becomes a real problem

Most language teachers start with a handful of students and a spreadsheet works just fine. But as your roster grows, the complexity scales out of proportion. With 8 students, you might manage to remember who paid. With 15, it gets hard. With 20 or more, it's impossible to keep that in your head.

The problem isn't only organization - it's also awkwardness. Asking a student for payment they already made is embarrassing. Forgetting to collect from a student who hasn't paid is worse. Both mistakes happen when payment tracking lives in an informal place.

Teachers who work with lesson packages face a variation of this: on top of the monthly fee, they also need to track how many sessions from the package the student has used and whether the package is still active. Crossing that with payment status becomes a mental exercise that eats up time every single week.

How most teachers handle it today

Google Sheets is the most common tool. You create columns for student name, reference month, amount, and status. It works at first, but it demands manual discipline. If you forget to update it for two days, the spreadsheet falls out of sync and you stop trusting the data.

WhatsApp is where many teachers "log" payments - the transfer notification arrives on your phone, you make a mental note, and forget to move that information into any formal record. Weeks later, you're not sure whether the student actually paid or just sent a message saying they were going to.

Personal finance apps (like Mint, YNAB, or even your bank's own app) record the incoming money, but don't tie it to a specific student or reference month. You can see that $300 came in, but you don't know from which student or whether it covered August or September.

A paper notebook or planner still shows up often among more experienced teachers. It has the advantage of being immediate, but you can't filter it, you can't search it, and it disappears when you switch planners at the end of the year.

What this tracking actually needs to do

Good monthly-fee tracking for language students needs to give you an instant answer to three questions:

Who owes this month? You need to see the list of pending installments without having to reconstruct anything mentally.

Who is overdue? Installments that are past due but still unpaid need to appear separately from this month's pending ones. Unpaid debt without visibility is money that quietly disappears.

When you mark something as received, that record stays there permanently. It doesn't vanish, it doesn't rely on memory, and you can verify it for the student if any question ever comes up.

On top of that, the ideal system automatically creates a sales record when you mark an installment as paid, so your finances stay consolidated in one place - without having to log the same event in two different systems.

How Noladi solves this

Noladi has a receivables screen where all installments from your students' subscriptions appear in one place. You filter by status - pending, paid, overdue, or cancelled - and search by the specific student's name whenever you need to.

When a student pays, you find the installment and mark it as received with one click. The system logs the payment and automatically creates a sale record, without you having to navigate to another part of the system.

If an installment is no longer going to be charged, you cancel it right there - which stops it from showing up as pending and cluttering your records.

The flow looks like this: you create the student's subscription with the plan, the amount, and the number of installments. The system generates the installments automatically. When each payment comes in, you find the matching installment and mark it as received. Done.

No parallel spreadsheet. No WhatsApp. Who has paid and who still owes stays centralized, with a permanent history.

Get to know Noladi

If you want to stop mixing monthly-fee tracking with spreadsheets, WhatsApp, and memory, it's worth seeing how Noladi organizes your teaching finances alongside your schedule, live classroom, and post-class review. Visit noladi.app/teacher and see how it works.