Referral Program — Commission History
Access prerequisites
- Permission (module):
viewIndicationProgram - License/Feature: None
- Menu container: GENERAL → Referral Program group
What it is / when to use
Audit screen for generated referral commissions. Each row is a commission (multilevel_commissions) with its payments (multilevel_commissions_payments) and processing status. There are filters by status (all / processed / pending) and search by user, reason or currency, plus counters for processed and pending items.
Use it to review what was generated by Referral Programs, identify pending items, and validate settlement.
Prerequisites
- Permission:
viewIndicationProgram(dual permission: CPM enum + dynamic module in the DB). - License/Feature: None.
- Dependencies on other screens: commissions only exist if there are active programs and referred-user actions that trigger the covered events.
Step by step
- Go to the menu Referral Program → Commission History (
/indication-program/commissions). - Use the status filters (All / Processed / Pending) and the search (user, reason, currency).
- Click a row to expand and see the payments that make up the commission.
Filters and columns
| Filter / Column | What it shows | Data source |
|---|---|---|
| Status (All/Processed/Pending) | Filters by wasProcessed | Client-side filter |
| Search | userId, reason or unit_of_money | Client-side filter |
User (userId) | Commission beneficiary | multilevel_commissions.userId |
Amount (amount) | Commission value | multilevel_commissions.amount (BigNumber string) |
Currency (unit_of_money) | Credited asset | multilevel_commissions.unit_of_money |
Reason (reason) | Commission source/description | multilevel_commissions.reason |
Date (when) | When it was generated | multilevel_commissions.when |
Processed (wasProcessed) | Whether it has already been settled | flag on the record |
Payments (payments[]) | Breakdown per payment (date/status) | multilevel_commissions_payments |
Actions and modals
- Expand/collapse row: shows the commission payments. Read-only.
- Counters: "processed" and "pending" aggregate the loaded total.
Business rules / cautions
Attention
wasProcessed = falseindicates a commission pending settlement — do not assume the user was credited before processing.- This screen shares the same commission entities as the Commission payment screen; the difference is the audit scope filtered by referral program.
- Idempotency: settlement via FinLib is idempotent by
externalId;E00021("already processed") is success, not an error. - Financial values: values as BigNumber strings — no rounding.