Skip to content

Feature Request: Implement 'Historical Fee Structure' Tracking #7

@khdxsohee

Description

@khdxsohee

📝 Problem Description

The current system appears to manage student fees with a single, static student.monthlyFee attribute.

This design is a significant limitation for a real-world school management system because student fees are often subject to change:

  • Annual revisions for a new academic year.
  • Students moving to a different class (which may have an altered fee).
  • Mid-year policy adjustments.

When generating a financial statement or checking a payment status for a past month (e.g., June 2024), the system must reflect the fee that was applicable during that specific month, not just the student's current fee.

💡 Proposed Solution

We should refactor the data model to track a student's monthly fee historically, associating the fee amount with a specific validity period (date range or academic year).

  1. Data Change: Change monthlyFee to a structured feeHistory array in the student registration data.
    • Example: feeHistory: [{ amount: 100, startDate: '2024-01-01', endDate: '2024-12-31' }, { amount: 110, startDate: '2025-01-01', endDate: '9999-12-31' }]
  2. Function Update: The core App Script functions (getAllData, getStatement, and fee update logic) must be updated to dynamically look up the correct fee based on the target month being processed.

✨ Expected Benefits

This enhancement will make the Student Fee Dashboard:

  1. Accurate: Guarantees that historical statements and financial reports are always correct.
  2. Robust: Provides a clear audit trail for all fee changes.
  3. Scalable: Ensures the application is usable for long-term record management across multiple academic years.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions