Chipi Limited
Silverdale, Auckland, New Zealand
NZBN: 9429053537539

Tách media buy khỏi doanh thu và gắn giờ của từng người về đúng khách là cách để agency biết khách nào thật sự trả đủ cho công sức bỏ ra.
Một agency 40 người kết thúc năm với doanh thu tăng 30%. Cùng năm đó, tháng nào tiền mặt cũng căng, lương trả muộn hai lần, và khách lớn nhất trên bảng doanh thu là khách chạy media mà cả đội đều ngán. Founder hỏi kế toán một câu: khách nào đang nuôi công ty và khách nào đang ăn vào. Kế toán mở sổ, thấy doanh thu theo từng khách, thấy tổng chi phí của công ty, và không có cách nào nối hai thứ đó lại.
Gần như toàn bộ nội dung tiếng Việt về chi phí agency viết cho phía ngược lại, tức doanh nghiệp đi thuê agency: ngân sách marketing nên chiếm bao nhiêu phần trăm doanh thu, thuê agency tốn bao nhiêu. Bài này viết cho chính agency, bên nhận việc, đang có hai mươi khách và một trăm job chạy cùng lúc.
Lõi của cách làm vẫn là job costing (tính chi phí theo từng công việc) như bài quản lý chi phí dự án cho công ty phần mềm mô tả: giờ của từng người nhân với chi phí của một giờ, gắn về đúng việc sinh ra nó. Agency khác công ty phần mềm ở chỗ doanh thu phải làm sạch trước khi tính, giờ của một người phải chia cho nhiều khách trong cùng ngày, và đơn vị ra quyết định là khách hàng chứ không dừng ở từng job.
| Tiêu chí | Công ty phần mềm | Agency digital |
|---|---|---|
| Đơn vị việc | Vài dự án dài, mỗi dự án nhiều tháng | Nhiều job nhỏ, một khách có nhiều job cùng lúc |
| Doanh thu | Gần như toàn bộ là phí dịch vụ | Có phần tiền đi qua để trả cho nền tảng quảng cáo, in ấn, KOL |
| Hình thức hợp đồng | Theo phạm vi, fixed price hoặc theo giờ | Nhiều retainer theo tháng cạnh các job lẻ |
| Cách bố trí người | Một người thường ở một dự án trong nhiều tuần | Một người chạm vào năm khách trong một ngày |
| Mua ngoài | Cloud, license, thầu phụ kỹ thuật | Freelancer sản xuất, quay dựng, in ấn, chiếm tỷ trọng lớn |
Năm khác biệt này dẫn tới ba việc mà bài 101 chưa nói kỹ: tách media buy (chi phí mua quảng cáo trên nền tảng) khỏi doanh thu dịch vụ, gắn giờ của một người chạy nhiều khách, và gom lãi lỗ lên cấp khách hàng. Phần còn lại, gồm cost rate, chi phí gián tiếp, ba tầng biên, dùng nguyên.
Một job, dù là chiến dịch ba tháng hay một bộ hình cho tuần sau, có bốn nhóm chi phí. Ba nhóm đầu gắn thẳng vào job, nhóm thứ tư được chia về.
Giờ của account, planner, designer, content, media buyer bỏ vào job, nhân với cost rate (đơn giá chi phí của một giờ công) của từng người. Đây là khoản lớn nhất của agency, và cũng là khoản không có hóa đơn nào chứng minh. Cost rate tính từ tổng chi phí sở hữu một nhân sự chia cho số giờ bán được trong năm, có bảng tính cost rate theo giờ để dựng. Cost rate trong bộ mẫu chưa gồm bảo hiểm bắt buộc, điền tỷ lệ theo quy định hiện hành thì mọi số tự cập nhật.
Quay phim, dựng, nhiếp ảnh, in ấn, mua ảnh, thuê KOL. Khoản này phải gắn vào job sinh ra nó, ghi từ lúc ký đơn đặt việc chứ không đợi hóa đơn, với hai cột cam kết và thực chi. Phần chứng từ và điều kiện để chi phí này được chấp nhận khi quyết toán thuế sẽ có bài riêng.
Tiền khách trả để agency chuyển cho nền tảng quảng cáo. Nó đi qua tài khoản của agency nhưng theo góc quản trị, nó không phải chi phí của agency, cũng không phải doanh thu dịch vụ. Cách xử lý ở mục tiếp theo.
Văn phòng, quản lý, kế toán, công cụ dùng chung. Chia về job theo giờ công, chọn một tiêu chí và giữ nhất quán. Ba tiêu chí phân bổ và hệ quả của từng cách chọn nằm ở bài báo cáo lãi lỗ từng dự án.
Khách Minh Long ký hợp đồng tháng 500 triệu. Trong đó 400 triệu là ngân sách quảng cáo agency chuyển cho nền tảng, 100 triệu là phí dịch vụ gồm quản lý chiến dịch và sản xuất nội dung. Đội bỏ vào khách này 180 giờ của nhân sự cấp trung, tương đương 52,0 triệu theo cost rate mẫu, cộng 20 triệu thuê freelancer dựng video. Chi phí trực tiếp 72,0 triệu (*).
Tính biên gộp trên con số nào thì ra hai câu chuyện khác nhau.
| Cách tính | Doanh thu | Chi phí trực tiếp | Biên gộp | Tỷ lệ |
|---|---|---|---|---|
| Trên doanh thu gộp | 500 | 72,0 | 428,0 | 85,6% |
| Trên doanh thu thuần | 100 | 72,0 | 28,0 | 28,0% |

Con số 85,6% là con số sổ sách cho ra khi doanh thu ghi cả phần media. Nó không dùng để ra quyết định được, vì 400 triệu kia là tiền agency giữ hộ khách. Con số 28,0% mới so được với khách khác. Sau khi trừ 20% chi phí gián tiếp trên nhân công, tức 10,4 triệu, khách Minh Long còn 17,6 triệu, bằng 17,6% doanh thu thuần (*).
Quy tắc rút ra: mọi bảng lãi lỗ theo khách dùng doanh thu thuần (phần phí agency thật sự được hưởng), còn media buy để một dòng riêng ngoài bảng để đối chiếu dòng tiền. Hợp đồng agency có ba biến thể và cách trình bày khác nhau. Khách trả thẳng cho nền tảng thì media không đi qua agency, không có gì để tách. Agency ứng trước rồi thu lại của khách thì media đi qua sổ, phải tách. Hợp đồng có phí quản lý tính theo tỷ lệ trên ngân sách media thì phần phí đó là doanh thu thuần, phần ngân sách chuyển đi thì không.
Cách nhìn này trùng với cách người trong ngành mô tả mô hình agency. Trong loạt phỏng vấn Deep Dive của Brands Vietnam (tháng 5/2023), anh Nguyễn Khoa Hồng Thành, một cựu founder agency, gọi tổng giá trị hợp đồng là billing và định nghĩa doanh thu của agency bằng billing trừ chi phí trả cho nhà cung cấp. Ví dụ của anh: hợp đồng sản xuất TVC 1 tỷ, trả production house 800 triệu, doanh thu của agency là 200 triệu, còn 1 tỷ chỉ là billing. Cùng bài đó liệt kê năm nguồn doanh thu của agency: phí quản lý, dịch vụ giá trị cộng thêm như hoạch định chiến lược và sáng tạo, rebate hoặc chiết khấu từ nhà cung cấp, phí mark-up trên giá nhà cung cấp, và doanh thu từ dịch vụ agency tự thực thi. Theo quan sát của anh, phí quản lý ở thị trường Việt Nam chỉ khoảng 8 tới 10% billing.
Năm nguồn đó đều là doanh thu thuần, và bảng lãi lỗ theo khách phải gom đủ cả năm. Hai nguồn hay bị bỏ sót: rebate từ nhà cung cấp thường về cuối quý và không gắn khách nào, trong khi nó sinh ra từ billing của những khách cụ thể, nên phải chia về đúng khách đã tạo ra billing đó; còn doanh thu từ dịch vụ tự thực thi thì không có chi phí nhà cung cấp đối ứng, thay vào đó là giờ của đội nội bộ, tức đúng thứ mà chấm công theo khách phải bắt được. Với mức phí quản lý 8 tới 10%, một khách media buy 400 triệu mỗi tháng chỉ mang về 32 tới 40 triệu doanh thu thuần, và con số đó mới là thứ để so với giờ đội đã bỏ ra (*).
Bài này chỉ nói cách trình bày trong báo cáo quản trị nội bộ. Việc media buy được ghi nhận thế nào trên sổ kế toán theo chuẩn mực là chuyện khác, cần người rành kế toán, và cách trình bày doanh thu thuần chi tiết hơn sẽ có bài riêng.
Ở công ty phần mềm, một lập trình viên thường ở một dự án trong nhiều tuần, nên chấm công theo dự án khá dễ. Ở agency, một designer sáng làm bộ hình cho khách A, trưa sửa banner cho khách B, chiều họp về khách C, xen giữa là ba lần “sửa nhanh giúp anh” cho khách D và E. Cuối tháng, 160 giờ có mặt của người đó nằm rải rác ở năm khách và không ai biết mỗi khách bao nhiêu.
Cơ chế duy nhất giải được là chấm công theo cặp khách và job, đơn vị 15 hoặc 30 phút, ghi trong ngày. Một designer trong bộ mẫu có 160 giờ trong tháng, gắn được 48 giờ cho khách A, 40 cho B, 32 cho C, 20 cho D, 10 cho E, cộng 150 giờ gắn khách, còn 10 giờ là họp nội bộ và presales. Con số này là thứ để tính chi phí cho từng khách, và cũng là thứ để tính utilization (tỷ lệ giờ tính phí trên giờ khả dụng) của đội sáng tạo, chủ đề của bài utilization rate.
Ba loại giờ hay rơi mất và quy tắc cho từng loại:
Mẫu chấm công theo dự án của CostDesk dùng được ngay cho agency bằng cách đặt mã dự án là mã khách kèm mã job. Không có bước này thì mọi bảng phía sau là số đoán, và số đoán ở agency thường đoán thấp cho khách khó tính, vì không ai muốn nhớ về họ.
Retainer (phí cố định theo tháng đổi lấy một lượng việc) là hình thức hợp đồng agency ưa thích vì dòng tiền đều. Rủi ro của nó nằm ở chỗ phí cố định còn giờ thì không.
Khách Hà Anh ký retainer 15 triệu một tháng cho 20 giờ việc, tức 750.000 đồng một giờ, cao hơn giá sàn 461.835 đồng của nhân sự cấp trung trong bộ mẫu. Trên giấy, đây là hợp đồng tốt. Tháng vừa rồi đội bỏ vào khách này 45 giờ của nhân sự cấp trung: chi phí nhân công 13,0 triệu, cộng 20% gián tiếp 2,6 triệu, tổng 15,6 triệu. Hợp đồng 15 triệu, tháng đó lỗ 0,6 triệu. Đơn giá thực nhận, tức phí chia cho giờ thực, còn 333.333 đồng một giờ, thấp hơn giá sàn (*).
Ba con số phải theo dõi mỗi tháng cho từng retainer là giờ cam kết, giờ thực và đơn giá thực nhận. Khi đơn giá thực nhận xuống dưới giá sàn ba tháng liên tiếp, có ba lối ra: đàm phán lại phí, siết phạm vi về đúng số giờ cam kết, hoặc dừng. Cả ba đều cần dữ liệu giờ, vì đó là thứ duy nhất khách không cãi được. Khái niệm giá sàn theo giờ và cách tính nó nằm ở bài cách tính giá dự án phần mềm, áp cho agency không cần đổi gì. Cách thiết kế retainer để giờ không phình sẽ có bài riêng.
Agency dùng freelancer nhiều hơn công ty phần mềm, và cách ghi chi phí này hay sai ở ba chỗ. Ghi vào chi phí chung của công ty thay vì vào job, nên job trông lãi hơn thật. Ghi khi có hóa đơn thay vì khi ký, nên tháng ký thì job lãi, tháng hóa đơn về thì job lỗ. Không có bước nghiệm thu, nên không biết việc đã xong chưa và có phải trả đủ không.
Cách làm gọn: mỗi đơn đặt việc với freelancer có mã khách và mã job, hai cột cam kết và thực chi. Phần chênh giữa hai cột là cam kết còn mở (khoản đã ký, chắc chắn phải trả, chưa có hóa đơn), hiện thành một dòng riêng trong báo cáo lãi lỗ để người đọc biết biên đang hiện chưa phải biên cuối. Khái niệm này và cột tương ứng có sẵn trong mẫu Excel tính lãi lỗ từng dự án. Quy trình từ đặt việc tới nghiệm thu và chứng từ cần có để chi phí được chấp nhận sẽ có bài riêng, phần đó cần người rành thuế rà.
Với công ty phần mềm, đơn vị ra quyết định thường là dự án. Với agency, một khách có một retainer, ba job lẻ trong quý và vài chục yêu cầu nhỏ không thuộc job nào. Quyết định tăng giá, siết phạm vi hay dừng phục vụ nằm ở cấp khách, nên bảng lãi lỗ phải gom được lên cấp đó.
Cách gom gồm ba phép cộng. Cộng doanh thu thuần của mọi job và retainer của khách. Cộng toàn bộ giờ gắn khách, gồm cả giờ hỗ trợ ngoài hợp đồng mà không job nào nhận. Cộng mọi khoản mua ngoài gắn khách. Phép cộng thứ hai hay cho ra số bất ngờ, vì giờ hỗ trợ ngoài hợp đồng thường rơi vào đúng những khách “dễ thương” nhưng nhiều yêu cầu.
Bộ mẫu lãi lỗ của CostDesk có sẵn bảng gom này. Công ty Bình Minh có hai dự án, doanh thu 1 tỷ, biên lũy kế âm 57,9 triệu, tức âm 5,8%, sau khi cộng 60 giờ hỗ trợ ngoài hợp đồng. Nhà bán lẻ An Phát có một dự án, doanh thu 480 triệu, biên 83,1 triệu, tức 17,3%. Khách lớn nhất theo doanh thu là khách âm biên, và không bảng nào theo job chỉ ra được điều đó, vì từng job của Bình Minh nhìn riêng vẫn tạm ổn (*).
Dấu hiệu nhận biết sớm một khách đang lỗ ngầm, trước khi bảng gom ra số, sẽ có bài riêng.
Bài báo cáo lãi lỗ từng dự án dựng báo cáo theo ba tầng: biên gộp, biên sau phân bổ chi phí gián tiếp, biên sau bảo hành. Agency dùng nguyên cấu trúc với hai điều chỉnh.
Thứ nhất, dòng doanh thu là doanh thu thuần, media buy đứng ngoài. Thứ hai, tầng ba với agency ít khi là bảo hành, vì job sáng tạo hiếm có lỗi phải sửa sau bàn giao, nhưng nhiều việc lặt vặt sau khi job đóng: đổi kích thước, xuất thêm định dạng, sửa một dòng chữ. Tầng ba của agency nên gọi là biên sau giờ hỗ trợ ngoài hợp đồng.
| Tầng | Khách Minh Long (triệu đồng) | Câu hỏi tầng này trả lời |
|---|---|---|
| Doanh thu thuần | 100,0 | |
| Tầng 1, biên gộp | 28,0 | Phí có bù được người làm và mua ngoài không |
| Tầng 2, sau gián tiếp | 17,6 | Khách có gánh nổi phần công ty không |
| Tầng 3, sau giờ hỗ trợ ngoài hợp đồng | Tự điền | Sau những việc lặt vặt tháng sau, còn gì không |
Tầng ba để trống có chủ ý. Con số đó chỉ có khi giờ hỗ trợ được chấm và gắn khách, và nó cho biết một khách có tầng hai đẹp còn giữ được biên sau khi cộng việc lặt vặt hay không (*).
Bốn dấu hiệu này kiểm được trong một buổi, không cần dựng xong toàn bộ hệ thống.
Một chỉ số nữa hay được đem ra so trong giới là doanh thu trên đầu người. Phần hai của loạt phỏng vấn trên lưu ý con số đó phải tính trên doanh thu sau khi trừ nhà cung cấp, không tính trên billing, và cùng chỗ đó nhắc agency đầu tư vào hệ thống theo dõi thời gian phục vụ từng dự án và biên gộp từng dự án, tức bảng chấm công theo khách và bảng lãi lỗ ở trên.
Agency dưới khoảng mười khách hoạt động, một người chốt số mỗi tháng, dùng Excel được. Bộ ba file của CostDesk đủ cho việc đó: bảng chấm công với mã dự án đặt theo khách và job, bảng cost rate cho từng nhân sự, và bảng lãi lỗ có sẵn ba tầng biên, cột cam kết còn mở và bảng gom theo khách. Giới hạn của cách này nằm ở bài quản lý chi phí dự án bằng Excel.
Chỗ vỡ đầu tiên ở agency thường là bảng chấm công, vì một người ghi năm khách theo đơn vị 15 phút thì bảng tay chỉ sống được vài tuần. Chỗ vỡ thứ hai là bảng gom theo khách, khi giờ, cost rate và mua ngoài nằm ở ba file do ba người giữ. CostDesk được dựng để ba dòng dữ liệu đó nằm cùng một chỗ, giờ ghi trong ngày theo khách và job, và bảng lãi lỗ theo khách tự cập nhật, để câu hỏi “khách nào đang nuôi công ty” trả lời được trước buổi họp đầu tháng.
Khung tổng thể của job costing cho công ty dịch vụ nằm ở bài quản lý chi phí dự án cho công ty phần mềm; bài này là biến thể cho agency. Giá sàn theo giờ, thứ dùng để so với đơn giá thực nhận của retainer, được dựng ở bài cách tính giá dự án phần mềm. Ba tầng biên và bảng gom theo khách ở bài báo cáo lãi lỗ từng dự án. Đội sáng tạo bận rộn mà công ty không lãi thì đọc utilization rate. File để dựng ngay là bảng chấm công, bảng cost rate và bảng lãi lỗ.
Media buy có tính vào doanh thu agency không?
Trong báo cáo quản trị để ra quyết định thì không. Media buy là tiền agency giữ hộ khách để chuyển cho nền tảng, để một dòng riêng ngoài bảng lãi lỗ. Cách ghi trên sổ kế toán theo chuẩn mực là chuyện khác, cần người rành kế toán trả lời.
Phí quản lý media theo tỷ lệ tính là doanh thu gì?
Là doanh thu thuần. Đó là phần agency thật sự được hưởng cho việc quản lý chiến dịch, tính biên trên phần đó.
Agency nhỏ có cần chấm công theo khách không?
Từ hai khách trở lên chạy song song là đã cần, vì lúc đó không còn cách nào khác để biết mỗi khách tốn bao nhiêu giờ.
Chấm công theo 15 phút có làm phiền đội sáng tạo không?
Có, trong hai tuần đầu. Cách giảm phiền là ghi trong ngày thay vì cuối tuần, dùng danh sách khách và job có sẵn để chọn thay vì gõ, và cho đội thấy con số được dùng để đàm phán lại với khách khó, tức để bảo vệ chính họ.
Retainer vượt giờ thì xử lý thế nào?
Theo dõi đơn giá thực nhận mỗi tháng. Vượt một tháng thì ghi nhận. Vượt ba tháng liên tiếp và đơn giá thực nhận dưới giá sàn thì đàm phán lại phí, siết phạm vi, hoặc dừng, với dữ liệu giờ làm căn cứ.
Giờ trả lời tin nhắn khách có tính không?
Có, ghi cho khách đó. Mỗi lần 15 phút, cộng lại thành ngày công, và thường rơi vào đúng khách đang lỗ ngầm.
Freelancer ghi chi phí lúc ký hay lúc có hóa đơn?
Ghi cam kết lúc ký, ghi thực chi lúc có hóa đơn, hai cột riêng. Phần chênh là cam kết còn mở, hiện trong báo cáo để biên không trông đẹp hơn thật.
Lãi lỗ theo khách khác lãi lỗ theo job chỗ nào?
Theo job chỉ thấy từng việc. Theo khách cộng mọi job, retainer và giờ hỗ trợ không thuộc job nào của cùng khách. Khách có từng job ổn vẫn có thể âm biên khi cộng đủ giờ hỗ trợ.
Khách lỗ thì nên dừng hay tăng giá?
Tăng giá hoặc siết phạm vi trước, dừng sau. Bảng lãi lỗ theo khách cho biết cần tăng bao nhiêu để về giá sàn, và dữ liệu giờ là căn cứ để nói chuyện. Dừng là lựa chọn khi khách không chấp nhận cả hai.
Ba tầng biên với agency có cần tầng bảo hành không?
Đổi tên tầng ba thành biên sau giờ hỗ trợ ngoài hợp đồng. Agency ít bảo hành theo nghĩa sửa lỗi, nhưng nhiều việc lặt vặt sau khi job đóng, và những việc đó là giờ công thật.
Cost rate của agency tính có khác công ty phần mềm không?
Công thức giống nhau: tổng chi phí sở hữu một nhân sự chia cho giờ bán được trong năm. Khác ở tỷ lệ giờ không tính phí, thường cao hơn ở agency vì presales, pitch và họp nội bộ nhiều hơn, nên cost rate trên giờ bán được cao hơn so với cùng mức lương.
Nên dựng bằng Excel hay phần mềm?
Excel khi dưới khoảng mười khách hoạt động và một người chốt số. Phần mềm khi bảng chấm công theo 15 phút của nhiều người không còn ghép tay được, và khi giờ, cost rate, mua ngoài cần nằm cùng một chỗ để bảng theo khách tự cập nhật.
Để tự kiểm tra, hãy lấy khách lớn nhất của bạn tháng vừa rồi: bỏ media buy ra khỏi doanh thu, cộng đủ giờ của mọi người đã chạm vào khách đó kể cả 15 phút trả lời tin nhắn, rồi tính lại biên. Nếu bạn không cộng được giờ, đó là chỗ để bắt đầu, và nếu cộng được mà biên đổi dấu, bạn vừa tìm ra khách đang ăn vào công ty.
(*) Tình huống giả định để minh họa