A coaching institute ERP that works when the internet does not
A coaching institute running on registers and spreadsheets needed one system for students, fee installments, tests and expenses. The complication was not the features. It was that a cloud product is unusable on exactly the days it matters most.
Where they were
- Student records, fee collection and test marks lived in three separate places, and only one person could reconcile them.
- Fees are paid in installments, not in one go. A simple paid-or-unpaid field does not describe reality, and spreadsheets do not enforce a schedule.
- Internet at the centre is not dependable. A cloud-only system would be down on fee-collection days, which is when it is least acceptable to be down.
- Test results and report cards were produced by hand each cycle, which is slow and generates arithmetic errors nobody catches until a parent does.
Where they are now
- Students, fee installments, tests and expenses sit in one system instead of three registers.
- Fee dues are known per student per installment, so collection follow-up is a list rather than an investigation.
- Report cards are generated from entered marks, which removes both the typing and the arithmetic errors.
- The centre sees income against expenses in one place, monthly, without assembling it by hand.
- No monthly hosting cost and no dependency on the connection being up.
The decisions that shaped the system
This was the decision everything else followed from. The system runs locally on the centre's machine with the data in a local database, so it works at full speed whether or not the connection is up. Almost no rented school ERP offers this, and for this client it was the requirement that ruled the rest out.
Each student has a fee plan with scheduled installments, due dates and a running ledger. The system knows what is due this week rather than requiring someone to work it out, and a partial payment is recorded as a partial payment instead of being rounded to paid or unpaid.
Marks go in once per test. Totals, percentages and report cards come out of that, in the institute's own format. The arithmetic stops being a source of errors.
Rent, salaries, printing and utilities recorded alongside fee income, so the owner can see what the centre actually made this month without assembling it from two places.
A coaching institute does not need an enterprise ERP and cannot maintain one. The scope was deliberately held to the four things that were hurting, and the system is small enough that it runs on existing hardware and needs no administrator.
Why offline-first changes the design
Building offline-first is not simply a cloud application with a cache bolted on. The data model has to assume the authoritative copy is the local one, which changes how identifiers are generated, how receipts are numbered and what happens when two things are entered in the same minute.
It also changes backups. With no server quietly taking snapshots, backup becomes a feature of the product rather than someone else's infrastructure. If you take the offline route, make sure backup is automatic and that someone has actually restored from one — an untested backup is a belief, not a safeguard.
The trade is real: no access from home, no parent app reading live data without a sync layer. For this client, on those days when the line is down, that trade was obviously worth it. For a school with reliable fibre it would not be.
Offline-first is the right answer less often than people assume. If your connection is genuinely reliable, a cloud system gives you a parent app, access from anywhere and backups you do not have to think about. Choose desktop when connectivity is the actual constraint, as it was here — not because it feels safer. And whichever you choose, test a restore from backup before you need one.
About this project
Can a desktop system still send WhatsApp fee reminders?
Can this scale to a school with 900 students?
Have a project that looks like this one?
Tell us where you are now and what is breaking. We will tell you honestly whether a build is the right answer.