Flow: admission to enrolment
From a parent's online application to a fully enrolled, invoiced student — one unbroken flow across Admissions, the SIS and Fees, with no re-keying between teams.
Under the hood
- The public
/applyform writes anep.admissions.applicationinep_admissions_crm. - Staff move it through the pipeline (inquiry → application → interview → offer → accepted).
- On enrolment the application creates an
ep.student(inep_core), carrying names, contacts and documents. - Assigning the student to a class attaches an
ep.fee.assignmentfor the academic year, which raises the firstep.fee.invoice. - Portal access is granted; the family now reads the same record the school does.
Objects exchanged
| Step | Source model | Creates / updates | In module |
|---|---|---|---|
| Apply | /apply controller | ep.admissions.application | ep_admissions_crm |
| Enrol | ep.admissions.application | ep.student | ep_core |
| Bill | ep.fee.structure for the class | ep.fee.assignment + ep.fee.invoice | ep_fees |
Edge cases
- No fee structure for the class yet: the student is created but no invoice is raised until a structure exists — configure structures before enrolling.
- Re-admitting a leaver: the original
ep.studentis reused (history preserved), not duplicated. - Sibling: guardians are linked so the family sees all children on one portal and one statement.
One click — Accepting an offer can create the SIS record, attach the fee structure and send the welcome pack in a single action.
Was this page helpful?

