Roles & Permissions

EduCore uses role-based access control to ensure every user sees only the data and features relevant to their responsibilities. This page describes each built-in role and explains how to create custom roles.


How Roles Work

  • Every user account is assigned exactly one role.
  • The role determines which modules, pages, and actions the user can access.
  • Roles are configured at the school (tenant) level and apply across all branches the user has access to.
  • Built-in roles cannot be deleted but can be used as templates for custom roles.

Role Hierarchy

graph TD
    SA[Super Admin] --> A[School Admin]
    A --> P[Principal]
    A --> AC[Accountant]
    P --> T[Teacher]
    P --> L[Librarian]
    T --> PA[Parent]
    PA --> S[Student]

Permission Summary

PermissionAdminPrincipalTeacherAccountantParentStudent
View StudentsYesYesOwn classesYesOwn childrenOwn profile
Manage FeesYesNoNoYesView onlyView only
Mark AttendanceYesYesOwn classesNoNoNo
Enter MarksYesYesOwn subjectsNoNoNo
View ReportsYesYesLimitedFinancialNoNo
SettingsYesNoNoNoNoNo

Built-In Roles

School Admin

The School Admin has full, unrestricted access to every module and setting in EduCore.

AreaPermissions
StudentsAdd, edit, delete, promote, import, export
FeesCollect, refund, manage structure, view all reports
AttendanceMark, edit, view all classes
ExamsCreate, enter marks, generate report cards
TimetableCreate, edit, manage substitutions
StaffAdd, edit, deactivate
LeavesApply, approve, reject for all staff
LibraryFull catalog management
TransportFull route management
NoticesCreate, edit, delete
ExpensesRecord, edit, delete, view reports
CertificatesIssue all certificate types
ReportsAccess all reports and analytics
SettingsFull access — school profile, academic year, classes, subjects, fee structure, grading, users, custom fields

Tip: There should be at least one School Admin at all times. If the only admin account is deactivated, contact EduCore support to regain access.

Principal

The Principal has access to all academic and operational data but cannot modify system-level settings.

AreaPermissions
StudentsView, edit (cannot delete)
FeesView collections and reports (cannot collect or refund)
AttendanceView all classes, mark attendance
ExamsView results, generate report cards
TimetableView, manage substitutions
StaffView all staff profiles
LeavesApprove or reject leave requests
LibraryView catalog and reports
TransportView routes and assignments
NoticesCreate and view notices
ExpensesView expense reports
CertificatesIssue all certificate types
ReportsAccess all reports
SettingsView only (cannot modify)

Teacher

Teachers have access limited to their assigned classes and subjects.

AreaPermissions
StudentsView students in assigned classes only
FeesNo access
AttendanceMark attendance for assigned classes
ExamsEnter marks for assigned subjects in assigned classes
TimetableView own timetable
StaffView own profile only
LeavesApply for own leave
LibraryNo access
TransportNo access
NoticesView notices
ReportsView attendance and exam reports for own classes
SettingsNo access

Accountant

The Accountant role is focused on financial operations.

AreaPermissions
StudentsView student list and profiles (for fee lookup)
FeesFull access — collect, refund, manage structure, discounts, reports
AttendanceNo access
ExamsNo access
TimetableNo access
StaffView staff list (for staff-related discounts)
LeavesNo access
LibraryNo access
TransportView transport fees
NoticesNo access
ExpensesFull access — record, edit, reports
CertificatesNo access
ReportsFee and expense reports only
SettingsFee structure and discounts only

Librarian

The Librarian manages the book catalog and circulation.

AreaPermissions
StudentsView student list (for book issue)
FeesNo access
AttendanceNo access
ExamsNo access
TimetableNo access
StaffView staff list (for book issue)
LeavesApply for own leave
LibraryFull access — catalog, issue, return, fines, accession register
TransportNo access
NoticesView notices
ExpensesNo access
CertificatesNo access
ReportsLibrary reports only
SettingsNo access

Parent

Parents can view information related to their own children only.

AreaPermissions
StudentsView own children’s profiles
FeesView fee status and payment history for own children
AttendanceView attendance records for own children
ExamsView exam results and report cards for own children
TimetableView class timetable for own children
NoticesView notices targeted to parents or all
All other modulesNo access

Student

Students can view their own information only.

AreaPermissions
Own ProfileView only
FeesView own fee status and payment history
AttendanceView own attendance records
ExamsView own exam results
TimetableView own class timetable
NoticesView notices targeted to students or all
All other modulesNo access

Permission Details

Permissions in EduCore are organized by module and action type:

Action TypeDescription
ViewCan see the data but cannot modify it
CreateCan add new records (e.g., add a student, create an exam)
EditCan modify existing records
DeleteCan remove records (with confirmation)
ExportCan download data as CSV
PrintCan print documents (report cards, receipts, certificates)

Creating a Custom Role

If the built-in roles do not match your school’s structure, you can create custom roles with specific permissions.

  1. Navigate to Settings > User Management > Roles.
  2. Click the Create New Role button.
  3. Enter a Role Name (e.g., “Vice Principal”, “Section Head”, “Front Desk”).
  4. Optionally enter a Description explaining the role’s purpose.
  5. In the permissions grid, check or uncheck permissions for each module:
    • Each module lists available actions (View, Create, Edit, Delete, Export, Print).
    • Check the actions this role should have access to.
    • Use the Select All checkbox at the top of a module to grant full access to that module.
  6. Click Save Role.

Tip: Start by cloning an existing role that is closest to what you need. Click the Clone button next to any role to create a copy, then modify the permissions.

Example Custom Roles

Custom RoleBased OnModifications
Vice PrincipalPrincipalAdd leave approval, add staff edit
Section HeadTeacherAdd view access to all sections of a class
Front DeskAccountantAdd student admission, add certificate issuing
Data Entry OperatorTeacherAdd student edit, add bulk import
Transport ManagerLibrarianReplace library access with full transport access

Assigning Roles to Users

  1. Navigate to Settings > User Management.
  2. Find the user you want to modify (or create a new user).
  3. In the Role dropdown, select the appropriate role.
  4. Click Save.
  5. The user’s access will update immediately — they may need to refresh their browser.

Tip: When a teacher is promoted to Vice Principal, change their role instead of creating a new account. Their login credentials remain the same, but their access expands.


Role-Based Dashboard

Each role sees a tailored dashboard. The metric cards, recent activity, and attention items are filtered based on what is relevant to that role. See Navigating the Dashboard for details.


Best Practices

  1. Use the principle of least privilege. Give each user only the access they need. A teacher should not have access to fee data unless they have a specific reason.
  2. Review roles periodically. At the start of each academic year, review who has which role and adjust as needed.
  3. Do not share accounts. Each person should have their own login. This ensures the activity log accurately shows who did what.
  4. Deactivate, do not delete. When a staff member leaves, deactivate their account rather than deleting it. This preserves the audit trail.
  5. Test custom roles. After creating a custom role, log in as a test user with that role to verify the permissions are correct.