Locking/unlocking Student Fees
Table of Contents
Overview
This article will cover the locking (and unlocking) of Student Fee records, either by manually doing so, or via the census date.
Locking the Student Fees
Automatic via Census Date
(See use case example: Withdrawing or unenrolling from Courses.)
Student Fee and Fee Lines will be automatically locked when the census date (final date for enrolling/unenrolling to a Course) has passed.
Both records cannot be edited, and no Fee Lines can be added or removed.
The user can void a locked Student Fee or Fee Line, but cannot 'un-void' (uncheck the box) afterwards, unless they manually unlocked it.
If the student pays upfront when enrolling to the Program, the Student Fee will be automatically locked once the starting Term's census date has passed.
For example, this student has paid upfront. Thus, after the census date for the starting Term (Semester 1 2022) has passed, the Student Fee will be automatically locked.
On the other hand, if the student is paying for the Program one Term at a time, the Student Fee will be automatically locked once the census date of the current Term has passed.
For example, a student pays by the Term for the Program (Fee Method = Term - Fixed or Term - Course).
The current Term that the student is taking (based on the PE Pathway) is Semester 2 2022.
Thus, if the census date for that Term has passed, the Student Fees will be automatically locked.
As for Fee Lines (which are associated with individual enrolled Courses), they will be locked and cannot be updated when the census date of the Course Connection has passed.
Note: If your Course Offering 'Census Date' is empty during your Master Data upload, it will refer to the Term's 'Census Date'.
Manually
Student Fees and Fee Lines can be manually locked via the 'Manual Lock' checkbox in both objects. When the 'Manual Lock' is checked, this will update the 'Fee Locked' to be checked as well.
A Student Fee or Fee Line cannot have any amounts changed once it has been locked. No Fee Lines can be added or removed from a locked Student Fee as well.
When creating/updating a Fee Line record with "Fee Locked" field checked, this would prompt an error "Cannot add Fee Lines to a locked Student Fee".
Unlocking the Student Fees
A student has missed out on enrolling to Courses before the census date has passed. The admin is helping the student to enroll post-census date.
This could involve actions such as:
- Converting a Program Enrollment from an approved Program Application.
- Enrolling to a Course (with the Course Connection's enrollment status being "Enrolled") via Student Community or an admin user is enrolling a Course on behalf of the student internally.
Actions that create or update Student Fees/Fee Lines will be prevented, since the census date has passed and the fees are locked. This means that the student cannot enroll.
The admin can resolve this by manually unlocking the Student Fee and Fee Lines using the 'Manual Unlock' checkbox. This will allow enrollment to succeed, since the creation or update of these fee records is now allowed.
When 'Manual Unlock' is checked, this would uncheck the 'Fee Locked' fields, thus unlocking them.
Unlocking a Student Fee will unlock the Fee Lines under it as well.
Note: Permission to edit this field should only be added to the REDU Admin permission set.
However, if it is a new student that has only recently enrolled to the Program, the student will have no existing Student Fees to unlock.
Admin will have to manually create a new and unlocked Student Fee, and assign it with the right PE Pathway. The user should be able to proceed and enroll to Courses.
The following are the suggested fields to be mapped when manually creating a Student Fee:
- Program Enrollment = [Program Enrollment]
- PE Pathway = [PE Pathway]
- Type = Tuition
- Student Fee Label = [Term's Display Name]
- Due Date = [Term's Fee Due Date]
- Main Term Student Fee = True (checked)
- Manual Unlock = True (checked)
Once the enrolling has completed, the admin will need to uncheck the "Manual Unlock" checkbox, in order to lock the Student Fee.
Preventing deletion of locked fees
The "FL_LockedFee_TDTM" trigger handler prevents locked Student Fees and Fee Lines from being deleted.
It also prevents fields such as Course Connection Fee Amount, Discount Amount, Funding Assistance, Other Amount, Upfront Payment Amount and Funding Assistance 2, from being updated.
However, if admins need to update these fields, they can introduce a filter condition against the "FL_LockedFee_TDTM" trigger handler to skip this validation against a specific set of Fee Line records.
A BeforeDelete trigger handler is added to Student Fee and Fee Lines, to prevent deletion of both records when they are locked (if the fee has been voided).
If possible this should have load order = 1.00.
The trigger should prevent deleting, updating certain fields, and adding new lines after the fee is locked.
Apex/Triggers
Name |
Changes |
FL_ApplyFunding_TDTM |
Adds cover for AfterDelete, can follow the same logic as other triggers just using oldList. |
FL_ApplyFunding_TDTM |
Prevents update/adding if assigned to a locked fee/fee line. |
FA_ApplyFunding_TDTM |
Adds cover for AfterDelete and AfterUpdate from approved, removing any related fee lines (Assuming not locked). |
FA_ApplyFunding_TDTM |
Prevents updates/deletion if assigned to a locked fee. Raises an error on update/delete of status. |
SFEE_CourseConnection_TDTM |
Prevents update/adding to locked fees. Raises an error. |
FL_FeeLocked_TDTM SF_FeeLocked_TDTM |
Prevents update/delete if fee/fee lines are locked. |
FL_FeeLocked_TEST SFEE_FeeLocked_TEST |
Combined. |