Calculation
The engine applies one dated formula version to the day’s transactions and holdings. Upfront is computed once per allotted sale, retention is accrued every day, and every row records which formula produced it. Nothing an SA sees is a figure the engine cannot trace back to a file row and a rule.
Who may do it: the engine calculates daily · Commission Admin (starts re-runs, resolves exceptions) · System Admin (installs a formula version after approval) · Compliance Viewer (reads).
Upfront
Section titled “Upfront”For each allotted subscription, switch-in and regular-savings purchase:
| Step | Amount |
|---|---|
| Fee base | The fee on the transaction, before VAT |
| Distributor’s share | Fee base × the AMC’s upfront sharing % for that fund and date |
| SA’s upfront | Distributor’s share × the SA’s split × the plan’s upfront rate |
| Team Lead override | SA’s upfront × override %, paid on top |
The SA who earns is the one whose IC licence is on the transaction, unless an assignment for that account says otherwise. Switch-ins use the switching fee where the institution treats them separately. Dividend reinvestment earns no upfront.
Retention
Section titled “Retention”For each holding, every day:
| Step | Amount |
|---|---|
| Annual pool | Market value × management fee % a year × the AMC’s retention sharing % |
| Daily pool | Annual pool ÷ the day-count basis (365 unless the formula sets 360 or actual) |
| SA’s retention | Daily pool × split × the plan’s trailer rate |
The period amount is the sum of the days. Daily accrual is the default because it follows a book that moves mid-month and matches how AMCs remit; a formula version may instead use month-end or average holdings.
Clawback
Section titled “Clawback”When a redemption or switch-out is allotted within the plan’s clawback days of the subscription that earned upfront, the engine reverses the matching share of that upfront, units taken first in, first out. The reversal is an adjustment in the period it happens.
Licence gate
Section titled “Licence gate”No upfront or retention accrues to an SA whose IC licence is missing or expired on the earning day. The amount goes to the exception queue — not to the SA and not to anyone else — until the Commission Admin resolves it.
Rounding
Section titled “Rounding”Rows are accrued to six decimals and rounded once, half-up to the satang, on each SA’s statement for the period. Daily rows are never rounded, so the reconciliation shows a rounding difference apart from a formula difference.
Formula versions
Section titled “Formula versions”The institution’s own allocation workbook becomes formula version 1: its tables load into the fee master and the plans, its formulas are expressed in the engine, and the workbook is stored with its hash. The version is accepted when, for the same period, the engine and the workbook agree to 0.00 for every SA. A later change is a new version with its own date and approver.
Exceptions
Section titled “Exceptions”| Code | Meaning |
|---|---|
| NO_AGENT_ASSIGNED | A transaction or holding with no SA on that day |
| NO_FEE_MASTER | No fee row for that fund and date |
| LICENCE_EXPIRED | The licence gate held the amount |
| NAV_MISSING | No NAV for that fund and day |
| FEE_MISMATCH | The fee on the row differs from the fee master beyond tolerance |
Re-runs
Section titled “Re-runs”A period that is still open can be recalculated in full: its computed rows are rebuilt from the files and the current rules. A frozen period is never recalculated; a correction goes in as an adjustment in the next period.
What the system does or refuses
Section titled “What the system does or refuses”- Computed rows are immutable. A reversal is a negative row, never an edit.
- A running calculation is never shown. Screens read the last completed run.
- No hidden overrides. A cell the workbook sets by hand becomes a documented adjustment, not engine logic.