Hướng dẫn

Mẫu Google Sheets Quản Lý Hoa Hồng CTV Bán Hàng [2026]

Tuân HoangTuân Hoang
24 tháng 8, 2026
10 phút đọc
Ảnh minh họa bài viết: Mẫu Google Sheets Quản Lý Hoa Hồng CTV Bán Hàng [2026]

CTV bán theo đơn hay bán liên tục — cách tính hoa hồng khác nhau ở đâu

Chủ shop tuyển 5-10 CTV bán hàng online thường mắc lỗi này ngay từ đầu: dùng chung một công thức tính hoa hồng cho cả CTV bán từng đơn lẻ và CTV bán liên tục theo tháng. Hai kiểu này cần cách theo dõi khác hẳn nhau.

CTV bán theo đơn (kiểu affiliate, chia sẻ link, đăng bài) thì mỗi đơn hàng độc lập — họ giới thiệu, khách mua, chốt hoa hồng, xong. Sheet chỉ cần một dòng cho mỗi đơn: mã CTV, mã đơn, giá trị đơn, % hoa hồng, số tiền, trạng thái thanh toán. CTV bán liên tục (dạng như nhân viên bán hàng part-time, quản lý một nhóm khách riêng) thì cần thêm lớp tổng hợp theo tháng — vì hoa hồng của họ thường tính theo doanh số lũy kế, có thể có thưởng đạt target, và có khấu trừ hàng hoàn/hủy.

Nếu shop trộn chung, sang tháng thứ 2-3 sẽ gặp cảnh không biết CTV A đã nhận tạm ứng bao nhiêu, đơn nào đã trừ hàng hoàn hay chưa. Cách xử lý sạch nhất là tách 2 sheet riêng: một sheet ghi giao dịch (transaction log) — mỗi dòng một sự kiện phát sinh hoa hồng, và một sheet tổng hợp theo kỳ (CTV × tháng) dùng SUMIFS kéo từ sheet giao dịch lên.

Cấu trúc sheet giao dịch — cột nào bắt buộc, cột nào hay thiếu

Sheet giao dịch là nguồn dữ liệu gốc, mọi báo cáo khác đều SUMIFS/QUERY từ đây ra. Cấu trúc tối thiểu:

  • Ngày phát sinh — ngày đơn hàng hoàn tất, không phải ngày CTV gửi đơn (khác nhau vì đơn có thể bị hủy giữa chừng)
  • Mã CTV — dùng mã cố định (VD: CTV001), không dùng tên vì trùng tên rất dễ nhầm khi VLOOKUP
  • Mã đơn hàng — để đối chiếu ngược lại đơn gốc khi có tranh chấp
  • Giá trị đơn (doanh thu) — giá trị sau khi trừ giảm giá, KHÔNG tính trên giá gốc
  • % hoa hồng áp dụng — nên để cột riêng thay vì hardcode số tiền, vì sau này đổi mức % vẫn truy vết được lịch sử
  • Số tiền hoa hồng — công thức = Giá trị đơn × % hoa hồng
  • Trạng thái đơn — Hoàn tất / Đã hoàn hàng / Đã hủy (đây là cột hay bị thiếu nhất, dẫn tới trả hoa hồng cho đơn đã hủy)
  • Trạng thái thanh toán hoa hồng — Chưa chi / Đã chi / Đang giữ (dùng để lọc khi đến kỳ trả)

Điểm hay bị bỏ sót: nhiều shop không có cột "trạng thái đơn" nên khi khách trả hàng, hoa hồng CTV đã tính vẫn nằm nguyên trong báo cáo. Đến cuối tháng cộng dồn ra số hoa hồng ảo, chi tiền xong mới phát hiện đơn đó đã hoàn. Cách xử lý đúng là dùng công thức có điều kiện lọc trạng thái, ví dụ SUMIFS chỉ cộng những dòng có trạng thái = "Hoàn tất", loại thẳng "Đã hoàn hàng" ra khỏi phép tính chứ không sửa tay từng dòng.

Công thức tính hoa hồng — từ % cố định đến trường hợp nhiều mức

Trường hợp đơn giản nhất — % cố định cho mọi sản phẩm, mọi CTV:

=SUMIFS(GiaoDich!D:D, GiaoDich!B:B, "CTV001", GiaoDich!G:G, "Hoàn tất") * 0.1

Thực tế phần lớn shop không đơn giản vậy. Có shop trả % khác nhau theo nhóm sản phẩm (VD: mỹ phẩm 15%, phụ kiện 8%), có shop trả % khác nhau theo từng CTV tùy thâm niên hoặc thỏa thuận riêng. Lúc này nên tách % ra một sheet cấu hình riêng (VD: sheet "Cau_Hinh_Hoa_Hong" với cột Mã CTV — Nhóm SP — % áp dụng), rồi dùng VLOOKUP hoặc INDEX/MATCH kéo % về sheet giao dịch thay vì gõ tay từng dòng.

