---
url: https://docs.nemo12.com/product/prd-006-partners.md
description: >-
  PRD-006 v0.2 khu đối tác partners.nemo12.com cho affiliate (SRC-1089), mở lại
  10.10.2026 kèm câu hỏi của đối tác (SRC-1332).
---

# PRD-006 - Khu đối tác bán hàng

Chỉ đạo chủ dự án 27.09.2026 (SRC-1089): *"Tạo riêng khu vực riêng cho những người chuyên bán
hàng, chuyên làm affiliator hoặc referral. \[...] khu vực đó (learn.nemo12.com/ielts) là khu vực
dành riêng cho learners, và họ có tính năng phụ là referral thôi. Bây giờ tôi muốn tạo riêng tính
năng cho riêng những người chuyên bán. Họ không chỉ bán IELTS mà bán cả các khoá SAT và các khoá
Speaking nữa."*

## 0. Chủ dự án chốt 27.09.2026

| Câu | Chốt |
| --- | --- |
| Duyệt đối tác (Q-173) | **Tự động**, không cần admin |
| Ghi công (Q-176) | **Ngay lập tức** lúc người mua đăng nhập; cookie sống 30 ngày từ lúc bấm link |
| Gốc tính (Q-175) | **Số tiền learner thực trả** |
| Tầng hai (Q-180) | **Có, 2%** |
| Khoá hoa hồng (Q-175) | Rút được **30 ngày** sau khi người mua trả |
| Ngưỡng rút (Q-181) | Số dư rút được phải đạt **5.000.000đ**; mỗi lần rút tối thiểu **3.000.000đ**; luôn để lại **1.000.000đ** cọc; trả **ngày 5** hằng tháng |

Chưa được trả lời, đang chạy theo đề xuất (sửa được không cần đổi schema): tỷ lệ tầng một 10% cho
cả ba dòng (Q-174, bảng `partner_rates`), tính mọi lần đóng trong 12 tháng (Q-175), nguồn đầu tiên
thắng (Q-177), đối tác chỉ thấy ngày/sản phẩm/số tiền (Q-178).

Chốt thêm cùng ngày:

| Câu | Chốt |
| --- | --- |
| Giảm giá người mua (Q-179) | **Có, 10% ở MỌI lần đóng** (referral learner chỉ giảm lần đầu), chụp vào lượt ghi công; hiện ở mọi màn đang hiện ưu đãi referral |
| Thuế TNCN (Q-182) | **Nemo12 khấu trừ**: 10% trên số gộp mỗi lần trả từ 2.000.000đ (rút tối thiểu 3tr nên mọi lần đều bị khấu trừ). Đối tác phải khai mã số thuế cá nhân hoặc số CCCD trước khi rút; mỗi lần rút ghi số gộp, thuế, thực nhận và mã số thuế; admin có bảng tổng theo năm |

## 1. Việc mà tài liệu này giải

Referral hiện có ([Rủ bạn cùng học](referral-and-credit.md)) được thiết kế cho **người học rủ
người học**: một mã, một trang, hoa hồng vào tài khoản ảo tiêu được vào học phí. Nó cố ý chặt ở ba
chỗ mà một người bán chuyên nghiệp sẽ va vào ngay:

| Luật của referral learner | Vì sao đúng với learner | Vì sao sai với người bán |
| --- | --- | --- |
| R-25: hai bên phải cùng vai | Bảo vệ trẻ con khỏi người lạ | Người bán là người lớn bán cho **phụ huynh**; họ không học |
| Hoa hồng vào tài khoản ảo, tiêu vào học phí | Learner là khách hàng của chính Nemo12 | Người bán không mua học; số dư tiêu vào học phí là số dư chết |
| Một mã, một sản phẩm (membership IELTS) | Learner chỉ rủ bạn học cùng thứ mình học | Người bán bán **ba dòng**: IELTS, SAT, Speaking, cho nhiều kênh khác nhau |

Vá ba chỗ ấy ngay trong referral learner là nới lỏng đúng những luật đang bảo vệ trẻ con. Nên
người bán có **khu riêng, vai riêng, sổ riêng**, và hai hệ chỉ chung nhau hạ tầng ghi công.

