Quản lý ngân sách thử thách#
Mục tiêu: Phân bổ, theo dõi và điều chỉnh ngân sách cho từng thử thách để kiểm soát chi phí phí quảng cáo.
Mục tiêu#
- Đặt budget per user và budget per content.
- Cấu hình limit tổng hoặc bật unlimited.
- Top-up thêm ngân sách khi cần.
- Đặt alert khi chi tiêu gần chạm limit.
Điều kiện tiên quyết#
- Thử thách đã được tạo (Quản lý thử thách).
- Có quyền Quản lý ngân sách.
Các khái niệm#
| Field | Ý nghĩa |
|---|---|
| budgetPerUser | Số tiền tối đa 1 Influencer có thể kiếm trong thử thách này |
| budgetPerContent | Số tiền tối đa 1 bài dự thi có thể kiếm |
| isUnlimited | Nếu bật, không giới hạn tổng ngân sách |
| limit | Tổng ngân sách (VND) khi isUnlimited=false |
| alert | Ngưỡng (%) để gửi thông báo (ví dụ: 80%) |
Các bước thực hiện#
1. Vào tab Ngân sách#
- Mở chi tiết thử thách (click row trong danh sách).
- Chọn tab Ngân sách (Budget Management).
2. Cấu hình budget#
- Budget per user — nhập số VND max/Influencer. Ví dụ: 5.000.000.
- Budget per content — nhập số VND max/bài. Ví dụ: 500.000.
- Unlimited?
- Tick → không giới hạn tổng.
- Bỏ tick → nhập limit (ví dụ: 100.000.000 VND).
- Alert threshold — số nguyên %, ví dụ 80 → khi chi 80% total, hệ thống gửi thông báo.
- Bấm Lưu.
3. Top-up ngân sách#
Khi limit gần hết hoặc đã hết, admin có thể cộng thêm:
- Trong tab Ngân sách, bấm Top-up.
- Nhập số tiền thêm.
- Lưu →
limittăng tương ứng.
4. Theo dõi tiến độ#
Tab Ngân sách hiển thị:
- Total budget: limit hiện tại.
- Used: đã cộng cho Influencer.
- Remaining: còn lại.
- % Used: bar/chart visual.
5. Hành động khi gần chạm limit#
Khi alert triggered (thường email + notification):
- Option A: Top-up thêm.
- Option B: Block create reward (pause cộng tiền) để rà soát.
- Option C: Đóng thử thách sớm (giảm
endAt).
Chi tiết từng bước#
Công thức tính tiền/bài#
Tùy cấu hình rewards:
reward_per_content = min(view × rate, budgetPerContent)
total_per_user ≤ budgetPerUser
total_system ≤ limit (nếu không unlimited)
Khi content đạt budgetPerContent, view vượt thêm không được tính.
Khi Influencer chạm budgetPerUser#
Các bài tiếp theo không tạo reward (user vẫn submit được nếu thử thách cho phép).
Khi limit đạt 100%#
Job cộng tiền tự động dừng. Các bài đã duyệt nhưng chưa cộng → backlog. Cần top-up để unlock.
Alert có được gửi đi đâu?#
- Email của staff có role Finance + Admin.
- Notification trong admin portal.
- Có thể setup Slack/Zalo webhook nếu DevOps config.
Lỗi thường gặp#
1. Budget âm/lệch#
- Kiểm tra top-up log — có thể có double-transaction.
- Đối soát job tính tiền — xem log.
2. Alert không gửi#
- Staff chưa register đúng email.
- Alert threshold quá cao (ví dụ 99%) và chi chưa đạt.
3. Top-up thành công nhưng UI chưa update#
Refresh (F5). Nếu vẫn không → cache issue, clear browser cache.
4. Set unlimited rồi muốn limit lại#
→ Bỏ tick unlimited, nhập limit mới. Nếu đã chi vượt limit sẽ mới, job sẽ block create reward cho đến khi top-up.
5. Influencer complain "tôi đã làm nhiều bài mà không được cộng tiền"#
→ Check budgetPerUser — họ đã đạt trần cá nhân chưa.
Câu hỏi thường gặp (FAQ)#
Top-up có workflow approval không?
Tùy role. Thường Finance cần approve request từ Manager trước khi top-up. Quy trình chi tiết phụ thuộc policy TCB.
Budget có rollover sang thử thách khác không?
Không. Mỗi thử thách budget độc lập. Budget dư khi close thử thách → trả về ngân sách tổng (backend handle).
Có thể đặt budget cho segment?
Hiện tại budget theo user/content/tổng thử thách. Không có budget riêng cho segment.
Làm sao biết bài nào đã hit budgetPerContent?
Export dữ liệu đối soát → sort theo reward. Bài có reward = budgetPerContent là hit trần.
Unlimited có rủi ro không?
Có. Không giới hạn tổng → rủi ro chi vượt kế hoạch nếu thử thách viral. Khuyến nghị: luôn set limit và alert.
Liên kết liên quan#
Tham khảo SRS: admin-portal/08-thanh-toan