Live aggregates, ageing buckets, and a receipt anyone can verify.
Billed, collected and overdue are computed at page load, so they cannot disagree with each other. Recording a payment generates a numbered receipt with a public verification code and files it into the guardian's locker in the same transaction. Fee ageing is shown in buckets, because recovery falls off a cliff after ninety days and that should be visible.
Live in the product. Each opens its own specification and working demo.