> ## Documentation Index
> Fetch the complete documentation index at: https://educontroldoc.pixelspectivetech.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Enrolling a pupil

> Admitting a pupil, enrolling them into a class for a term, and the lifecycle from applicant to graduate.

There are two separate things here, and confusing them is the single most expensive mistake a school can make in EduControl:

* **The pupil record** — who they are. Created once, at admission.
* **The term enrolment** — which class they are in, this term. Created every term.

<Warning>
  Billing reads the **enrolment**, not the pupil record. A pupil with no enrolment for the current term is not billed, no matter how complete their profile is. This is the first thing to check when a family says they never received a bill.
</Warning>

Enrolments work this way so that last term's invoices stay correct forever. If billing read the pupil's current class, promoting a pupil in September would silently rewrite what they were charged in June.

## Admitting a pupil

<Steps>
  <Step title="Create the pupil record">
    Name, date of birth, sex, and their admission number. The admission number is issued from your school's sequence — see [School profile](/docs/before-the-term/school-profile).
  </Step>

  <Step title="Attach at least one guardian">
    And mark exactly one of them the fee payer. See [Guardians](/docs/pupils/guardians).
  </Step>

  <Step title="Enrol them into a class for the current term">
    This is the step that makes them billable.
  </Step>

  <Step title="Set their fee category, if they have one">
    The category sits on the enrolment. Leave it empty for a pupil paying full fees. See [Discounts](/docs/fees/discounts).
  </Step>

  <Step title="Set a feeding plan, if they eat">
    Also per term. See [Feeding plans](/docs/pupils/feeding-plans).
  </Step>
</Steps>

## One enrolment per pupil per term

A pupil is in one class in a given term. The system enforces it — you cannot enrol the same pupil into two classes in the same term.

To move a pupil between classes mid-term, change their existing enrolment rather than adding a second one.

<Warning>
  Moving a pupil to a class with different fees after they have been billed does not change the invoice already issued. Correct the difference with a [credit note](/docs/payments/corrections), or void and re-bill.
</Warning>

## The lifecycle

| Status        | Meaning                                       |
| ------------- | --------------------------------------------- |
| **Applicant** | Applied but not yet admitted. Not billed.     |
| **Active**    | Enrolled and attending. The normal state.     |
| **Suspended** | Temporarily out, still on the school's books. |
| **Withdrawn** | Left before completing.                       |
| **Graduated** | Completed JHS 3 and moved on.                 |

The usual path is Applicant → Active → Withdrawn or Graduated, with Suspended as a temporary state a pupil returns from.

Pupils are never deleted. A withdrawn pupil keeps their invoices, payments, registers and report cards, which is what lets you answer a question about them two years later — and what lets you readmit them without rebuilding their record.

## Who can do this

The `edit_students` permission. Viewing needs `view_students`.
