A platform where each sales agent has an account, you set their commission, and they run their own customers — built on the stack you already have.
Every piece of this model is already proven in Singapore & Malaysia — 团长 agents, WhatsApp seafood selling, pre-order cold-chain, PayNow links, refrigerated last-mile. Nobody has stitched them into one per-agent, commission-accruing, MOQ-aware loop. That orchestration layer is the product worth building — and you can start selling through agents this week without it.
Phase 1 (days): keep the Shopify store you're already planning and bolt on GoAffPro — agent accounts, per-agent commission you set, a white-label agent portal, coupon-code attribution (survives WhatsApp), commission approved on delivery, not payment. Bridge "the host keys in the group order" with Shopify Draft Orders tagged by agent. Phase 2: build a native Agent Group-Buy OS into your platform — the drop → MOQ-tally → cut-off → cold-chain → commission loop — unified with your existing ad_id → order → ROAS chain, where an agent is simply another attribution source. Keep it single-tier (legal), and never charge agents to join.
Your current channel — SG group-buy WhatsApp groups — is the 团长 (community-host) model. It works, but it leaks on the three things a platform fixes: manual tallying, payment reconciliation, and zero attribution.
A trusted local person aggregates neighbours' orders into one bulk order, earns 5–10% (SG), and does the last-mile handoff from a pickup point. This collapses delivery cost and outsources trust + customer service to the host — it's why group-buy is economically viable.
NASDAQ-listed (WBUY), ~3,000 community leaders / 100k consumers across SG/MY/ID, US$58.3M FY24 revenue, first profit Q4-24. They literally learned to pack prawns at Jurong Fish Port. The template exists — and it sells fresh seafood.
No off-the-shelf tool does the whole loop: agent accounts + live MOQ tally per zone + per-order payment + cut-off + cold-chain slot + commission accrual. It's stitched from an order form + a payment link + a WhatsApp inbox + a courier. The orchestration is the product.
1 · Manual tally — hosts read free-text chat into a spreadsheet; it breaks past ~30–50 orders. 2 · Payment reconciliation — hosts spend 5–10 hrs/month matching PayNow screenshots to orders (the emotional toll of chasing friends for money). 3 · No attribution — a chat order has no link back to the agent who drove it, so commission is estimated, not measured. Your agent-account model fixes all three by design: every order carries an agent_id.
Pick the model that maps to how your agents already work, pays richer on your premium lines, and stays firmly on the right side of SG/MY anti-pyramid law.
| Model | How the agent earns | Use for YHL? | Typical rate |
|---|---|---|---|
| Group-buy host commission (团长) | % of the group order they rally in their WhatsApp group | Core matches your channel exactly | SG 5–10% |
| Per-product / per-category % | Higher % on premium SKUs (grouper, big prawns), lower on commodity/frozen | Layer on protects margin on thin lines | 3–15% |
| Tiered by volume (3 tiers) | Rate rises as the agent crosses monthly sales thresholds | Phase 2 reward top hosts | Bronze→Gold |
| Reseller markup | Agent buys at a dealer price, sells at their own price, keeps the spread | Optional only if agents want price autonomy | agent-set |
| 2-tier / sub-agent override | Earn on a recruited sub-agent's sales | Avoid MLM-law risk in SG & MY | — |
Start with a flat host commission + per-product overrides — e.g. a base 8%, with premium grouper/large-prawn combos at 10% and frozen/commodity lines at 5%. All single-tier (agent earns only on their own sales). Add 3 volume tiers later to reward your best hosts. This is ordinary distribution/agency — not caught by anti-pyramid law — and it keeps your premium pricing intact.
The atomic unit is a drop: a deal defined by SKUs, price, agent commission, eligible zones, a run-date, an order cut-off, and a minimum order quantity (MOQ) per zone. Everything hangs off it.
Define the deal and open the order book.
drop = {SKUs, price, commission %, zones, run-date, cut-off, MOQ/zone}One tap broadcasts a deal card + an order link that carries their agent_id.
Via the agent's link / catalog / a host-tallied form — name, SKU, qty, zone, phone.
every order stamped → agent_id + zoneLive MOQ progress bar per zone ("3 more to unlock free delivery") · per-order PayNow/HitPay link auto-reconciled · cut-off timer closes the book → MOQ met? confirm : roll/refund · commission accrues to the agent automatically.
Pack paid orders on ice → one refrigerated run per zone (Lalamove refrigerated / DD Cold Chain) → auto-generate the agent's pick-list.
Hosts hand off to their customers. Any DOA/freshness claim (photo, 2–24h) is tied to order + agent + run.
Once delivery is confirmed and the freshness window closes, commission moves pending → approved → paid via PayNow/DuitNow. The agent sees it all in their dashboard.
Because every order carries agent_id → drop → run, you get correct commission, agent leaderboards, cohort reorder data, and per-agent/zone cold-chain quality — none of which the incumbent WhatsApp-chat operators can see. Attribution isn't a feature; it's the compounding advantage.
The one non-obvious rule that saves you from clawback chaos: with live seafood, DOA and substitution refunds are common — so commission must be held until the product is safely delivered.
Raw wa.me links carry no referrer, so link cookies die inside chat. The durable primitives, in order: (1) per-agent coupon code (survives copy-paste, doubles as the customer's discount), (2) host order-entry (matches how 团长 already tally), (3) a fronted WhatsApp deep-link — your own short-link that stamps agent_id before forwarding to wa.me.
Use Stripe Connect to split commission to the agent at payment time and keep buyer/agent/brand order-states webhook-synced — turning reconciliation into a non-event.
"Agent commission" tools split into affiliate/referral engines (agent gets a link/code, customer buys at your price) and agent/reseller systems (agent sets price, keys in orders). Buy the first now; build toward the second.
| Option | Agent + commission | Fit for YHL | Cost | Verdict |
|---|---|---|---|---|
| Shopify + GoAffPro | Unlimited agents, per-agent rates, white-label portal, link+code | Stays on your stack; single-tier; commission-on-fulfilment configurable; no revenue cut | Free → $49/mo | Phase 1 pick |
| Shopify + UpPromote | Link+coupon+customer, tiers, PayPal/Wise payout | Polished, but order caps (200–600/mo) + ~2% of referral sales | $0–70/mo +2% | Alt |
| EasyStore (Referral + Wholesale) | Native per-agent rate + a true reseller portal | Closest all-in-one — but means leaving Shopify | RM499–899/mo | Only if re-platforming |
| SHOPLINE (KOL Group-Buying) | Purpose-built group-buy-leader module | The most on-point off-shelf 团长 tooling — but off-Shopify | quote | Watch |
| Webspert / Firesell / SiteGiant (MY) | Multi-tier / downline commission, agent storefronts | Feature-rich but multi-level = MY AJL-licence risk + overkill | quote | Avoid |
| WhatsApp BSPs (SleekFlow/WATI/360dialog) | Inbox/broadcast/catalog — no commission engine | The routing layer you already have in Chatwoot/WABA | €49+/mo | Channel only |
| Native Agent Group-Buy OS | Drop → MOQ tally → cut-off → cold-chain → commission ledger | The orchestration nobody sells; unified with your ad_id→order→ROAS chain | build | Phase 2 build |
Off-shelf apps can't do the two things your model actually needs at scale: let a host key in a group order on a customer's behalf, and run perishable settlement rules (per-zone cut-offs, MOQ, weight-variance pricing for whole grouper, DOA credits). Bridge order-entry now with Shopify Draft Orders tagged by agent; build the native module when order-entry + perishable settlement — not attribution — become the real work.
Get these right at design time — they're cheap up front and expensive to retrofit.
Singapore's Multi-Level Marketing & Pyramid Selling (Prohibition) Act bans multi-level structures broadly — not just fraud. A flat/tiered/per-product commission on the agent's own sales is ordinary agency and safe. A sub-agent override is not. Malaysia: single-level reseller/markup is fine; any true MLM needs a KPDN AJL licence. Confirm with a SG lawyer + MY KPDN practitioner before launch.
No signup/kit fee that funds upline earnings; no bounty for recruiting agents; no exaggerated earnings claims. Income must come from product sales, full stop. This is the bright line between legal distribution and a prohibited pyramid.
Commission-only hosts who set their own hours are independent contractors (IRAS economic-reality test) — no CPF, no leave; they declare their own trade income. If an agent is GST-registered (turnover > S$1m), GST applies on their commission. Book commission as expense on approval, issue per-agent statements, don't run it through payroll.
Live seafood needs a Fresh-on-Arrival / DOA guarantee tied to order + agent + run: photo claim within 2–24h → refund or next-run replacement. It's both a purchase-decision unblocker for a premium product and your supplier-quality feedback loop — and it's why commission is held until delivery is confirmed.
You're already standing up Shopify + WhatsApp (Chatwoot/WABA) + Meta ads with an ad_id → order → CAPI → ROAS attribution chain. The agent layer is the same pattern: agent_id is just another attribution source stamped on the order. Reuse the store, the WhatsApp routing, and the ledger — the only genuinely new build is the drop/MOQ/cold-chain orchestration. This is a channel extension, not a second system.