Discounts, scholarships, and sponsorships
Discounts and scholarships reduce or fund student obligations under different rules. A discount program applies a reusable pricing benefit. A scholarship program manages a funding budget, individual awards, and applications to invoices. Neither is a cash payment.
Audience: bursars, finance managers, scholarship administrators, implementers, approvers, and auditors
Learning time: 45 minutes
Navigation: Finance → Billing → Discount Programs and Finance → Scholarships
Boundary: P2 configures programs and governance. P3 documents invoice effects; P4 documents cash/payment effects.
Learning outcomes
You will be able to:
- distinguish discounts, scholarships, sponsorship funding, credit notes, and payments;
- configure discount scope, benefit, stacking, priority, and approval;
- configure scholarship program budget, eligibility, dates, and approval;
- explain award and application ledgers;
- identify exact permissions for programs, awards, and reversals;
- verify that concessions fail safely when scope is incomplete;
- preserve audit evidence when benefits are reversed.
Object model
| Object | Meaning |
|---|---|
| Discount program | reusable eligibility and benefit rule |
| Discount application | record of a discount applied, held, approved, or reversed against an invoice |
| Scholarship program | approved funding source/budget and criteria |
| Scholarship award | approved entitlement for one student |
| Scholarship application | immutable apply/reverse ledger row against an invoice |
| Sponsorship | funding-source/business description; represent through verified scholarship or payer workflow |
| Credit note | controlled reduction of an existing invoice |
| Payment | incoming funds |
Do not record a scholarship as a payment unless real money was received through the payment workflow.
Discount programs
Verified discount categories include staff, sibling, early-payment, and custom patterns. A program defines:
| Field group | Important decisions |
|---|---|
| Identity | program name/code and school or tenant scope |
| Category | why a student qualifies |
| Benefit | percentage or fixed amount; optional cap |
| Currency | currency of fixed benefit |
| Fee scope | all fees, fee types, or exact fee IDs |
| Student scope | day, boarding, half-boarding, or all |
| Priority/stacking | order and whether benefits combine |
| Eligibility rules | custom criteria or sibling tiers |
| Approval | program approval and optional application approval |
| Dates | effective window |
| Accounting | optional GL account code |
| Status | approved and active are both required for use |
Safe fee scope
When appliesToAllFees is false:
- exact fee IDs take precedence when present;
- otherwise fee types can define scope;
- if neither scope is present, benefit is zero as a fail-safe.
This prevents a narrowly intended program from reducing unrelated invoice lines.
Stacking
Stackable programs can combine, capped at the invoice value. Non-stackable programs are exclusive and the engine selects according to its rules. Use preview evidence before billing.
Early-payment programs are skipped during billing when no payment date exists; they require a payment-time context.
Scholarship programs and awards
A scholarship program records:
- school;
- name/code;
- funding source;
- coverage type/value;
- currency;
- allocation and annual budget;
- eligibility rules;
- document requirements;
- start/end dates;
- approval status;
- active status;
- history and audit metadata.
Programs are created as draft and remain inactive until approved. Updating key approved financial fields can reset approval to pending.
An award records the student, program, academic year/term, amount or percentage, currency, effective dates, status, approval, and evidence. Award currency must match the program currency.
The exact UI transition labels must match the current screen. The diagram represents verified lifecycle values, not permission to skip required steps.
Application ledgers and reversal
Scholarship applications use immutable apply/reverse rows. A reversal is a compensating row linked to the original application, not destructive editing.
Discount reversals similarly preserve evidence and can create corresponding accounting reversal evidence where configured.
Prerequisites
| Requirement | Why it matters |
|---|---|
| Approved concession policy | protects revenue and equity of treatment |
| Fee catalogue | benefit scope refers to fee types/IDs |
| Student classifications | staff/sibling/boarding eligibility depends on reliable data |
| Funding approval and budget | scholarship awards cannot exceed authorised funding |
| Currency design | fixed benefits and budgets need consistent currency |
| Approvers | programs, applications, and awards use controlled actions |
| Accounting design | concessions may require distinct accounts/mappings |
| Supporting-document policy | scholarship evidence and privacy responsibilities |
Roles and exact permissions
Discounts
| Action | Ability |
|---|---|
| Create/update/list/read program | fee_discount_program:create, update, list, read |
| Approve/reject program | fee_discount_program:approve |
| Preview/apply/reverse | fee_discount:preview, fee_discount:apply, fee_discount:reverse |
| Approve held application | fee_discount:approve |
| Read applications | fee_discount:read |
Scholarships
| Action | Ability |
|---|---|
| Create/update/approve/list/read/statistics program | corresponding scholarship_program:* abilities |
| Create/update/approve/change status/list/read award | corresponding scholarship_award:* abilities |
| Apply/reverse scholarship | scholarship_award_application:create, scholarship_award_application:reverse |
| List/read application ledger | scholarship_award_application:list, scholarship_award_application:read |
Do not grant application reversal to a user who only needs to configure programs.
Guided procedure: discount program
- Open Finance → Billing → Pricing & Billing Rules → Discount Programs.
- Choose tenant-wide or school scope explicitly.
- Define category and eligibility.
- Define percentage/fixed benefit and currency.
- Choose all fees, fee types, or exact fee IDs.
- Configure student types, tiers, priority, stacking, cap, and dates.
- Decide whether each application needs approval.
- Add accounting reference if approved.
- preview representative students/invoices where supported;
- submit/approve and activate.
Verification: program must be approved, active, effective, and correctly scoped.
Guided procedure: scholarship program
- Open Finance → Scholarships → Programs.
- Create the program with funding source, budget, coverage, currency, criteria, and dates.
- retain supporting-document and external approval references;
- submit and approve;
- activate only after budget and governance review;
- create a test award for an eligible test student;
- verify amount/percentage, dates, academic context, and currency;
- approve and activate the award;
- do not apply to a production invoice during P2.
Worked scenario: Mupfure Learning Academy
The school configures:
- a 10% sibling discount, stackable, scoped to tuition fees only;
- a staff discount requiring application approval;
- a USD 20,000 STEM scholarship program funded by a sponsor;
- a USD 500 award for a test student.
The implementer previews the sibling rule and confirms transport is excluded. The staff program is approved and active but applications remain pending until a separate approver acts. The scholarship program budget and award currency match. No record is treated as cash received.
Failure modes
| Symptom | Likely cause | Evidence to inspect | Safe action | Escalate when |
|---|---|---|---|---|
| Discount value is zero | all-fees false with no fee IDs/types, or student not eligible | program scope and preview | correct scope/eligibility | matching program still returns zero |
| Discount affects wrong lines | applies-to-all or ambiguous fee type | benefit snapshot and program | switch to exact fee IDs where needed | historical invoices require correction |
| Program is ignored | not approved, inactive, or outside dates | approval/status/effective window | complete governance | eligible active program remains absent |
| Award cannot be created | budget, program status, date, currency, or school mismatch | program and request error | correct foundation | valid request is rejected unexpectedly |
| Scholarship application exceeds entitlement | award/budget/previous applications | application ledger totals | reduce amount or resolve prior entries | ledger total is inconsistent |
| Reversal appears as another row | expected immutable ledger design | reversal link/type | retain both rows | net total is wrong |
Verification checklist
- Discount and scholarship policies are approved.
- Program scope is tenant or school by design.
- Benefit type/value/currency are correct.
- Fee and student scope are explicit.
- Stacking, priority, caps, and tiers are tested.
- Programs are approved, active, and effective.
- Scholarship budget and funding evidence exist.
- Awards match program currency and dates.
- Application/reversal abilities are segregated.
- Preview and ledger evidence are retained.
- No concession is misclassified as a payment.
Practice and knowledge check
Guided practice: configure a tuition-only sibling discount and preview its coverage.
Independent scenario: a sponsor funds half of tuition for selected students. Decide which records represent the program, entitlement, invoice application, and any later cash receipt.
- Why is a discount not a payment?
- What happens when all-fees is false but no scope is configured?
- When are early-payment discounts evaluated?
- Why can program approval and application approval be separate?
- What is the difference between a scholarship program and award?
- How are scholarship reversals represented?
- Which record proves the sponsor’s cash was actually received?
Answer guide: discounts reduce price; incomplete scope fails to zero; early-payment needs payment date; policy may approve rules separately from outcomes; programs fund, awards entitle; compensating ledger rows preserve history; a payment/bank record proves cash.
Next lesson
Continue to Payment methods, providers, and bank accounts.