Case study · SaaS / Education
RollCallFee vouchers, payments and WhatsApp reminders for private schools
RollCall is a school fee management web app built by DanixSoft for private schools, academies and tuition centres: it issues monthly fee vouchers for every student in one click, records payments with receipts, carries unpaid dues forward as arrears, and reminds parents on WhatsApp.
A fee office system for schools that run on printed vouchers, a register and Excel. Students are imported from a spreadsheet, each month is billed by the school's own rules, payments are recorded at a fee counter, and unpaid families get WhatsApp reminders.
What problem does RollCall solve?
Fee offices write vouchers by hand every month, work out sibling discounts and arrears on a calculator, and spend days phoning parents, without a clear view of who has paid, who paid half and who still owes from last term.
How does RollCall work?
One database function works out every voucher for the month — tuition, class charges, the larger of a scholarship or sibling discount, admission fees and arrears with late fines — and the preview the office reviews comes from the same function that issues the vouchers. Payments are an append-only ledger: a mistake is reversed by the owner, never edited.
What we built
- Student import by pasting from Excel or uploading CSV, with column matching and row validation
- Fee structure per class, sibling discount, per-student concessions and a fixed late fine
- Monthly vouchers in one click with a full preview, arrears carried forward, and three-copy A4 printing
- Fee counter with search by name, roll number, phone or voucher number, part payments and numbered receipts
- Voucher and receipt links parents open without an account
- Reminder lists for unsent vouchers, due soon and overdue, opened in the office's own WhatsApp
- Owner and accountant roles, dashboard, student statements and CSV exports
What is RollCall built with?
- Application
- Next.js 16 (App Router, Server Actions), React 19, TypeScript, Tailwind CSS v4
- Data
- Supabase Postgres with row-level security and Auth
- Quality
- Vitest unit tests and a database rules and isolation check script
Engineering challenges
- Vouchers and payments written only through security-definer functions; payments are append-only with owner-only reversals
- Every table scoped to a school by row-level security, with column-level grants and cross-school consistency triggers
- Parent links use random 96-bit tokens and return only what is printed on the paper voucher
- A database check script covering fee rules, fines, arrears, reversals, roles and cross-school isolation