Ví dụ cụ thể: shop bán mỹ phẩm có CTV Lan bán được đơn 500.000đ thuộc nhóm "Serum" (hoa hồng 12%) và đơn 300.000đ thuộc nhóm "Phụ kiện" (hoa hồng 8%). Công thức ở cột % hoa hồng trong sheet giao dịch:

=VLOOKUP(E2, Cau_Hinh_Hoa_Hong!$A:$C, 3, 0)

với E2 là mã nhóm sản phẩm của dòng đơn đó. Cột số tiền hoa hồng lấy giá trị đơn nhân với kết quả VLOOKUP này. Cách này giúp khi shop đổi mức hoa hồng cho một nhóm sản phẩm, chỉ sửa 1 dòng trong sheet cấu hình, toàn bộ lịch sử vẫn giữ nguyên % đã áp dụng tại thời điểm phát sinh (vì công thức đã chốt giá trị, không tự cập nhật ngược — muốn vậy phải copy-paste giá trị định kỳ, không để công thức sống mãi).

Nếu shop có mô hình hoa hồng theo bậc thang — tức doanh số càng cao % càng tăng — thì công thức phức tạp hơn nhiều, cần dùng hàm lồng IFS hoặc bảng tra theo khoảng doanh số, mình có viết riêng một bài về cách dựng bảng bậc thang này.

Đối soát và duyệt trước khi chi — bước hay bị bỏ qua

Nhiều chủ shop tin tưởng tuyệt đối vào số Sheet tính ra và chi tiền luôn, không qua bước đối soát. Rủi ro nằm ở chỗ Sheet chỉ tính đúng nếu dữ liệu đầu vào đúng — mà dữ liệu đơn hàng thường được CTV tự nhập hoặc copy từ nơi khác, sai sót là chuyện bình thường.

Quy trình đối soát tối thiểu nên có 3 bước trước khi chi hoa hồng:

  • Lọc danh sách đơn có trạng thái "Hoàn tất" trong kỳ, đối chiếu số lượng đơn với báo cáo bán hàng gốc (từ trang bán hàng hoặc sổ đơn) — phát hiện đơn trùng hoặc đơn ảo
  • Kiểm tra các đơn có trạng thái "Đã hoàn hàng" phát sinh SAU kỳ đã chi trước đó — vì có trường hợp khách hoàn hàng sau khi hoa hồng kỳ trước đã trả, cần trừ vào kỳ này
  • Gửi bảng tổng hợp cho từng CTV xác nhận trước khi chuyển khoản (dùng Google Form hoặc chia sẻ Sheet dạng view-only lọc theo CTV) — tránh tranh chấp "em tưởng đơn này còn được tính"

Bước thứ 2 là chỗ hầu hết các mẫu Sheet tự làm bỏ qua. Cách xử lý: thêm cột "Kỳ trừ hoàn" ở sheet giao dịch, khi phát hiện hoàn hàng trễ thì ghi âm số tiền vào kỳ hiện tại thay vì sửa lại số liệu kỳ cũ (sửa lại số liệu cũ sẽ làm sai lệch báo cáo đã chốt và gây khó hiểu khi CTV so sánh giữa các tháng).

Dashboard tổng hợp — CTV nào đang mang lại giá trị thật

Có bảng giao dịch chi tiết là chưa đủ, chủ shop cần một view tổng hợp để ra quyết định: giữ CTV nào, cắt CTV nào, ai đáng thưởng thêm. Dashboard này nên đặt trên một tab riêng, dùng QUERY hoặc PivotTable kéo từ sheet giao dịch, với các chỉ số:

Chỉ sốÝ nghĩaCách tính
Tổng doanh số quy đổiDoanh số CTV mang về trong kỳSUMIFS theo mã CTV, trạng thái Hoàn tất
Tổng hoa hồng phải trảSố tiền cần chi cho CTVSUMIFS cột hoa hồng theo mã CTV
Tỷ lệ đơn hoàn/hủyChất lượng khách CTV mang vềCOUNTIFS đơn hoàn / tổng đơn
Số đơn trung bình/thángMức độ hoạt động đều đặnCOUNTIFS chia số tháng hoạt động

Tỷ lệ đơn hoàn/hủy là chỉ số hay bị bỏ qua nhất nhưng lại quan trọng không kém tổng doanh số. Một CTV mang về doanh số cao nhưng tỷ lệ hoàn hàng 20% thực chất đang tạo gánh nặng vận hành (đóng gói, ship, xử lý hoàn) lớn hơn giá trị họ mang lại — cần xem lại cách họ tư vấn khách hoặc nguồn khách họ dẫn về có đúng đối tượng không.

Nếu shop đã có sẵn hệ thống theo dõi khách hàng, có thể liên kết chéo dữ liệu CTV với CRM quản lý khách hàng bằng Google Sheets để biết CTV nào đang mang về khách có giá trị đơn hàng lặp lại cao, chứ không chỉ nhìn đơn đầu tiên.

Khi CTV vừa bán hàng vừa có ca trực tại cửa hàng

