End-of-term rollover
This guide covers the complete end-of-term workflow—from closing out a term's academic activities through generating final reports, making promotion decisions, and transitioning to the next academic period. The process involves multiple departments working in sequence.
What this guide covers
- Term closure workflow
- Report finalization and publishing
- Promotion decision process
- Year-end transitions
- Structure cloning for new years
- Archive and cleanup procedures
Before you start
Required setup
| Requirement | Location | Purpose |
|---|---|---|
| School year | Structure → School Years | Year must exist |
| Terms | Structure → Terms | Term structure defined |
| Classes | Structure → Class Divisions | Student assignments |
| Gradebooks | Learning → Gradebooks | Assessment records |
| Term reports run | Reports → Term Reports | Report generation context |
Required permissions
| Permission | Description |
|---|---|
school_years.update | Modify year status |
school_terms.update | Close/open terms |
term_reports.moderate | Moderate reports |
term_reports.publish | Publish to students/guardians |
term_reports.promotion | Set promotion status |
school_years.clone | Clone structure for new year |
Academic calendar lifecycle
School Year: PLANNED → ACTIVE → COMPLETED → ARCHIVED
│
├── Term 1: UPCOMING → ACTIVE → COMPLETED
│ └── Assessment → Reports → Promotion decisions
│
├── Term 2: UPCOMING → ACTIVE → COMPLETED
│ └── Assessment → Reports → Promotion decisions
│
└── Term 3: UPCOMING → ACTIVE → COMPLETED
└── Assessment → Reports → Final promotion → Year transition
Part 1: Term statuses
School year statuses
| Status | Description |
|---|---|
planned | Future year, being configured |
active | Current operational year |
completed | Year finished, still accessible |
archived | Long-term storage, limited access |
Term statuses
| Status | Description |
|---|---|
upcoming | Future term, not yet started |
active | Currently running term |
completed | Term finished |
cancelled | Term was cancelled |
Part 2: End-of-term closure workflow
Phase 1: Assessment deadline
- Deadline reminder — Notify teachers of mark submission deadline
- Monitor submission — Track gradebook completion
- Handle late submissions — Extend deadlines if needed
- Close gradebooks — Lock further mark entry
Phase 2: Report generation
- Navigate to Reports → Term Reports
- Create a Report Run:
- Select academic year and term
- Configure report parameters
- Set grade boundaries
- Generate reports for all classes
- Review generation status
Phase 3: Quality review
- Class teacher review — Check individual reports
- Add comments — Class teacher remarks
- Head teacher review — Grade-level moderation
- Principal approval — Final sign-off
Phase 4: Publication
- Bulk publish approved reports
- Notify guardians of availability
- Enable report downloads
Phase 5: Term closure
- Navigate to Structure → Terms
- Select the term
- Change status to
completed - Confirm closure
Part 3: Term report workflow
Report run creation
Navigate to Reports → Term Reports → Runs → Create Run
| Field | Description |
|---|---|
| Run name | Descriptive name (e.g., "Term 1 2024 Final Reports") |
| Academic year | Select year |
| Term | Select term |
| Run number | Sequential run identifier |
Report generation
Reports are generated per class division:
- Select run and class
- Click Generate reports
- System calculates:
- Subject percentages
- Overall averages
- Class rankings
- Grade rankings
- Performance bands
- Attendance summaries
Report contents
| Section | Data included |
|---|---|
| Student info | Name, admission number, class |
| Academic year/term | Period context |
| Subject results | Each subject with marks, grade, rank |
| Overall performance | Average, rank in class/grade |
| Attendance | Days present, absent, percentage |
| Comments | Teacher, head, principal remarks |
| Promotion status | Final term only |
Report moderation
Reports go through moderation workflow:
| Status | Description |
|---|---|
draft | Initial generation |
pending_review | Awaiting teacher review |
teacher_approved | Class teacher approved |
head_approved | Department/head approved |
principal_approved | Final approval |
published | Visible to students/guardians |
Adding comments
- Class teacher
- Head teacher
- Principal
- Open student report
- Navigate to Comments section
- Enter class teacher comment
- Save
Comment types:
- Academic performance feedback
- Areas of strength
- Areas for improvement
- Recommendations
- Review class teacher comment
- Add head teacher remark
- Approve or return for revision
- Review all comments
- Add principal's note
- Final approval
Publishing reports
Individual publish:
- Open approved report
- Click Publish
- Confirm publication
Bulk publish:
- Navigate to report run
- Filter by
principal_approved - Select all
- Click Bulk publish
- Confirm
Report PDF generation
- After publishing, generate PDFs
- Options:
- Individual PDF download
- Bulk PDF generation
- Email to guardians
- Print queue
Part 4: Promotion decisions
Promotion statuses
| Status | Description |
|---|---|
pending | Not yet decided |
promoted | Moving to next grade |
conditionally_promoted | Promoted with conditions |
retained | Repeating current grade |
Setting promotion status
- Open final term report
- Navigate to Promotion section
- Set status:
| Field | Description |
|---|---|
| Promotion status | Select outcome |
| Promoted to class | Target class (if promoted) |
| Conditions | Conditions for conditional promotion |
| Notes | Supporting information |
Bulk promotion
- Navigate to Reports → Promotion Management
- Filter by class/grade
- Review student list with performance
- Apply bulk promotion rules:
- All passing → Promoted
- Below threshold → Review individually
- Confirm decisions
Conditional promotion rules
For conditionally promoted students:
| Condition type | Example |
|---|---|
| Academic | Must improve Math grade |
| Behavioral | Must meet conduct standards |
| Attendance | Must achieve 90% attendance |
| Supplementary | Must pass supplementary exam |
Part 5: Year-end transition
End-of-year checklist
- All terms completed
- All reports published
- All promotions decided
- Financial reconciliation complete
- Outstanding fees recorded
- Class assignments cleared
Closing the school year
- Navigate to Structure → School Years
- Select the year
- Review closure requirements:
- All terms
completed - All reports published
- Promotion decisions finalized
- All terms
- Change status to
completed - Confirm closure
Creating new school year
- Navigate to Structure → School Years → Create Year
- Enter details:
| Field | Description |
|---|---|
| Year name | e.g., "2025 Academic Year" |
| Start date | Year start |
| End date | Year end |
| Total terms | Number of terms |
| Target enrollment | Projected students |
- Save school year
Cloning year structure
Clone the previous year's structure to new year:
- Navigate to new school year
- Click Clone structure
- Select source year
- Choose components:
| Component | Description |
|---|---|
| Calendar | Copy calendar events |
| Holidays | Copy public holidays |
| Class divisions | Create matching classes |
| Subject classes | Copy subject assignments |
| Schedules | Copy timetables (optional) |
- Options:
- Include subject classes: Yes/No
- Include schedules: Yes/No
- Dry run: Preview without creating
- Execute clone
Clone results
| Metric | Description |
|---|---|
| Created | New records created |
| Reused | Existing records linked |
| Skipped | Duplicates avoided |
Part 6: Student transitions
Promoting students to new classes
After year transition:
- Navigate to People → Students
- Filter by promotion status
- For promoted students:
- Update class division to new grade
- Clear previous term assignments
- For retained students:
- Keep in same grade level
- Assign to appropriate class
Bulk class reassignment
- Navigate to Structure → Class Divisions → new class
- Click Assign students
- Select students from previous grade's promoted list
- Confirm assignments
Handling special cases
| Case | Action |
|---|---|
| Transfers out | Mark as withdrawn, update status |
| Transfers in | Create from admissions |
| Graduated | Mark as completed, generate certificate |
| Deferred | Update enrollment status |
Part 7: Calendar event types
Academic calendar events
| Event type | Description |
|---|---|
term_start | Term beginning |
term_end | Term ending |
mid_term_break | Mid-term holiday |
parent_conference | Parent-teacher meetings |
exam_period | Examination dates |
sports_day | Sports events |
prize_giving | Award ceremonies |
open_day | School open day |
registration | Registration period |
orientation | New student orientation |
custom | Other events |
Adding calendar events
- Navigate to Structure → School Years → select year
- Open Calendar section
- Add event:
| Field | Description |
|---|---|
| Type | Event category |
| Title | Event name |
| Start date | Begin date |
| End date | End date (optional) |
| Location | Venue |
| Description | Details |
Part 8: Term configuration
Assessment periods
Configure assessment windows per term:
| Assessment type | Description |
|---|---|
continuous_assessment | Ongoing assignments/tests |
mid_term_test | Mid-term examinations |
end_of_term_exam | Final examinations |
practical_assessment | Practical work |
project_assessment | Project submissions |
Payment deadlines
Set fee payment deadlines:
| Deadline type | Description |
|---|---|
tuition_fees | Main tuition |
exam_fees | Examination fees |
activity_fees | Extracurricular fees |
boarding_fees | Boarding students |
transport_fees | Transport users |
other_fees | Miscellaneous |
Parent conferences
Schedule parent meetings:
| Conference type | Description |
|---|---|
individual | One-on-one meetings |
group | Small group sessions |
grade_level | Grade assemblies |
whole_school | School-wide events |
Part 9: Archive procedures
Archiving completed years
- Ensure year status is
completed - Wait required retention period
- Navigate to school year
- Change status to
archived - Confirm archive
Archived year access
Archived years:
- Read-only access
- Reports still downloadable
- Historical data preserved
- Limited editing capabilities
Data retention
| Data type | Retention | Notes |
|---|---|---|
| Student records | Permanent | Core student data |
| Term reports | 7+ years | Academic records |
| Financial records | 7+ years | Audit requirements |
| Attendance | 5+ years | Compliance |
| Gradebooks | Until archived | Detail data |
Workflow examples
Example 1: Standard term closure
Scenario: Closing Term 1, preparing for Term 2
- Week -2: Send mark submission reminders
- Week -1:
- Close gradebook submissions
- Generate term reports
- Begin teacher reviews
- Week 0:
- Head teacher moderation
- Principal approval
- Publish reports
- Week +1:
- Close term (status:
completed) - Open Term 2 (status:
active) - Resume operations
- Close term (status:
Example 2: Year-end with promotions
Scenario: Closing final term and year
- Final exam period: Complete assessments
- Report generation: Generate Term 3 reports
- Moderation: Full review cycle
- Promotion decisions:
- Review each student
- Apply promotion rules
- Handle special cases
- Publication: Release reports with promotion status
- Year closure:
- Close Term 3
- Close school year
- New year preparation:
- Create new school year
- Clone structure
- Create terms
- Student transitions:
- Promote students to new classes
- Handle retentions
- Process graduations
Example 3: Mid-year adjustments
Scenario: Student transferred mid-year
- Mark term reports for terms attended
- Generate transcript for transfer
- Update enrollment status to transferred
- Archive student file with forwarding school info
Troubleshooting
Reports not generating
Problem: Report run shows no reports
Causes:
- No gradebook data exists
- Students not assigned to classes
- Term configuration incomplete
Solution: Verify gradebook entries and class assignments
Promotion status not saving
Problem: Cannot update promotion field
Causes:
- Report not finalized
- Insufficient permissions
- Term not in correct status
Solution: Complete report workflow first
Clone structure failed
Problem: Year structure clone incomplete
Causes:
- Source year archived
- Circular dependencies
- Permission restrictions
Solution: Use dry run to identify issues first
Calendar events not displaying
Problem: Events added but not showing
Causes:
- Date range outside view
- Event type filter active
- Browser cache
Solution: Clear filters, refresh view
Best practices
Term management
- Set term dates before year starts
- Configure assessment periods early
- Communicate deadlines to all staff
- Monitor submission progress weekly
Report workflow
- Allow adequate review time
- Train staff on moderation process
- Establish approval chain clearly
- Test PDF generation before bulk runs
Promotions
- Define promotion criteria in advance
- Review borderline cases carefully
- Document conditional promotions
- Communicate decisions to guardians
Year transitions
- Plan transition timeline
- Clone structure before students return
- Verify all data migrated correctly
- Test new year configuration
Outcome
After completing the end-of-term rollover:
- ✅ Term officially closed with status
completed - ✅ All student reports finalized and published
- ✅ Promotion decisions recorded for all students
- ✅ New academic period prepared and configured
- ✅ Students assigned to appropriate classes
- ✅ Calendar and events set for new term/year
- ✅ Historical data properly archived
Related guides
- Initial setup checklist — Foundation setup
- Onboard a school — School provisioning
- Admit a student — Enrollment workflow