A language school is the only teaching business where the student's level changes the class, the price and the certificate. Most software treats level as a label.
Every other teaching vertical has levels. Language schools have levels that move people between classes on a fixed cadence. A student finishes A2 in June and starts B1 in September, in a different room, with a different teacher, possibly at a different price, and with an exam booking attached.
Generic class software models that as "unenrol from one class, enrol in another". Which works, until you want to know how many of last year's A2 cohort made it to B1, or which students are eligible for the next DELE sitting, or why the June invoices look strange because half the school changed level mid-cycle.
Levels as a progression, not a tag. The system should know that A1 comes before A2, that a student sits in exactly one level at a time, and that moving up is an event with a date.
Cohort scheduling. Language classes are group classes that move together. Rescheduling one session moves twelve people, not one.
Exam and certification tracking. Who is registered for which sitting, who paid the exam fee, who passed. This is almost always a spreadsheet, and it is almost always the spreadsheet that goes wrong.
Placement at enrolment. A new student is not "beginner" until someone assesses them. The placement result needs to live on the record, not in an email.
Multilingual on the parent side. A language school teaching English in Madrid communicates with families in Spanish. The irony of software that cannot do this is not lost on anyone who has tried.
Ask a language school owner where their week goes and the answer is rarely teaching. It is the level-change cycle: reassessing, re-sorting, rebuilding the timetable, re-pricing, and explaining to twelve families why Tuesday is now Thursday.
That cycle happens two or three times a year and consumes a fortnight each time. Software that handles cohorts as first-class objects turns most of it into a bulk operation.
"Move this whole cohort up a level in September." One action, or twelve?
"Which students are eligible for the next exam sitting?" A query, or a spreadsheet?
"Change this class from Tuesday to Thursday for the rest of the term." Does it notify twelve families automatically, and does it check that the room and the teacher are free?
"Send the term invoices in Spanish." Does the parent-facing side actually speak the family's language, or only the marketing site?
If you run a language school, the two questions that separate adequate software from good software are whether it understands levels as a sequence, and whether it can move a whole cohort at once.
Everything else - billing, attendance, messaging - is table stakes that most platforms handle. The level cycle is the part that either costs you two weeks a term or does not.
Free for up to 25 students. No credit card required.