Setting up Course Retake Fees
Description
How to set up fees for retaking Courses?
Resolution
RIO Education v3.5 introduced Course Retake Fees - the ability to adjust the price of Courses based on how many times the student has attempted them. We can do this by checking a different Fee amount field based on the student's Course Connection's attempt number.
If you take a look at our Student Fee Types Custom Metadata Data (you can find this by going to Setup, searching for Custom Metadata Types, and selecting Manage Records next to Student Fee Types), you will see something like this:
The way we determine Fee Amounts is by referencing the student's information against these Student Fee Types.
Student Fee Type field | Referenced field |
---|---|
Label | Contact's Student Fee Type. |
Current Fee Amount Field |
Course's Current Fee Amount (not currently used) AND Fee's Current Fee Amount (not currently used):
|
Fee Amount Field |
Course Offering's Fee Amount AND Fee Schedule's Fee Amount. |
Attempt Number |
Course Connection's Attempt Number:
|
By default, RIO Education's Student Fee Types comes with only blank Attempt Numbers. That means every attempt on the Course will cost the same amount. If you want any retaken fees to be different, you will need to create new fields on the related objects, and create a new line in the Student Fee Types metadata.
For example, let's say you want 3 different fees per Course for Domestic students:
- Attempt #1 costs $500.
- Attempt #2 costs $650.
- Attempt #3 and all future attempts cost $750.
For this example, you would need to create an "Attempt 1" field and an "Attempt 2" Student Fee Types. The 3rd attempt and all future attempts will use the blank attempt number field.
Click on the "New" button at the top of the list, and create the new Student Fee Types for your other attempts. You should follow a similar naming scheme for the field API names, and remember the label MUST match the Contact's Student Fee Type. Now your list should look something like this:
Now that your Custom Metadata is set up, you will need to actually create the fields on the objects.
- You will need to create the "Fee Amount Field" fields on the Fee Schedule and Course Offering objects. These should be currency fields, with the same API name you used in the Custom Metadata Types. You can check the "rio_ed__Fee_Amount_Domestic__c" field for reference.
- You will need to create the "Current Fee Amount Field" fields on the Fee object. This should be a rollup currency field, with the same API name you used in the Custom Metadata Types. You can check the "rio_ed__Current_Fee_Domestic__c" field for reference.
- You will need to create the "Current Fee Amount Field" fields on the Course object. This should be a formula currency field, with the same API name you used in the Custom Metadata Types. You can check the "rio_ed__Current_Fee_Domestic__c" field for reference.