Skip to main content
Schoolyi
School librarian arranging books and planning cards in a bright library

Browse docs

Fees & finance

Fee collection usage

The daily counter round: taking a payment, issuing the receipt, reversing a bounced cheque, handling a concession or a refund, and working the overdue list.

Fees & finance guide for day and boarding schools.

Last updated August 29, 2026

What this is, day to day

Collection is the part of fees that runs every working day once setup is finished. A finance operator spends most of it on one screen, /fees/collections: find the student, look at the outstanding installments, take the money, hand over the receipt. Everything else on this page is an exception path - a cheque that bounced, a concession somebody promised, a refund, or a family that has stopped paying. Access is the same five roles as the rest of fees: Platform Admin, Principal, Vice Principal, Support Staff - Finance and Admin. A teacher can see fee lines for their own class through /my-class but cannot take payment, and families see only their own balance.

The counter round

  1. Open /fees/collections and search by name, registration number or roll number.
  2. Read the balances. Each row is one installment with its own due date and status, and the dialog shows the calculated late fee as "if paid today" - an advisory figure that is never added to the balance and cannot be collected on that line.
  3. Record the payment. Choose CASH, CHEQUE, BANK_TRANSFER, CARD, ONLINE or OTHER, and add the cheque number, bank or transaction reference. Part payment is allowed at the counter; anything above the outstanding balance is rejected.
  4. Save. A receipt number is allocated from the RCP-YYYY series, the fee instance is recomputed from its completed payments, and a receipt dialog opens. Several lines saved together are grouped under one batch receipt number and print as a single multi-line receipt.
  5. Send the receipt from that dialog, or later from the Receipts tab at /fees/payment-history?tab=receipts. This is a deliberate click - counter payments do not email themselves.
  6. Take the next student. There is a rate limit of thirty payments a minute per operator, which a human will never reach but a stuck script will.

Exceptions, and who has to sign them off

SituationWhereWhat actually happens
Cheque bouncedThe payment recordThe payment is marked bounced and the fee instance is recalculated from completed payments only, so the balance reopens and the status falls back to PENDING, PARTIAL or OVERDUE
Concession or scholarship/fees/waiversCreated PENDING and inert. A second person approves it; high value needs Principal or Vice Principal. Only a waiver attached to a fee instance reduces a balance
Refund/fees/refundsPENDING, then APPROVED by someone other than the requester, then COMPLETED by finance. Completion marks the payment refunded - the gateway is not called and the money moves by hand
Family stopped paying/fees/defaultersFilter by minimum days overdue and minimum amount; the list shows days overdue, the guardian contact, and the dunning step and last-contacted date if the daily job has run
Month-end position/fees/outstanding and /fees/forecastSchool-wide unpaid totals with CSV export, and what falls due in the next 30, 60 and 90 days alongside what is already overdue

Two things about that table are easy to get wrong in practice. A partial refund still marks the whole original payment refunded, so the full amount drops out of the paid total on the fee instance rather than just the refunded part - reconcile accordingly. And a waiver raised against a fee type rather than a specific fee instance is stored and can be approved, but it changes no balance at all, which is the most common reason a promised concession never appears on a family ledger.

What families see and do

  • /fees/me - balance and history. Parent notification links carry both studentId and childId set to the same student, and a parent not linked at /parents is refused. Staff who open it are redirected to the fees hub.
  • /fees/pay-online - available only when the checkout mode is set, and it accepts the full outstanding balance of one installment. Part payment online is refused, so send those families to the counter.
  • Autopay is not a family screen. /fees/autopay is staff-only, and a mandate produces in-app reminders on a monthly schedule rather than charging anything.
  • Transport riders see monthly TRN lines on the same screen, and a library fine appears as an ordinary fee instance due in fourteen days.

Limits

  • The overdue list is only maintained by the daily job. Without it /fees/defaulters still lists unpaid lines past their due date, but the dunning step and last-contacted columns stay empty, so nobody can tell which families have already been chased.
  • A payment cannot exceed the outstanding balance of one installment, so penalties and part-of-a-later-installment collections need their own fee instance.
  • Receipt numbers are allocated sequentially per calendar year and are unique, so a receipt cannot be re-issued under the same number after a correction.

Common questions

Quick answers in plain language.

A cheque bounced after the receipt was issued. How do I reverse it?+

Mark the cheque payment bounced from the payment record rather than deleting it. The fee instance is recalculated from completed payments only, so the balance reopens and the status returns to PENDING, PARTIAL or OVERDUE depending on what else was paid and whether the due date has passed. The original payment stays in the audit trail, and the family is chased again on the next dunning run.

A waiver was approved but the family balance has not changed. Why?+

The waiver was almost certainly attached to a fee type instead of a fee instance. Approval only reduces a balance when the waiver carries a fee instance, in which case the waiver amount is added to that instance and the payable amount drops, moving it to WAIVED if it reaches zero. Raise a replacement against the specific installment you meant.

Which staff can see another student fee ledger?+

Only the five fee operations roles - Platform Admin, Principal, Vice Principal, Support Staff - Finance and Admin - can open school-wide fee data or another student ledger. A parent is checked against an active link for that specific student, a student can only see their own, and any other staff role must supply a student id and is still refused unless a link exists.

Can a family pay several installments in one transaction?+

At the counter, yes - select several outstanding lines and record them together. Each line is still its own payment record, but they are grouped under a single batch receipt number and print as one multi-line receipt. Online the checkout works one installment at a time and requires the exact outstanding balance, so families paying a term in one go are better served at the counter.

How do finance staff record a counter fee payment?+

Open /fees/collections, search the student, select pending instances, enter payment mode and reference, then save. Receipt PDF generates and emails if SMTP is configured.

How do parents pay fees online?+

Enable online pay in Fees → Settings → Payment gateway. Bulk-generate instances, link parent at /parents, then parent opens /fees/me?childId=. Simulated mode uses Pay (simulated); live uses Razorpay when configured.

Related searches

School leaders and IT teams often search for: how to fees collection workflow in school management software, best fee management software for K-12 schools, Schoolyi fees collection workflow guide, fees collection workflow step by step, online fee collection software, school billing software, and fee receipt software schools.