-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requestfeature requesthelp wantedExtra attention is neededExtra attention is needed
Description
📝 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).
- Data Change: Change
monthlyFeeto a structuredfeeHistoryarray 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' }]
- Example:
- 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:
- Accurate: Guarantees that historical statements and financial reports are always correct.
- Robust: Provides a clear audit trail for all fee changes.
- Scalable: Ensures the application is usable for long-term record management across multiple academic years.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestfeature requesthelp wantedExtra attention is neededExtra attention is needed