Một số shop có mô hình lai: CTV vừa bán online qua mạng xã hội cá nhân, vừa có lịch trực tại cửa hàng để tư vấn khách trực tiếp. Trường hợp này hoa hồng không chỉ tính trên đơn online mà còn phải phân bổ cho đơn tại quầy — và đây là chỗ dễ tranh chấp nhất vì khó xác định đơn tại quầy đó "thuộc về" CTV nào nếu 2-3 người cùng ca. Cách xử lý thực tế nhiều shop áp dụng: với đơn online có mã giới thiệu/link riêng thì tính hoa hồng 100% cho CTV đó; với đơn tại quầy trong ca trực, chia đều hoa hồng theo số CTV có mặt hoặc theo tỷ lệ giờ làm nếu ca lệch nhau. Muốn làm được điều này, sheet giao dịch cần thêm cột "Kênh bán" (Online/Tại quầy) và liên kết với bảng lịch làm việc để biết ai đang trực tại thời điểm đơn phát sinh. Nếu shop chưa có công cụ quản lý ca làm, có thể tham khảo cách dựng bảng quản lý ca làm việc nhân viên bán hàng để ghép dữ liệu ca trực với dữ liệu hoa hồng.

Giới hạn của Google Sheets khi đội CTV lớn dần

Mẫu Sheet tính hoa hồng hoạt động tốt khi shop có dưới 15-20 CTV và khối lượng đơn vài trăm/tháng. Vượt qua ngưỡng đó, một số vấn đề bắt đầu lộ ra: công thức SUMIFS/QUERY chạy chậm khi sheet giao dịch có hàng chục nghìn dòng, nhiều người cùng nhập liệu dễ đè công thức của nhau, và việc CTV tự xem báo cáo của mình mà không nhìn thấy dữ liệu người khác gần như không thể làm bằng phân quyền mặc định của Google Sheets (chỉ chia theo sheet/tab, không lọc theo dòng). Đây là lúc nên cân nhắc chuyển sang phần mềm quản lý xây dựng trên nền Google Sheets — vẫn giữ giao diện bảng tính quen thuộc nhưng có lớp phân quyền theo từng người dùng, tự động hóa tính toán không phụ thuộc công thức thủ công, và không giới hạn số dòng gây chậm máy. SheetStore có các mẫu quản lý bán hàng dạng này nếu shop cần một bước nâng cấp mà không phải học lại từ đầu. Trước khi tính đến việc nâng cấp, đáng để xem lại tổng thể luồng vận hành bán hàng hiện tại — từ nhập kho, chốt đơn đến tính hoa hồng — xem chỗ nào đang là điểm nghẽn thật sự. Bài xây dựng hệ thống quản lý bán hàng trên Google Sheets có nói kỹ hơn về cách ghép các mảnh module (kho, đơn hàng, CTV) thành một hệ thống liền mạch thay vì từng sheet rời rạc.

Câu hỏi thường gặp

Mẫu này khác gì với mẫu tính hoa hồng bán hàng theo bậc thang đã có trên site?

Mẫu bậc thang tập trung tính hoa hồng cho nhân viên nội bộ theo doanh số lũy tiến. Mẫu này quản lý mạng lưới cộng tác viên bên ngoài: mỗi CTV có mã riêng, đơn hàng gắn nguồn giới thiệu, tỷ lệ hoa hồng khác nhau theo từng CTV hoặc nhóm sản phẩm, và có bảng đối soát trước khi chi trả.

Làm sao để tránh tính trùng hoa hồng khi một đơn hàng có nhiều CTV giới thiệu?

Sheet dùng cột mã CTV gắn duy nhất theo đơn hàng, kèm quy tắc first-click hoặc last-click tùy bạn chọn. Hàm QUERY lọc theo mã đơn để đảm bảo mỗi đơn chỉ tính hoa hồng cho một CTV, tránh trường hợp cộng dồn sai khi nhập liệu thủ công.

Có thể tự động gửi báo cáo hoa hồng hàng tháng cho từng CTV không?

Có, dùng Google Apps Script kết hợp hàm FILTER để tách dữ liệu riêng từng CTV, sau đó gửi email tự động kèm bảng tổng hợp đơn hàng và số tiền hoa hồng. Cách này giảm thời gian đối soát thủ công, đặc biệt khi mạng lưới có trên 20 CTV.

File có kiểm soát được tình trạng đơn hàng bị hủy hoặc hoàn tiền không?

Có, sheet có cột trạng thái đơn hàng (đã giao/hủy/hoàn tiền) liên kết với công thức tính hoa hồng bằng SUMIFS. Đơn hủy hoặc hoàn tiền tự động bị loại khỏi tổng hoa hồng chi trả, tránh trả nhầm cho CTV khi đơn không hoàn tất.

Bạn muốn áp dụng ngay mà không phải tự xây từ đầu?

Khám phá các mẫu Google Sheets và phần mềm quản lý dựng sẵn cho doanh nghiệp Việt tại SheetStore Marketplace.

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

Google SheetsGoogle Apps ScriptCRMAutomationPhần mềm quản lý doanh nghiệp

Google Workspace Certified, 5+ years experience

Bạn thấy bài viết hữu ích?

Đăng ký nhận thông báo khi có bài viết mới.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận