Skip to main content
Version: Current

Student billing lifecycle

Student billing converts approved pricing configuration into student-specific obligations. In Makronexus, the lifecycle is not “create a fee and money is owed.” A fee remains reusable configuration until an invoice is created for an eligible student and billing period.

Audience: bursars, credit controllers, accountants, school administrators, implementers, reviewers, and support analysts
Learning time: 35–45 minutes
Product route family: /finance/fees, /finance/billing-runs, /finance/invoices, /finance/student-summaries

Learning outcomes

You will be able to:

  • explain the boundary between a fee, billing run, invoice, credit note, payment, and student financial summary;
  • identify the dependencies that must pass before billing;
  • describe the verified billing-run and invoice states;
  • separate approval state from payment state;
  • identify the evidence required after each lifecycle stage;
  • choose a safe correction path without deleting financial history.

Exact definition and boundaries

A billing lifecycle is the controlled sequence that selects an approved fee, resolves eligible students, creates invoices, obtains required approval, communicates obligations, tracks balances, and applies authorised adjustments.

It is not:

  • payment collection;
  • receipt issuance;
  • bank settlement;
  • reconciliation;
  • General Ledger close;
  • a guarantee that every invoice posts automatically.

Those activities are controlled by P4–P6 and the selected school’s configuration.

RecordMeaning in the billing lifecycleNot the same as
School feereusable price, audience, dates, currency, and policystudent debt
Billing runasynchronous instruction and telemetry for bulk invoice generationinvoice
Invoicestudent-specific obligation for a periodpayment request evidence from a provider
Credit noteapproved reduction of an invoice obligationcash refund
Student financial summaryaggregate invoiced, paid, adjusted, refunded, outstanding, and ageing valuesoriginal transaction ledger
Paymentincoming funds recorded by Makronexusinvoice approval
Receiptnumbered proof issued for a paymentinvoice or bank evidence

Prerequisites

DependencyVerification
Selected schoolschool switcher displays the intended school
Academic year and termactive and consistent with the selected fee
Accounting periodopen for the intended invoice date
Feeactive, approved, effective, positive amount, correct currency
Fee audiencegrade/class/student type/eligibility is reviewable
Studentsactive and within the requested scope
Posting mappingsbilling readiness does not report missing mappings
Rolesmaker and reviewer are different people where policy requires
Communicationguardian contact and channel policy are available before send
Accessexact abilities below are present

Roles and exact permissions

ActivityExact ability
View fee cataloguefinancial_fee:list
Create feefinancial_fee:create
Update feefinancial_fee:update
View billing runsinvoice_billing_run:list, invoice_billing_run:read
Create dry/live runinvoice_billing_run:create
Inspect failuresinvoice_billing_run:failures
Cancel pending/queued runinvoice_billing_run:cancel
Resolve supported run exceptioninvoice_billing_run:resolve
List/read invoicesfinancial_invoice:list, financial_invoice:read
Create/update invoicesfinancial_invoice:create, financial_invoice:update
Send invoicesfinancial_invoice:send
Approve/rejectfinancial_invoice:approve, financial_invoice:reject
Archive/cancelfinancial_invoice:delete, financial_invoice:update
Create/read/apply creditfinancial_credit_note:create, financial_credit_note:read, financial_credit_note:apply
Read summary/ageingstudent_financial_summary:list, student_financial_summary:read
Recalculate summarystudent_financial_summary:recalculate
Export summariesstudent_financial_summary:export

The backend remains authoritative. A visible button or role label does not prove an action will be accepted.

End-to-end lifecycle

State model

Approval state and payment state are independent. An approved invoice can remain unpaid. A paid invoice should not be interpreted as approved unless approval evidence also says so.

Guided procedure

  1. Open Finance → Fee Structures. Confirm the fee’s school, academic year, optional term, audience, amount, currency, effective window, approval status, and active flag.
    Expected result: the fee is eligible for billing and no field conflicts with the intended period.

  2. Open Finance → Billing Runs. Select the school, fee, population scope, period dates, invoice date, and due date. Prefer backend defaults only when the fee/calendar selection is correct.
    Expected result: the form shows the exact scope that will be resolved.

  3. Run a dry run. Do not use force regeneration during initial validation.
    Expected result: the run completes without persisting invoices and exposes resolved-student and estimated-total evidence.

  4. Review the dry-run evidence. Compare counts to the school register and inspect zero matches, duplicate candidates, exclusions, and fee-scope intersection.
    Expected result: an independent reviewer can explain every included and excluded population.

  5. Create the live run with an idempotency key.
    Expected result: a new run enters pending, then progresses asynchronously.

  6. Monitor to a terminal state. Inspect processed, successful, and failed counters.
    Expected result: each failure has a code and student/context evidence.

  7. Open generated invoices. Reconcile invoice count and totals to the completed run. Review line items, dates, currency, guardian contact, approval and payment states.
    Expected result: generated obligations match the approved billing design.

  8. Approve/reject and send under policy. Rejections require explanatory comments.
    Expected result: approval history and communication fields are appended.

  9. Review Student Summaries. Filter by school, academic year, currency and balance status.
    Expected result: invoice totals and outstanding values are visible in the correct currency/year scope.

  10. Correct safely. Use invoice cancellation, credit notes, or reruns only after inspecting the original evidence.
    Expected result: original and corrective records remain traceable.

