Reconciliation problems usually start at the model, not the month end. If fees are 'amounts collected' rather than invoices with payments against them, there is nothing to reconcile to.
Model fees as invoices, not amounts
- A fee structure defines what a student in a class owes for a term.
- An invoice is generated per student from that structure.
- A payment is recorded against an invoice; a receipt is issued from the payment.
- Outstanding is the difference — computed, never typed.
Store money as integers
Paise-level rounding errors are how ₹1 differences appear in a ₹24 lakh total. Store money as integer paise or whole rupees and format at the edge. It sounds pedantic; it is the difference between a total you trust and one you re-add by hand.
Audit every edit
A payment that is edited or deleted without a trace is a reconciliation problem waiting for an auditor. Record who changed what and when, and prefer reversal entries over silent edits.
One source for every dashboard
The principal's 'fees due' tile and the accountant's outstanding report must be computed from the same invoices. In MANEXA they are — the cockpit reads the same records the finance module writes, scoped to the school.