Can there be a lookup function for adding existing contacts to a student record, rather than having to add contacts afresh each time? What I mean is a tool whereby, if you need to add a contact, you can first look in a list of existing contacts across all students and years, and select the correct individual; and only add the contact manually if it doesn't already exist. Database Normalization 101 - don't have repeating information in your tables.
As a school we frequently have to add the same contacts to a number of different student records. Two contexts in particular: first, many of our students are referred by agents, and clearly the same agent will, from year to year, refer new pupils to us, while retaining the same name, address, etc. And second, many of our overseas students board with local host families; we tend to use the same host families each year for different students, and their information remains the same from year to year.
Having to enter the contact details manually for each of these categories of contact allows variations and mistakes to creep into the data, and we have just spent a few days going through these errors manually to make the contact information for these categories consistent across current and former students. And should corrections be needed (e.g., a host gets a new phone number) we have to go into all the individual records where that host is a contact and correct it there, rather than doing it once for a single, linked contact record.
A single repository of contacts, with a lookup function within the Contacts tab in Student Manager, would get around all of these problems.