> ## 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.

# Running term billing

> Turning the fee grid and the term's enrolments into invoices — previewing first, and what to do when a run goes wrong.

A billing run is the moment your [fee matrix](/docs/fees/fee-matrix) and your term [enrolments](/docs/pupils/enrolling-a-pupil) become actual money owed. It bills every enrolled pupil in the term in one pass.

## Preview before you issue

<Warning>
  Always run the preview. An issued invoice cannot be edited — only credited, refunded or voided — so the preview is your last cheap opportunity to notice a mistake.
</Warning>

The preview shows you, before anything is written:

* How many pupils will be billed
* The total that will be charged
* The breakdown by fee item

Check the pupil count against your actual roll. A count lower than expected almost always means pupils without an enrolment for this term, not a pricing problem.

## Running it

<Steps>
  <Step title="Check enrolments are complete">
    Every pupil who should be billed needs an enrolment in this term.
  </Step>

  <Step title="Check fee categories">
    Review who is on a discount before you bill, not after. See [Discounts](/docs/fees/discounts).
  </Step>

  <Step title="Preview">
    Compare the count and total against what you expect.
  </Step>

  <Step title="Set the due date and issue">
    The run creates one invoice per pupil, numbered from your invoice sequence.
  </Step>
</Steps>

The run records who executed it, when, how many invoices it produced and their total — see [the audit log](/docs/reference/audit-log).

## You cannot bill the same pupil twice

<Tip>
  Running a term's academic billing a second time does not double-bill anybody. The system refuses a duplicate outright, at the database level, rather than trusting anyone to remember.
</Tip>

The guard is one invoice per pupil, per term, per kind, per period — so a pupil's academic invoice and their feeding invoice coexist happily, while a second academic invoice for the same term is impossible.

If a run is interrupted, run it again. Pupils already invoiced are skipped and the rest are picked up.

## Fees added in the middle of a term

Where a charge is agreed after billing has already gone out, EduControl can bill that addition to pupils who were already invoiced, without disturbing the invoices they hold.

## Reversing a run

A whole run can be reversed, with a reason recorded against it. Use this when the run itself was wrong — the wrong term, or a grid with a bad price — rather than when one pupil's bill needs adjusting.

For a single pupil, a [credit note](/docs/payments/corrections) is the right instrument.

## Invoice statuses

| Status            | Meaning                                |
| ----------------- | -------------------------------------- |
| **Issued**        | Nothing paid against it yet            |
| **PartiallyPaid** | Some money received, a balance remains |
| **Paid**          | Fully settled                          |

A credit note reduces what has to be paid, so a partly paid invoice can become **Paid** through a credit rather than through cash.

## Who can do this

The `edit_finances` permission.
