Module · Resellers
Six tiers. Each sees its own book and nothing else.
Superadmin, ISP, admin, franchise, dealer, subdealer — a real distribution chain with tenant isolation enforced in the backend, not by promising people not to click things.
What it does
Built in, not bolted on.
Nested hierarchy
Each reseller registers their own downline. The tree is the org chart: authority, pricing and visibility all flow along it.
Tenant isolation
Every query is scoped to the caller's subtree at the API layer. A dealer cannot see a sibling dealer's customers — not hidden, impossible.
Package assignments
Decide which packages each reseller may sell and at what wholesale price. Their panel shows only what you assigned.
Prepaid wallets
Every tier holds a wallet. Activations draw from it; top-ups replenish it. No wallet balance, no activation — credit risk stays where you put it.
Top-ups & reversals
Fund a downline's wallet, and reverse a top-up when cash didn't actually arrive. Both directions land in both ledgers.
Pass-through permissions
Resellers get the full panel scoped to their subtree. Staff accounts under any reseller get JSONB-scoped permissions on top.
Wallet math
Every tier earns its margin. The ledger proves it.
; customer pays dealer, cash in handretail price ............. 10.00 ; wallets settle up the chain, instantlydealer pays .............. 9.00margin ................. 1.00franchise pays ........... 7.50margin ................. 1.50isp keeps ................ 7.50 ; every hop is a ledger row on both sidesΣ margins + isp share = retailreconciles ............... always- 01
Prices per tier, set once
You set the wholesale price at each assignment. When a dealer activates a customer, the chain settles automatically — no month-end margin arguments.
- 02
Prepaid kills bad debt
A dealer can only activate what their wallet covers. The frantic month-end recovery ride across town becomes a top-up notification.
- 03
Double-entry by construction
Every settlement writes a debit and a credit in the two wallets it moves between. The books can't drift because there's only one book.
Screenshot coming — the reseller tree with per-tier wallets and assignments, captured from the live product.
What it replaces
Retire the workaround.
Shared admin logins handed to franchises, and finding out months later what they did with them.
Each tier gets its own scoped panel. Authority is delegated downward, never shared sideways.
Price lists emailed to dealers, renegotiated by phone, and applied from memory.
Wholesale prices live on the package assignment. The panel charges the assigned price — there is nothing to remember.
Monthly settlement meetings with a notebook, a calculator and three versions of the truth.
Wallets settle per activation in real time. Month-end is a report, not a negotiation.
Keep exploring