## 2. Tên miền: `partners.nemo12.com`

* **`partners`**, không phải `affiliate` hay `sales`: một chữ tiếng Anh thông dụng, không mang
  sắc thái "hoa hồng đa cấp", và đủ rộng cho cả affiliate lẫn đại lý.
* Giao diện nói **tiếng Việt** (luật mặc định; người bán là người Việt bán cho gia đình Việt).
* Link bán vẫn trỏ về trang công khai `nemo12.com` (nơi phụ huynh quyết định), không trỏ về
  `partners`.

## 3. Người trong câu chuyện

| Vai | Họ muốn gì | Họ sợ gì |
| --- | --- | --- |
| **Đối tác bán hàng** | Link riêng từng sản phẩm, biết link nào ra đơn, biết mình được bao nhiêu và khi nào nhận | Bán xong không được ghi công; không biết tiền đang ở đâu |
| **Phụ huynh mua** | Mua đúng khoá, giá minh bạch | Bị bán ép; thông tin con bị người bán nhìn thấy |
| **Chủ dự án / admin** | Nhiều kênh bán với chi phí trả theo kết quả | Trả hoa hồng cho đơn ảo, đơn tự mua, đơn bị hoàn |

## 4. Yêu cầu

### 4a. Trở thành đối tác

| # | Yêu cầu | Trạng thái |
| --- | --- | --- |
| P-01 | Người muốn làm đối tác đăng nhập Google rồi **đăng ký** (họ tên, SĐT, kênh bán) | ✅ |
| P-02 | **Tự duyệt**: đăng ký xong là có link. Admin chỉ còn quyền **khoá** đối tác gian lận | ✅ |
| P-03 | Đối tác là **một vai riêng** trên tài khoản người dùng, độc lập với vai learner/phụ huynh. Một người có thể vừa là phụ huynh vừa là đối tác | ✅ |
| P-04 | Đối tác đồng ý **điều khoản đối tác** (phiên bản có số, gồm điều khoản thuế) khi đăng ký | ✅ |
| P-05 | **Thuế TNCN**: khấu trừ 10% mỗi lần trả từ 2.000.000đ, bắt buộc khai MST/CCCD, lưu gộp/thuế/thực nhận | ✅ |

### 4b. Link và sản phẩm

| # | Yêu cầu | Trạng thái |
| --- | --- | --- |
| P-10 | Ba dòng sản phẩm bán được: **IELTS**, **SAT**, **Speaking**. Danh mục đọc từ bảng giá, không viết cứng | ✅ |
| P-11 | Mỗi đối tác một **mã cố định**; link = trang công khai của sản phẩm + `?p=<MÃ>` | ✅ |
| P-12 | Đối tác tạo được **link chiến dịch** (nhãn tự đặt, ví dụ `facebook-thang10`) để biết kênh nào ra đơn | ✅ |
| P-13 | Nút chép một chạm, mã QR cho từng link | ⏳ |

### 4c. Ghi công

| # | Yêu cầu | Trạng thái |
| --- | --- | --- |
| P-20 | Bấm link → lưu mã + chiến dịch, sống sót qua vòng Google OAuth (như R-11) | ✅ |
| P-21 | Ghi công **ngay lập tức** lúc người mua đăng nhập, cửa sổ **30 ngày** từ lúc bấm | ✅ |
| P-22 | First touch thắng; **một người mua chỉ thuộc một nguồn**: nếu đã được một learner giới thiệu thì không được ghi công cho đối tác, và ngược lại | ✅ |
| P-23 | Không tự bán cho mình: đối tác không được ghi công cho chính tài khoản mình hoặc learner trong gia đình mình | ✅ |
| P-24 | Chỉ **người mới** được ghi công (chưa từng có quyền học trả tiền) | ✅ |

### 4d. Hoa hồng

| # | Yêu cầu | Trạng thái |
| --- | --- | --- |
| P-30 | Tỷ lệ hoa hồng **theo từng dòng sản phẩm**, đọc từ bảng giá, sửa được ở admin | ✅ |
| P-31 | Gốc tính: **số tiền learner thực trả**. Tính trên mỗi lần đóng trong 12 tháng từ lúc ghi công | ✅ |
| P-32 | Người mua qua link đối tác được **giảm 10% ở mọi lần đóng**; hoa hồng tính trên số SAU giảm | ✅ |
| P-33 | **Hai tầng**: 2% trên doanh số của đối tác do mình rủ (link `partners.nemo12.com/?p=MÃ`). Không có tầng ba | ✅ |
| P-34 | Đổi tỷ lệ không hồi tố: mỗi dòng hoa hồng chụp tỷ lệ tại lúc ghi công | ✅ |
| P-35 | Hoàn tiền → thu hồi hoa hồng (ghi dòng âm, không xoá dòng cũ) | ✅ |

### 4e. Thanh toán cho đối tác

| # | Yêu cầu | Trạng thái |
| --- | --- | --- |
| P-40 | Hoa hồng đi vào **sổ đối tác** riêng (không phải tài khoản ảo của member) | ✅ |
| P-41 | Hoa hồng rút được **30 ngày** sau khi người mua trả | ✅ |
| P-42 | Rút tiền mặt: đối tác khai tài khoản ngân hàng; admin chuyển tay rồi đánh dấu "đã trả" kèm mã chuyển khoản. Chưa tích hợp cổng | ✅ |
| P-43 | Số dư rút được ≥ 5.000.000đ mới rút; mỗi lần ≥ 3.000.000đ; để lại ≥ 1.000.000đ cọc; trả ngày 5; mỗi lúc một yêu cầu chờ | ✅ |

### 4f. Bảng điều khiển của đối tác

| # | Yêu cầu | Trạng thái |
| --- | --- | --- |
| P-50 | Số lượt bấm, số người đăng nhập, số đơn trả tiền, theo sản phẩm và theo chiến dịch (số theo chiến dịch hiện trên từng link từ SRC-1332) | ✅ |
| P-51 | Số dư theo trạng thái: chờ khoá, có thể rút, đã trả | ✅ |
| P-54 | Mục **hỏi đáp** trả lời trước những câu đối tác hỏi trước khi bỏ công bán (§7). Mỗi câu là một luật đang chạy trong code | ✅ SRC-1332 |
| P-55 | Lỗi tải dữ liệu không được bỏ người dùng đứng trước một câu cụt: luôn có nút thử lại | ✅ SRC-1332 |
| P-52 | Danh sách đơn: **ngày, sản phẩm, số tiền, hoa hồng**. **Không** hiện tên, email, SĐT của người mua hay tên learner | ✅ |
| P-53 | Thư báo khi có đơn mới và khi được trả tiền, kèm thư chào và thư nhắc ngày thứ 3 khi chưa có lượt bấm | ✅ SRC-1332 |

### 4g. Admin

| # | Yêu cầu | Trạng thái |
| --- | --- | --- |
| P-60 | Danh sách đối tác, khoá/mở khoá; ghi khoản thu, hoàn tiền (chưa có cổng thanh toán) | ✅ |
| P-61 | Danh sách yêu cầu rút chờ trả, đánh dấu đã trả kèm mã giao dịch | ✅ |
| P-62 | Tỷ lệ theo sản phẩm và tầng trong bảng `partner_rates` (chưa có màn sửa, sửa qua seed) | ⏳ |

## 5. Ngoài phạm vi

* Cổng thanh toán tự động cho đối tác, xuất hoá đơn, in chứng từ khấu trừ thuế (bảng số liệu đã có).
* Hoa hồng nhiều tầng.
* Kho tài liệu marketing (banner, bài mẫu) - bản sau.

## 6. Đo thành công

* Số đối tác có ít nhất một đơn trả tiền trong 30 ngày đầu.
* Tỷ lệ đơn đối tác bị hoàn so với đơn thường (cảnh báo gian lận nếu cao gấp đôi).

## 7. Câu hỏi của một người làm affiliate (SRC-1332)

Đóng vai một người bán khoá học qua Facebook và Zalo, đứng trước màn partners.nemo12.com, hỏi
trước khi bỏ công. Cột cuối nói câu ấy đã được trả lời ở đâu.

