Skuul is an open-source school management application by Marvellous Ifezue. Version 3.0 was released on October 16 as a rewrite on Laravel 13 and Livewire 4. A school or a group of schools might use it to run admissions, attendance, gradebooks, timetables, and fees from one installation.
Here's what Skuul 3.0 includes:
- Organizations and campuses: one installation holds several organizations, and each organization holds several campuses
- Admissions and guardians: an admissions waitlist, and guardian links that connect parent accounts to learners
- Assessment: course offerings, gradebooks, exam schedules, and results that a reviewer approves before publication
- Official documents: report cards and transcripts generated from published results
- Finance: payments, refunds, and student credit post to a ledger, and financial periods control when postings are allowed
- Optional campus tools: discipline and wellbeing, staff operations, a campus calendar, boarding, a library, clubs and programmes, and student and staff imports, each turned on or off per campus
- Report exports: CSV, XLSX, and PDF files built in the background
- Operations: scheduled backups with an encrypted database dump, a weekly restore rehearsal, health endpoints, and the
skuul:release-readinessandskuul:updatecommands

Campuses, Roles, and Permissions
Skuul uses Spatie Permission for team-scoped roles, so a user's permissions apply to one campus at a time.
The installer creates eight roles: platform-admin, organization-admin, admin, teacher, accountant, librarian, student, and parent. A campus can copy a role to make its own, such as an admissions office role. Learners can move between campuses. A campus can also request records from another campus, and each request needs approval.
Family Portal
Students and guardians sign in to a portal that shows a learner's published results, attendance, timetable, invoices, documents, and notices. Families can also send requests to the campus. Portal access comes from the learner's own account or a guardian link. Staff permissions don't apply to the portal.
Each campus chooses which portal pages to show. Some pages also depend on a campus tool, so the Library page stays hidden while the Library tool is off.
Current Limitations
The documentation lists these gaps in V3:
- There is no public REST API, and API tokens are disabled
- A Stripe payment channel exists, but no checkout or callback routes are connected. Families can view invoices in the portal but can't pay them there, and staff record cash, bank transfer, and other payments by hand
- There is no staff appraisal workflow
- The numeric grade calculator can count a blank, missing, absent, or incomplete mark as zero, so check for those marks before you publish results
A school that wants families to pay fees online, or that needs to sync records with another system, would have to build that part itself.
Upgrading From V2
V3 replaces the V2 data model. Its migrations delete legacy exam results, grading systems, and gradebooks without a course offering, and rollbacks don't restore them. The docs recommend testing the upgrade on a copy of your data first, and keeping a full database backup, the uploaded files, and the original APP_KEY.
Try the Demo or Install It
The Skuul demo has one-click sign-in for staff, student, and family accounts. It resets every hour, and deletions are disabled.

To run it yourself, you need PHP 8.4.1 or later, Node.js 24, MySQL 8, and Redis. Clone a release tag and follow the installation guide, which uses Laravel Sail:
git clone --branch v3.0.2 https://github.com/yungifez/skuul.git skuul
Skuul is MIT licensed. You can find the source on GitHub and the full documentation at skuul.org.