Standup 9 Oct · Dynamic fee proposal · 10 Oct 2026
Dynamic fee calculation
Proposed approach: configurable rules (campus profile + C1–C10) instead of copying CMS hard-coded SP logic. Canonical Markdown: dynamic-fee-calculation.md. Seeds: campus-finance-profiles.yaml. Faid checklist: campus-finance-profile.html.
1. Why dynamic
CMS procedures hard-code currency stamps (M/R/MYR),
semester vs modular branches, and some repeat amounts. Raisd should evaluate a
campus finance profile so Finance can change applies / amount / currency
without an engineering release for every campus tweak.
2. Architecture (sketch)
flowchart TD
P[campus_finance_profiles.yaml] --> E[Fee engine Portal API]
E --> A[Applicant fee step Plane A]
E --> S[Student projection Plane C]
E --> W[CAP-53 W1 proof Plane B]
W --> CMS[CMS SPs Live SoR]
3. Evaluation order
| Step | Case | Rule |
|---|---|---|
| 1 | C1 | Zero when not chargeable |
| 2 | C2 | Exempt before cutover term |
| 3 | C3/C4 | Semester and/or modular mode |
| 4 | C5 | Repeat/ADD add-ons (overrides listed, not baked in) |
| 5 | C6 | Resource − exemptions |
| 6 | C7 | Deferred component |
| 7 | C8 | Totals from component lists |
| 8 | C9/C10 | Invoices / PayStatus — later |
4. Waiting on / next
- Dexter — validate C1–C10 vs SP bodies.
- Faid — Accept/Change/Defer on finance YAML.
- Participant — add/drop + module-registration fee amounts.
- Iman — fold Accepts into Demo seed; engine later.
SP evidence: fee-payment-sps.html · CAP-53 W1: cap53-online-enrolment.html.