Sorry
@stonegold87 , you can't ask people to give you a proposed schema without providing a COMPLETE specification. YOU are the one who is interviewing the users, it is you who have to drag the details out of them. Document what you know so far and show us how you think it should be laid out. We're happy to jump in and offer opinions but remember we don't know the details. We only know what you tell us and what we have learned from life experience, i.e. having sent children to schools and paid those fees.
Just FYI, Each School year would have separate records for fees. In year 1, you might have registration and tuition but in year 2 you might have tuition, sports, and transportation. That's another reason for not putting the fees as columns in records but as rows.
I mentioned needing school year in the fee table earlier.
That explanation just jogged me. We also need SchoolYear in tblStudentFees AND we need a compound index that includes StudentID, FeeID, AND SchoolYear.