| # | Câu hỏi / yêu cầu | Trả lời hiện tại | Trạng thái |
| --- | --- | --- | --- |
| AQ-01 | Tôi vào màn này chỉ thấy "Không tìm thấy tài nguyên", tôi làm gì tiếp? | API đã quay lại; lỗi giờ có câu dễ hiểu và nút thử lại (P-55) | ✅ |
| AQ-02 | Link của tôi dẫn tới trang thật không? | Ba link IELTS `/ielts`, SAT `/sat`, Speaking `/speak` đều mở trang công khai thật | ✅ |
| AQ-03 | Kênh nào của tôi bán được? | Mỗi link chiến dịch hiện lượt bấm, người mua, doanh số (P-50) | ✅ |
| AQ-04 | Khách mua trên máy khác có được tính không? | Link chỉ nhớ trên máy đã bấm; khách gõ mã của bạn ở ô "Have a code" trang học phí learn là được ghi công | ✅ |
| AQ-05 | Hai người cùng gửi link thì ai được tính? | Link được bấm trước (first touch) | ✅ |
| AQ-06 | Tôi mua cho con mình qua link của mình được không? | Không tính (P-23) | ✅ |
| AQ-07 | Khách đóng nhiều lần thì sao? Khách hoàn tiền thì sao? | 10% mỗi lần trong 12 tháng; hoàn thì trừ lại | ✅ |
| AQ-08 | Khi nào tôi nhận tiền, vì sao chưa rút được? | Bảng số dư năm trạng thái + chính sách + ngày dự kiến của từng đơn | ✅ |
| AQ-09 | Tôi có phải nói đây là link giới thiệu không? | Có (mục hỏi đáp) | ✅ |
| AQ-10 | Ký quỹ 1.000.000đ bao giờ được trả lại? | Khi dừng làm đối tác, ở kỳ chuyển tiền đầu tiên sau khi đơn cuối đã qua 30 ngày | ✍️ D-01 |
| AQ-11 | Tôi có được chạy quảng cáo theo từ khoá "Nemo12", đăng mã lên trang mã giảm giá không? | Không; vi phạm thì có thể bị khoá tài khoản | ✍️ D-02 |
| AQ-12 | Có ảnh, bài mẫu, video để tôi đăng không? | Tab Tài liệu: bài mẫu IELTS, SAT, Speaking gắn sẵn link. Ảnh và video chưa có | ✅ bài mẫu, ⏳ ảnh/video |
| AQ-13 | Có báo cho tôi khi có đơn mới không? | Thư `partner-sale` mỗi khoản hoa hồng, `partner-paid` mỗi lần chuyển tiền (P-53) | ✅ |
| AQ-14 | Bán nhiều có được tỷ lệ cao hơn không? | Chưa; một tỷ lệ chung, đổi thì không hồi tố | ✍️ D-03 |

### Quyết định tự đưa (✍️, 10.10.2026, chủ dự án giao "làm nốt")

| # | Quyết định | Lý do | Đổi thì sửa ở |
| --- | --- | --- | --- |
| D-01 | Ký quỹ trả lại khi dừng làm đối tác, ở kỳ chuyển đầu tiên sau khi đơn cuối qua 30 ngày | Ký quỹ tồn tại để bù hoàn tiền muộn; qua 30 ngày thì không còn khoản nào hoàn được. Admin chuyển tay như mọi lần trả | `apps/partners/src/Policy.tsx` |
| D-02 | Cấm quảng cáo theo từ khoá Nemo12, đăng mã lên trang mã giảm giá, nhắn tin hàng loạt, nhồi cookie; chế tài là khoá tài khoản | Bốn cách chiếm ghi công phổ biến nhất trong brief (C4, C5). Chỉ hứa chế tài admin đã làm được (`setPartnerStatus`), không hứa huỷ hoa hồng tự động | `Policy.tsx` |
| D-03 | Chưa có bậc theo hiệu suất | Tỷ lệ gốc 10% (Q-174) còn chưa được chủ dự án xác nhận; xây bậc trên một con số chưa chốt là xây hai lần | brief A5 |

Thiết kế: [SDD-046](../architecture/sdd-046-partner-program.md).
