It is too easy to delete a submitted enrollment contract. There should be a way to have a role that would allow for the creation of a contract, but not allow that same role to delete a contract. When a contract is deleted that has been submitted it also deletes any trace of the paid deposit and causes a struggle with reconciling deposits. Deleting a pending contract has no impact -- deleting a submitted contract has a significant impact.
I agree - even a "Contract View-Only" role or permission would help a lot. I think roles need to be restructured so schools can follow the principle of least access when provisioning managerial roles.