Skip to main content
Back to case studies

Sufrone Education

ERPNext/Frappe school platform

Part-time independent work Hosted demo

School operations, connected.
Built on ERPNext and Frappe.

I developed custom Frappe apps that connect academic records, fees and school workflows with a website and parent/staff experiences. Bayinah Academy is the demonstration use case.

My work
Python business logic, DocTypes, permissions, workflows, reports and APIs.
Core approach
Separate custom apps and additive migrations; upstream source stays unchanged.

Fictional records · Source private · Active development

Bayinah ERPNext teaching workspace showing role-specific school tools
Parent app family overview with sibling selection and school-day updatesStaff app daily overview with teaching actions and school inbox
Actual demonstration screens: school ERP, parent app and staff app.

Problem

  • School teams and families need coherent access to academic records, fees, communication and daily operations across separate systems.

Architecture

  • Native ERPNext, Education and HRMS records remain the operational foundation.
  • bayinah_school packages DocTypes, custom fields, Python validation, JavaScript forms and permission rules.
  • bayinah_bridge exposes authenticated APIs for school data and native finance document relationships.
  • Website and parent/staff experiences connect through platform APIs and asynchronous outbox workers.

Key Decisions

  • Keep customisations in separate apps and additive install/migrate hooks without editing upstream core source.
  • Enforce responsibilities on the server: scope teachers by teaching assignment and separate health/welfare authority.
  • Use native Sales Invoice and Payment Entry relationships, guarded allocations and idempotency checks for financial integration.
  • Publish reviewed academic reports only after checking source results, completeness and approval state.

Implementation

  • Created school-specific DocTypes and fields, document event hooks, approval workflows and role-based Desk workspaces.
  • Built JavaScript form behaviour and academic report generation/print output linked to native assessments.
  • Implemented authenticated intake, student, attendance, results and fees APIs with company/student scope checks.
  • Connected school portals and deployed a credential-free role-preview environment with fictional records.

Quality Gates

  • Permission and report acceptance checks cover important role boundaries and reviewed publication behaviour.
  • Hosted checks exercised desktop/mobile previews, ERP role handoffs, HTTPS and database readiness.
  • Separate applications preserve upstream core source; compatibility still requires testing when upgrading.

Results

  • A working fictional-data demonstration of connected school workflows and access appropriate to each role.
  • The public showcase includes a school website, parent/staff screen walkthroughs, browser portals and ERP role selection.
  • The application source is private; the demonstration uses fictional records and is not a completed school production cutover.

Future Improvements

  • Moodle is planned and is not installed in the current demonstration.
  • Google Workspace delivery, live GPS/traffic, push notifications and payment settlement require provider setup; the hosted school demo uses capture/demo providers.
  • Client onboarding requires separate configuration, data reconciliation and school acceptance.

Engineering practices

  • Tests
  • Docker
  • Database Migrations
  • Docs
  • Deployed