Move embedded payment rows into Transaction documents with due dates so remaining tuition can be tracked separately from paid amounts.
Match students by name when national ID or phone is missing, parse Jalali dates, and allow sessions without a professor.
Support uploading structured JSON to create courses, classes, and students without wiping existing data, and merge user name fields while adding gender and registration details from source sheets.