Sign in with your Asiyen admin phone number. A one-time code will be sent by SMS.
This tool is for Asiyen internal use only.
Overview Β· Money Β· People Β· Stock
Create a new batch and assign it to an agent.
Hand existing unassigned vouchers to an agent. They stay inert until sold.
Comma or space separated. Only unassigned stock can be allocated β anything already with an agent, sold or redeemed is reported back as skipped.
Every voucher issued, with status and redemption detail.
| Code | Value | Status | Agent | Redeemed By | Created | Action |
|---|---|---|---|---|---|---|
| Loading... | ||||||
Where every voucher is: in stock, with an agent, sold, redeemed. Cancelled codes are left out.
Generate and track printed batches.
Mints new sticker serials in the database. After generating, copy the command below and run it on your computer to produce the print-ready PDF.
| Batch # | Quantity | Serial Range | Print Shop | Created |
|---|---|---|---|---|
| Loading... | ||||
Where every sticker sits in its lifecycle.
Where every sticker sits in its lifecycle β raw stock through to activated or retired.
A sticker's lifecycle status doesn't change the moment an agent sells it in the field β
only when it's later activated by a merchant. So "Sold" here is counted separately, from
sticker_sales records, and won't necessarily match "Activated." A sticker can
be sold but not yet activated; that's expected, not a bug.
Deactivating blocks any future payment to this sticker. Use for lost, damaged, or long-dormant stickers you want to retire.
Each Submit sends real money through Ozow (RTC). Check the float on the Treasury tab first.
Compare Ozow's current payout bank list with the copy the app uses. Read-only.
Customers' balances, returned within 14 days of verification and bank details. Payouts are then sent from the Payouts tab.
Only once you have confirmed the request came from the account holder (for example by calling their registered number).
Can the Ozow payout float cover what merchants and agents could withdraw?
The balance lives at Ozow, not in this database. Update it whenever you check or top up.
Processing charges accrue outside the float and are invoiced separately.
The invoice is the truth. A large gap against the estimate means the assumed rates are wrong.
Do the wallet balances match the transactions that produced them?
Every rand Asiyen has earned and paid out β straight from the company ledger.
| Date | What happened | Note | Amount |
|---|---|---|---|
| Click Refresh to load the ledger. | |||
Users who submitted ID documents to lift their Tier 1 limits. Approve to unlock Tier 2.
Orders from merchants too far from an agent. Confirm payment, ship, then activate once receipt is confirmed.
Purchases where the customer was charged but the outcome is unknown. Check SIMcloud, then settle each one.
Run every Friday to verify agent settlements.
| Agent | Phone | Assigned | Sold | Unsold | Cash to Collect | Last Settled | Commission Owed | Status |
|---|---|---|---|---|---|---|---|---|
| Click Refresh to load reconciliation data. | ||||||||
Pays all unpaid commissions directly into the agent's Asiyen wallet β credits the wallet, marks commissions settled, and logs to the company ledger in one atomic step.
Record cash received from an agent. This frees their float to sell again.
A second factor so that taking over your phone number is not enough to sign in as you.
Rolling 24-hour ceilings on what an admin can move or approve, and how recent your authenticator code must be for money actions. Change them only in the Supabase console (SQL editor), never from here.
Keep a second authenticator on the phone in the safe. If every authenticator is lost, sign in to the
Supabase console (supabase.com, protected by its own authenticator) and remove the factor in the SQL editor:
delete from auth.mfa_factors where user_id = '<your user id>';
Then sign in here with SMS and add a new one.