This is as much onRecord / Core as onBoard but the limitation starts there. If there is an active contract from onBoard applying to a student in a given year you cannot change the grade level of that student. Often the decision to repeat / skip is made between the contract submission date and end of school year. The only option currently is to delete the contract and re-submit. This is really bad from a customer service standpoint to parent. Also, the audit trail of payments made for contract is lost.
I think this is done now?