Admin sells credits to Super Agent using cash
Admin receives cash (or another offline payment method) from a Super Agent, then issues credits to that Super Agent's CDN wallet.
Basic flow:
Admin collects payment → record full details → issue credits to Super Agent → save reconciliation ledger
Who does what
| Role | Action |
|---|---|
| Admin | Create credit sale transaction, enter payment details, confirm status |
| Super Agent | Pays per agreement; receives credits in wallet |
| System | Calculates amount due, writes ledger, stores audit |
Required information when selling
When Admin sells credits to a Super Agent, the form must include all items below before submit.
1. Counterparty & quantity
| Field | Required | Description |
|---|---|---|
| Super Agent | ✅ | Super Agent receiving credits (select from list or from current detail page) |
| Credits sold | ✅ | Credits issued to CDN wallet (positive number, > 0) |
| Cost rate | ✅ (display) | Super Agent cost rate at time of sale — used to calculate amount due |
| Amount due | ✅ (auto-calculated) | Credits sold × Cost rate — Admin confirms before saving |
2. Payment & receipt method
| Field | Required | Description |
|---|---|---|
| Actual amount received | ✅ | Amount Admin actually received (USD). Default = amount due |
| Receipt method | ✅ | How Super Agent paid — e.g. Cash, Bank transfer, Check, Other |
| Payment received at | ✅ | When Admin confirmed payment received (default = now; editable if entered late) |
| Currency | ✅ | Default USD |
3. Status
| Status | Meaning | When to use |
|---|---|---|
| Paid in full — credits issued | Full payment received, credits in wallet | Standard flow: collect payment before issuing credits |
| Pending payment — credits issued | Credits issued but payment not yet received / not fully received | Only with temporary credit policy — requires separate approval |
| Partially paid | Partial payment received | Record Amount received + Remaining |
| Cancelled | Transaction cancelled, no credits issued (or credits reversed) | Wrong entry, refund, etc. |
Default recommendation: Safest flow is to allow submit only when status = Paid in full — credits issued. Other statuses are optional if receivables management is needed later.
4. Reference (optional)
| Field | Required | Description |
|---|---|---|
| External reference | Recommended | Internal receipt number, transfer reference, payment voucher number |
| Note | Recommended | Short additional description (if needed) |
Recommended additions
| Field | Reason |
|---|---|
| Performed by (Admin) | Audit — who created the transaction (from session) |
| Linked credit transaction | Reference to credit wallet ledger entry after issuance |
Business rules
- Cost rate is snapshotted at time of sale — not updated if Super Agent changes rate later.
- Amount due =
Credits sold × Cost rateof the Super Agent buyer. - Issuing credits does not change the online USD wallet — this records cash / offline payment.
- Any status or amount change after creation must have an audit log (who, when, from value → to value).
Example
Super Agent SA-Alpha, cost rate 10% (0.10).
| Item | Value |
|---|---|
| Credits sold | 10,000 credits |
| Amount due | 10,000 × 0.10 = $1,000 |
| Receipt method | Cash |
| Actual amount received | $1,000 |
| Status | Paid in full — credits issued |
| External reference | PT-2026-0412 |
| Note | June 2026 transaction |
After submit: Super Agent CDN wallet +10,000 credits; cash settlement ledger records Admin received $1,000 from SA-Alpha.