Accounting and balance effects

EventOperational effectPossible accounting effect
Create feeno student balance changesnone
Dry billing runno invoices persistnone
Live invoice creationstudent obligation and outstanding balance increaseposting is configuration-dependent
Send invoicecommunication timeline changesnone
Approve invoiceauthorisation state changesposting may be enabled by configuration
Apply credit noteinvoice outstanding decreasesconfigured adjustment posting may occur
Cancel/archiveobligation becomes cancelled/archivedcorrection/posting behaviour is configuration-dependent
Recalculate summaryaggregate snapshot refreshesno new economic event by itself

Controls and audit evidence

Retain:

  • fee ID and schedule version;
  • run ID, scope snapshot, dry-run flag, idempotency key, actor and timestamps;
  • resolved and failed student counts;
  • invoice IDs and totals;
  • approval history and comments;
  • communication channel, sent date and reminder count;
  • credit-note reason, approval and applied amount;
  • recalculated summary timestamp;
  • correlation/request IDs for support.

Worked scenario

Mupfure Learning Academy bills USD 500 Term 1 Tuition to active Form 3 day students. The fee is approved, school-scoped, effective for the term, and mapped for posting. The bursar selects grade-level scope and runs a dry run. The school register has 82 active students, but the dry run resolves 79 because two are boarders and one is inactive. The reviewer confirms the exclusions. A live run creates 79 invoices. One later transfer requires a credit note rather than deleting the completed run. The student summary is recalculated and shows the reduced outstanding balance while preserving the original invoice and approved adjustment.

Failure modes

SymptomLikely causeEvidence to inspectSafe actionEscalate when
No students matchedscope and fee applicability do not intersectfee audience, run scope, student statuscorrect fee/scope and repeat dry runexpected eligible students still excluded
Duplicate failuresinvoice already covers student, fee and periodfailure existingInvoiceIdinspect original; do not force regenerate blindlyoriginal invoice is invalid but cannot be corrected
Run stuck processingqueue/worker issuetimestamps, processed count, request IDavoid duplicate live request; monitor or supportno progress under operational SLA
Totals differfee amount/scope/discount application changedrun snapshot, invoice lines, concession ledgerstop approval and reconcilepersisted invoices conflict with run evidence
Invoice cannot approvemissing permission or invalid stateexact ability, approval historyroute to eligible reviewerbackend rejects valid eligible state
Balance appears stalesummary not recalculated or wrong year/currencyrecalculated timestamp and filtersrecalculate with exact scopesource transactions and summary still disagree

Verification checklist

  • Correct school, year, term, period, and currency were recorded.
  • Fee was approved, active, effective, and correctly scoped.
  • Dry-run population was independently reviewed.
  • Live run used an idempotency key and reached a terminal state.
  • Every failure was classified and resolved or accepted.
  • Invoice count and total reconcile to run evidence.
  • Approval and communication history are complete.
  • Corrections preserve original records.
  • Student summaries use the intended year and currency.
  • Collection work begins only under P4 procedures.

Practice and knowledge check

Guided practice

Use a non-production test school and the Mupfure Learning Academy scenario. Record the selected school, academic year, term, currency, fee, operator, reviewer, and timestamps. Capture the before-state, action evidence, after-state, and any exception IDs. Do not mark the exercise complete from a success toast alone.

Knowledge check

  1. What record proves the student obligation?
  2. Which status dimension answers whether the invoice is authorised?
  3. Which status dimension answers how much remains unpaid?
  4. What evidence proves the selected student population was correct?
  5. Which action requires a separate reviewer in your school policy?
  6. What should be inspected before retrying a failed or partial operation?
  7. Which later phase owns payment collection and receipt procedures?

Answer rubric: a complete answer names the exact Makronexus record, status, permission or evidence source. Role names alone are insufficient.

Next lesson

Continue to Assign fee applicability.